All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: XMLTester::setTestOutputValidity
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTestOutputValidity(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: XMLTester::setTestInputValidity
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTestInputValidity(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: XMLTester::setSQLOutput
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSQLOutput(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: XMLTester::setHEXWKBOutput
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHEXWKBOutput(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: XMLTester::isVerbose
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isVerbose()
  - 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: XMLTester::isTestValidOutput
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTestValidOutput()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: XMLTester::isPrepared
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPrepared()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/xmltester/XMLTester.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: XMLTester::getFactory
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: geom::GeometryFactory
    signature: geom::GeometryFactory * getFactory()
  - 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: XMLTester::getFailuresCount
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getFailuresCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isTestValidOutput
      Src: /src/geos/tests/xmltester/XMLTester.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' xmlTester'
    argTypes:
    - XMLTester
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: Test::Test
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.h
    functionUses: 0
    functionsReached:
    - isTestValidOutput
    linkageType: ''
    returnType: void
    signature: void Test(XMLTester& xmlTester)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: prepare
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - prepare
    linkageType: ''
    returnType: std::unique_ptr<const PreparedGeometry>
    signature: std::unique_ptr<const PreparedGeometry> prepare(const geom::Geometry*
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/xmltester/XMLTester.cpp:117,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/XMLTester.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - numIndents
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: getIndent
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - static_cast<unsigned int>
    linkageType: ''
    returnType: char
    signature: 'char *

      getIndent(unsigned int numIndents)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: prepare
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 2
    functionsReached:
    - prepare
    linkageType: ''
    returnType: std::unique_ptr<const PreparedGeometry>
    signature: std::unique_ptr<const PreparedGeometry> prepare(const geom::Geometry*
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/xmltester/XMLTester.cpp:117,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/XMLTester.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - numIndents
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: getIndent
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - static_cast<unsigned int>
    linkageType: ''
    returnType: char
    signature: 'char *

      getIndent(unsigned int numIndents)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/geos/tests/xmltester/XMLTester.cpp:144,1
    - Dst: begin
      Src: /src/geos/tests/xmltester/XMLTester.cpp:145,1
    - Dst: end
      Src: /src/geos/tests/xmltester/XMLTester.cpp:146,1
    - Dst: begin
      Src: /src/geos/tests/xmltester/XMLTester.cpp:147,1
    - Dst: tolower
      Src: /src/geos/tests/xmltester/XMLTester.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: tolower
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - tolower
    - end
    - begin
    - std::transform
    linkageType: ''
    returnType: void
    signature: void tolower(std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/geos/tests/xmltester/XMLTester.cpp:154,1
    - Dst: begin
      Src: /src/geos/tests/xmltester/XMLTester.cpp:154,1
    - Dst: end
      Src: /src/geos/tests/xmltester/XMLTester.cpp:154,1
    - Dst: begin
      Src: /src/geos/tests/xmltester/XMLTester.cpp:154,1
    - Dst: toupper
      Src: /src/geos/tests/xmltester/XMLTester.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: toupper
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - toupper
    - end
    - begin
    - std::transform
    linkageType: ''
    returnType: void
    signature: void toupper(std::string& s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tests/xmltester/XMLTester.cpp:163,1
    - Dst: substr
      Src: /src/geos/tests/xmltester/XMLTester.cpp:165,1
    - Dst: std::string::find_last_not_of
      Src: /src/geos/tests/xmltester/XMLTester.cpp:167,1
    - Dst: std::string::substr
      Src: /src/geos/tests/xmltester/XMLTester.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: trimBlanks
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - substr
    - std::string::substr
    - find_first_not_of
    - std::string::find_last_not_of
    linkageType: ''
    returnType: std::string
    signature: std::string trimBlanks(const std::string& in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/geos/tests/xmltester/XMLTester.cpp:179,1
    - Dst: size
      Src: /src/geos/tests/xmltester/XMLTester.cpp:179,1
    - Dst: substr
      Src: /src/geos/tests/xmltester/XMLTester.cpp:184,1
    - Dst: std::string::begin
      Src: /src/geos/tests/xmltester/XMLTester.cpp:187,1
    - Dst: std::string::end
      Src: /src/geos/tests/xmltester/XMLTester.cpp:187,1
    - Dst: tolower
      Src: /src/geos/tests/xmltester/XMLTester.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: normalize_filename
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - size
    - find_last_of
    - std::string::end
    - tolower
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string normalize_filename(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLTester::setVerbosityLevel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: XMLTester::XMLTester
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - XMLTester::setVerbosityLevel
    linkageType: ''
    returnType: void
    signature: void XMLTester::XMLTester()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: XMLTester::setVerbosityLevel
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XMLTester::setVerbosityLevel(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: XMLTester::testcaseRef
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string XMLTester::testcaseRef()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: normalize_filename
      Src: /src/geos/tests/xmltester/XMLTester.cpp:248,1
    - Dst: XMLTester::printGeom
      Src: /src/geos/tests/xmltester/XMLTester.cpp:257,1
    - Dst: XMLTester::printGeom
      Src: /src/geos/tests/xmltester/XMLTester.cpp:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - success
    - ' expected_result'
    - ' actual_result'
    argTypes:
    - bool
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: XMLTester::printTestSQL
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - normalize_filename
    - XMLTester::printGeom
    linkageType: ''
    returnType: void
    signature: void XMLTester::printTestSQL(bool success, const std::string& expected_result,
      const std::string& actual_result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XMLTester::printTestSQL
      Src: /src/geos/tests/xmltester/XMLTester.cpp:284,1
    - Dst: XMLTester::testcaseRef
      Src: /src/geos/tests/xmltester/XMLTester.cpp:291,1
    - Dst: XMLTester::printGeom
      Src: /src/geos/tests/xmltester/XMLTester.cpp:299,1
    - Dst: XMLTester::printGeom
      Src: /src/geos/tests/xmltester/XMLTester.cpp:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - success
    - ' op'
    - ' expected_result'
    - ' actual_result'
    argTypes:
    - bool
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 308
    functionName: XMLTester::printTest
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - XMLTester::printTestSQL
    - XMLTester::testcaseRef
    - XMLTester::printGeom
    linkageType: ''
    returnType: void
    signature: void XMLTester::printTest(bool success, const std::string& op, const
      std::string& expected_result, const std::string& actual_result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: normalize_filename
      Src: /src/geos/tests/xmltester/XMLTester.cpp:316,1
    - Dst: LoadFile
      Src: /src/geos/tests/xmltester/XMLTester.cpp:335,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:335,1
    - Dst: ~XMLDocument
      Src: /src/geos/tests/xmltester/XMLTester.cpp:339,1
    - Dst: runtime_error
      Src: /src/geos/tests/xmltester/XMLTester.cpp:340,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:340,1
    - Dst: FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:345,1
    - Dst: runtime_error
      Src: /src/geos/tests/xmltester/XMLTester.cpp:348,1
    - Dst: XMLTester::parseRun
      Src: /src/geos/tests/xmltester/XMLTester.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' source'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 352
    functionName: XMLTester::run
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - LoadFile
    - std::stringstream::str
    - ~XMLDocument
    - runtime_error
    - normalize_filename
    - XMLTester::parseRun
    - c_str
    - FirstChildElement
    linkageType: ''
    returnType: void
    signature: void XMLTester::run(const std::string& source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: XMLTester::resultSummary
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLTester::resultSummary(std::ostream& os) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: XMLTester::resetCounters
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLTester::resetCounters()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/xmltester/XMLTester.cpp:374,1
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:379,1
    - Dst: XMLTester::parsePrecisionModel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:381,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:384,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:384,1
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:389,1
    - Dst: tinyxml2::XMLElement*::FirstChild
      Src: /src/geos/tests/xmltester/XMLTester.cpp:391,1
    - Dst: trimBlanks
      Src: /src/geos/tests/xmltester/XMLTester.cpp:393,1
    - Dst: tinyxml2::XMLNode*::Value
      Src: /src/geos/tests/xmltester/XMLTester.cpp:393,1
    - Dst: std::string::find
      Src: /src/geos/tests/xmltester/XMLTester.cpp:394,1
    - Dst: toString
      Src: /src/geos/tests/xmltester/XMLTester.cpp:406,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/xmltester/XMLTester.cpp:414,1
    - Dst: get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:414,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:415,1
    - Dst: get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:415,1
    - Dst: io::WKTReader::WKTReader
      Src: /src/geos/tests/xmltester/XMLTester.cpp:415,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:416,1
    - Dst: io::WKTWriter::WKTWriter
      Src: /src/geos/tests/xmltester/XMLTester.cpp:416,1
    - Dst: setTrim
      Src: /src/geos/tests/xmltester/XMLTester.cpp:417,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:418,1
    - Dst: io::WKBReader::WKBReader
      Src: /src/geos/tests/xmltester/XMLTester.cpp:418,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:419,1
    - Dst: io::WKBWriter::WKBWriter
      Src: /src/geos/tests/xmltester/XMLTester.cpp:419,1
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:422,1
    - Dst: tinyxml2::XMLNode*::NextSiblingElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:424,1
    - Dst: XMLTester::parseCase
      Src: /src/geos/tests/xmltester/XMLTester.cpp:426,1
    - Dst: what
      Src: /src/geos/tests/xmltester/XMLTester.cpp:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - node
    argTypes:
    - tinyxml2::XMLNode*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/geos/tests/xmltester/XMLTester.cpp
    constantsTouched: []
    func_position:
      end: 433
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 433
    functionName: XMLTester::parseRun
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - XMLTester::parseCase
    - tinyxml2::XMLElement*::FirstChild
    - toString
    - reset
    - assert
    - setTrim
    - geos::geom::GeometryFactory::create
    - io::WKTWriter::WKTWriter
    - io::WKBReader::WKBReader
    - trimBlanks
    - tinyxml2::XMLNode*::FirstChildElement
    - what
    - io::WKBWriter::WKBWriter
    - tinyxml2::XMLNode*::NextSiblingElement
    - std::string::find
    - io::WKTReader::WKTReader
    - PrecisionModel::PrecisionModel
    - tinyxml2::XMLNode*::Value
    - get
    - XMLTester::parsePrecisionModel
    linkageType: ''
    returnType: void
    signature: void XMLTester::parseRun(const tinyxml2::XMLNode* node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement*::Attribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:444,1
    - Dst: tinyxml2::XMLElement*::Attribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:449,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:453,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:453,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:456,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:456,1
    - Dst: std::strtod
      Src: /src/geos/tests/xmltester/XMLTester.cpp:463,1
    - Dst: tinyxml2::XMLElement*::QueryDoubleAttribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:467,1
    - Dst: tinyxml2::XMLElement*::QueryDoubleAttribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:470,1
    - Dst: reset
      Src: /src/geos/tests/xmltester/XMLTester.cpp:474,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - el
    argTypes:
    - tinyxml2::XMLElement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 476
    functionName: XMLTester::parsePrecisionModel
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLElement*::Attribute
    - tinyxml2::XMLElement*::QueryDoubleAttribute
    - PrecisionModel::PrecisionModel
    - std::strtod
    - reset
    linkageType: ''
    returnType: void
    signature: void XMLTester::parsePrecisionModel(const tinyxml2::XMLElement* el)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: operation::valid::IsValidOp::isValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:482,1
    - Dst: operation::valid::IsValidOp::getValidationError
      Src: /src/geos/tests/xmltester/XMLTester.cpp:484,1
    - Dst: TopologyValidationError*::toString
      Src: /src/geos/tests/xmltester/XMLTester.cpp:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - g
    - ' label'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: XMLTester::testValid
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - operation::valid::IsValidOp::isValid
    - TopologyValidationError*::toString
    - operation::valid::IsValidOp::getValidationError
    linkageType: ''
    returnType: bool
    signature: bool XMLTester::testValid(const geom::Geometry* g, const std::string&
      label)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:500,1
    - Dst: get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:500,1
    - Dst: runtime_error
      Src: /src/geos/tests/xmltester/XMLTester.cpp:501,1
    - Dst: std::stringstream::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:508,1
    - Dst: std::isspace
      Src: /src/geos/tests/xmltester/XMLTester.cpp:508,1
    - Dst: std::stringstream::unget
      Src: /src/geos/tests/xmltester/XMLTester.cpp:509,1
    - Dst: readHEX
      Src: /src/geos/tests/xmltester/XMLTester.cpp:530,1
    - Dst: read
      Src: /src/geos/tests/xmltester/XMLTester.cpp:533,1
    - Dst: XMLTester::testValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:538,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:538,1
    - Dst: string
      Src: /src/geos/tests/xmltester/XMLTester.cpp:538,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/tests/xmltester/XMLTester.cpp:543,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ' in'
    - label
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 544
    functionName: XMLTester::parseGeometry
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - read
    - std::isspace
    - readHEX
    - runtime_error
    - XMLTester::testValid
    - string
    - std::stringstream::get
    - get
    - std::unique_ptr::release
    - std::stringstream::unget
    linkageType: ''
    returnType: geom::Geometry
    signature: 'geom::Geometry *

      XMLTester::parseGeometry(const std::string& in, const char* label)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/xmltester/XMLTester.cpp:549,1
    - Dst: clear
      Src: /src/geos/tests/xmltester/XMLTester.cpp:558,1
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:559,1
    - Dst: tinyxml2::XMLNode*::FirstChild
      Src: /src/geos/tests/xmltester/XMLTester.cpp:561,1
    - Dst: trimBlanks
      Src: /src/geos/tests/xmltester/XMLTester.cpp:563,1
    - Dst: tinyxml2::XMLNode*::Value
      Src: /src/geos/tests/xmltester/XMLTester.cpp:563,1
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:567,1
    - Dst: tinyxml2::XMLNode*::FirstChild
      Src: /src/geos/tests/xmltester/XMLTester.cpp:568,1
    - Dst: trimBlanks
      Src: /src/geos/tests/xmltester/XMLTester.cpp:569,1
    - Dst: XMLTester::parseGeometry
      Src: /src/geos/tests/xmltester/XMLTester.cpp:570,1
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:572,1
    - Dst: tinyxml2::XMLNode*::FirstChild
      Src: /src/geos/tests/xmltester/XMLTester.cpp:573,1
    - Dst: trimBlanks
      Src: /src/geos/tests/xmltester/XMLTester.cpp:574,1
    - Dst: XMLTester::parseGeometry
      Src: /src/geos/tests/xmltester/XMLTester.cpp:575,1
    - Dst: what
      Src: /src/geos/tests/xmltester/XMLTester.cpp:579,1
    - Dst: tinyxml2::XMLNode*::GetLineNum
      Src: /src/geos/tests/xmltester/XMLTester.cpp:591,1
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:602,1
    - Dst: tinyxml2::XMLNode*::NextSiblingElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:604,1
    - Dst: XMLTester::runTest
      Src: /src/geos/tests/xmltester/XMLTester.cpp:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - node
    argTypes:
    - tinyxml2::XMLNode*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/geos/tests/xmltester/XMLTester.cpp
    constantsTouched: []
    func_position:
      end: 612
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 612
    functionName: XMLTester::parseCase
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - what
    - XMLTester::runTest
    - tinyxml2::XMLNode*::FirstChildElement
    - tinyxml2::XMLNode*::NextSiblingElement
    - tinyxml2::XMLNode*::FirstChild
    - clear
    - tinyxml2::XMLNode*::Value
    - XMLTester::parseGeometry
    - trimBlanks
    - assert
    - tinyxml2::XMLNode*::GetLineNum
    linkageType: ''
    returnType: void
    signature: void XMLTester::parseCase(const tinyxml2::XMLNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/xmltester/XMLTester.cpp:619,1
    - Dst: printHEX
      Src: /src/geos/tests/xmltester/XMLTester.cpp:621,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:622,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/xmltester/XMLTester.cpp:625,1
    - Dst: write
      Src: /src/geos/tests/xmltester/XMLTester.cpp:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: XMLTester::printGeom
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 2
    functionsReached:
    - printHEX
    - setRoundingPrecision
    - std::stringstream::str
    - write
    linkageType: ''
    returnType: std::string
    signature: std::string XMLTester::printGeom(const geom::Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode*::GetLineNum
      Src: /src/geos/tests/xmltester/XMLTester.cpp:635,1
    - Dst: Test::run
      Src: /src/geos/tests/xmltester/XMLTester.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - tinyxml2::XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 645
    functionName: XMLTester::runTest
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - Test::run
    - tinyxml2::XMLNode*::GetLineNum
    linkageType: ''
    returnType: void
    signature: void XMLTester::runTest(const tinyxml2::XMLNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::equals
      Src: /src/geos/tests/xmltester/XMLTester.cpp:650,1
    - Dst: geom::Geometry*::equals
      Src: /src/geos/tests/xmltester/XMLTester.cpp:650,1
    - Dst: geom::Geometry*::disjoint
      Src: /src/geos/tests/xmltester/XMLTester.cpp:652,1
    - Dst: geom::Geometry*::disjoint
      Src: /src/geos/tests/xmltester/XMLTester.cpp:652,1
    - Dst: geom::Geometry*::intersects
      Src: /src/geos/tests/xmltester/XMLTester.cpp:654,1
    - Dst: geom::Geometry*::intersects
      Src: /src/geos/tests/xmltester/XMLTester.cpp:654,1
    - Dst: geom::Geometry*::touches
      Src: /src/geos/tests/xmltester/XMLTester.cpp:656,1
    - Dst: geom::Geometry*::touches
      Src: /src/geos/tests/xmltester/XMLTester.cpp:656,1
    - Dst: geom::Geometry*::crosses
      Src: /src/geos/tests/xmltester/XMLTester.cpp:658,1
    - Dst: geom::Geometry*::crosses
      Src: /src/geos/tests/xmltester/XMLTester.cpp:658,1
    - Dst: geom::Geometry*::within
      Src: /src/geos/tests/xmltester/XMLTester.cpp:660,1
    - Dst: geom::Geometry*::within
      Src: /src/geos/tests/xmltester/XMLTester.cpp:660,1
    - Dst: geom::Geometry*::contains
      Src: /src/geos/tests/xmltester/XMLTester.cpp:662,1
    - Dst: geom::Geometry*::contains
      Src: /src/geos/tests/xmltester/XMLTester.cpp:662,1
    - Dst: geom::Geometry*::overlaps
      Src: /src/geos/tests/xmltester/XMLTester.cpp:664,1
    - Dst: geom::Geometry*::overlaps
      Src: /src/geos/tests/xmltester/XMLTester.cpp:664,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:667,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:667,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:669,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:669,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:671,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:671,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:673,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:673,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:675,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:675,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:677,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:677,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:679,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - p_gA
    - p_gB
    argTypes:
    - geom::Geometry*
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 681
    functionName: XMLTester::runPredicates
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - geom::Geometry*::within
    - geom::Geometry*::touches
    - geom::Geometry*::intersects
    - geom::Geometry*::crosses
    - geom::Geometry*::overlaps
    - geom::Geometry*::equals
    - geom::Geometry*::contains
    - geom::Geometry*::disjoint
    linkageType: ''
    returnType: void
    signature: void XMLTester::runPredicates(const geom::Geometry* p_gA, const geom::Geometry*
      p_gB)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: XMLTester::~XMLTester()
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLTester::~XMLTester()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlay::snap::GeometrySnapper::computeSizeBasedSnapTolerance
      Src: /src/geos/tests/xmltester/XMLTester.cpp:692,1
    - Dst: equals
      Src: /src/geos/tests/xmltester/XMLTester.cpp:694,1
    - Dst: equalsExact
      Src: /src/geos/tests/xmltester/XMLTester.cpp:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' gExpected'
    - ' gActual'
    argTypes:
    - Geometry
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 703
    functionName: Test::checkOverlaySuccess
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlay::snap::GeometrySnapper::computeSizeBasedSnapTolerance
    - equals
    - equalsExact
    linkageType: ''
    returnType: bool
    signature: bool Test::checkOverlaySuccess(Geometry const& gExpected, Geometry
      const& gActual)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/xmltester/XMLTester.cpp:711,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/xmltester/XMLTester.cpp:711,1
    - Dst: getGeometryType
      Src: /src/geos/tests/xmltester/XMLTester.cpp:713,1
    - Dst: getGeometryType
      Src: /src/geos/tests/xmltester/XMLTester.cpp:715,1
    - Dst: getDimension
      Src: /src/geos/tests/xmltester/XMLTester.cpp:720,1
    - Dst: geos::xmltester::BufferResultMatcher::isBufferResultMatch
      Src: /src/geos/tests/xmltester/XMLTester.cpp:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' gExpected'
    - ' gActual'
    - dist
    argTypes:
    - Geometry
    - Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 732
    functionName: Test::checkBufferSuccess
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - geos::xmltester::BufferResultMatcher::isBufferResultMatch
    - getGeometryType
    - getGeometryTypeId
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Test::checkBufferSuccess(Geometry const& gExpected, Geometry const&
      gActual, double dist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/xmltester/XMLTester.cpp:739,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/xmltester/XMLTester.cpp:739,1
    - Dst: getGeometryType
      Src: /src/geos/tests/xmltester/XMLTester.cpp:741,1
    - Dst: getGeometryType
      Src: /src/geos/tests/xmltester/XMLTester.cpp:743,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBufferResultMatch
      Src: /src/geos/tests/xmltester/XMLTester.cpp:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' gExpected'
    - ' gActual'
    - dist
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 755
    functionName: Test::checkSingleSidedBufferSuccess
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - getGeometryTypeId
    - geos::xmltester::SingleSidedBufferResultMatcher::isBufferResultMatch
    linkageType: ''
    returnType: bool
    signature: "bool Test::checkSingleSidedBufferSuccess(geom::Geometry& gExpected,\n
      \                             geom::Geometry& gActual, double dist)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:768,1
    - Dst: geom::Geometry*::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:769,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/tests/xmltester/XMLTester.cpp:775,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Intersection
      Src: /src/geos/tests/xmltester/XMLTester.cpp:776,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:777,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:778,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::SymDifference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:779,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:781,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:782,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:783,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:784,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:785,1
    - Dst: std::abs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:795,1
    - Dst: std::abs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:801,1
    - Dst: std::abs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:807,1
    - Dst: std::abs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:813,1
    - Dst: std::abs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 5
    argNames:
    - a
    - b
    - ' rsltMaxDiffOp'
    - maxDiff
    - ' ss'
    argTypes:
    - geom::Geometry*
    - geom::Geometry*
    - std::string
    - double
    - std::stringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 845
    functionName: Test::areaDelta
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayNGRobust::SymDifference
    - geom::Geometry*::getArea
    - std::unique_ptr::getArea
    - geos::operation::overlayng::OverlayNGRobust::Intersection
    - std::abs
    - geos::operation::overlayng::OverlayNGRobust::Union
    - geos::operation::overlayng::OverlayNGRobust::Difference
    linkageType: ''
    returnType: double
    signature: double Test::areaDelta(const geom::Geometry* a, const geom::Geometry*
      b, std::string& rsltMaxDiffOp, double maxDiff, std::stringstream& ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:850,1
    - Dst: compareTo
      Src: /src/geos/tests/xmltester/XMLTester.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 855
    functionName: Test::checkResult
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - Test::checkResult
    - compareTo
    linkageType: ''
    returnType: void
    signature: void Test::checkResult( const Geometry& result )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseGeometry
      Src: /src/geos/tests/xmltester/XMLTester.cpp:862,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/xmltester/XMLTester.cpp:863,1
    - Dst: clone
      Src: /src/geos/tests/xmltester/XMLTester.cpp:865,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/xmltester/XMLTester.cpp:866,1
    - Dst: isMatch
      Src: /src/geos/tests/xmltester/XMLTester.cpp:868,1
    - Dst: testValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:871,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:871,1
    - Dst: printGeom
      Src: /src/geos/tests/xmltester/XMLTester.cpp:873,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' result'
    - isMatch
    argTypes:
    - Geometry
    - std::function<bool(Geometry& expected, Geometry& actual)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 874
    functionName: Test::checkResult
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - parseGeometry
    - std::unique_ptr::get
    - testValid
    - std::unique_ptr::normalize
    - isMatch
    - printGeom
    - clone
    linkageType: ''
    returnType: void
    signature: "void Test::checkResult( const Geometry& result, \n    std::function<bool(Geometry&
      expected, Geometry& actual)> isMatch )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:880,1
    - Dst: Test::checkOverlaySuccess
      Src: /src/geos/tests/xmltester/XMLTester.cpp:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 884
    functionName: Test::checkUnionResult
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - Test::checkOverlaySuccess
    - Test::checkResult
    linkageType: ''
    returnType: void
    signature: void Test::checkUnionResult( const Geometry& result )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 893
    functionName: Test::checkResult
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Test::checkResult( bool result )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::strtod
      Src: /src/geos/tests/xmltester/XMLTester.cpp:899,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:899,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:900,1
    - Dst: std::runtime_error
      Src: /src/geos/tests/xmltester/XMLTester.cpp:901,1
    - Dst: std::abs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:909,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - result
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 916
    functionName: Test::checkResult
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - std::runtime_error
    - std::strtod
    - c_str
    - std::abs
    linkageType: ''
    returnType: void
    signature: void Test::checkResult( double result)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode*::FirstChildElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:919,1
    - Dst: runtime_error
      Src: /src/geos/tests/xmltester/XMLTester.cpp:921,1
    - Dst: tinyxml2::XMLNode*::ToElement
      Src: /src/geos/tests/xmltester/XMLTester.cpp:926,1
    - Dst: tinyxml2::XMLElement*::Attribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:928,1
    - Dst: tinyxml2::XMLElement*::Attribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:933,1
    - Dst: toupper
      Src: /src/geos/tests/xmltester/XMLTester.cpp:936,1
    - Dst: tinyxml2::XMLElement*::Attribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:939,1
    - Dst: toupper
      Src: /src/geos/tests/xmltester/XMLTester.cpp:942,1
    - Dst: tinyxml2::XMLElement*::Attribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:945,1
    - Dst: tinyxml2::XMLElement*::Attribute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:950,1
    - Dst: tinyxml2::XMLNode*::FirstChild
      Src: /src/geos/tests/xmltester/XMLTester.cpp:955,1
    - Dst: testcaseRef
      Src: /src/geos/tests/xmltester/XMLTester.cpp:958,1
    - Dst: runtime_error
      Src: /src/geos/tests/xmltester/XMLTester.cpp:959,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:959,1
    - Dst: tinyxml2::XMLNode*::Value
      Src: /src/geos/tests/xmltester/XMLTester.cpp:961,1
    - Dst: trimBlanks
      Src: /src/geos/tests/xmltester/XMLTester.cpp:964,1
    - Dst: trimBlanks
      Src: /src/geos/tests/xmltester/XMLTester.cpp:965,1
    - Dst: tolower
      Src: /src/geos/tests/xmltester/XMLTester.cpp:966,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - node
    argTypes:
    - tinyxml2::XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 992
    functionName: Test::parse
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement*::Attribute
    - toupper
    - std::stringstream::str
    - tolower
    - runtime_error
    - tinyxml2::XMLNode*::FirstChild
    - tinyxml2::XMLNode*::Value
    - testcaseRef
    - tinyxml2::XMLNode*::ToElement
    - tinyxml2::XMLNode*::FirstChildElement
    - trimBlanks
    linkageType: ''
    returnType: void
    signature: void Test::parse(const tinyxml2::XMLNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/tests/xmltester/XMLTester.cpp:996,1
    - Dst: Test::execute
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1004,1
    - Dst: printTest
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - node
    - geomA
    - geomB
    argTypes:
    - tinyxml2::XMLNode*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1007
    functionName: Test::run
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - Test::execute
    - printTest
    - Test::parse
    linkageType: ''
    returnType: bool
    signature: bool Test::run(const tinyxml2::XMLNode* node, Geometry* geomA, Geometry*
      geomB)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::executeOp
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1012,1
    - Dst: testcaseRef
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1020,1
    - Dst: what
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1020,1
    - Dst: what
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1022,1
    - Dst: testcaseRef
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - geomA
    - geomB
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1031
    functionName: Test::execute
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - what
    - testcaseRef
    - Test::executeOp
    linkageType: ''
    returnType: void
    signature: void Test::execute(Geometry* geomA, Geometry* geomB)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::relate
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1036,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1037,1
    - Dst: std::unique_ptr::matches
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1037,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1040,1
    - Dst: Geometry*::isValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1040,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1045,1
    - Dst: Geometry*::intersection
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1045,1
    - Dst: Test::checkUnionResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1050,1
    - Dst: Geometry*::Union
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1050,1
    - Dst: Test::checkUnionResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1053,1
    - Dst: Geometry*::Union
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1053,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1057,1
    - Dst: Geometry*::difference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1057,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1060,1
    - Dst: Geometry*::symDifference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1060,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1065,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1065,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1068,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1069,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1077,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1077,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1079,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1083,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1083,1
    - Dst: geos::operation::overlayng::UnaryUnionNG::Union
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1087,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1089,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1094,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1094,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1097,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1098,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1103,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1103,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1106,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1107,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1110,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1110,1
    - Dst: geom::util::Densifier::setDistanceTolerance
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1112,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1113,1
    - Dst: geom::util::Densifier::getResultGeometry
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1113,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1116,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1116,1
    - Dst: Geometry*::intersects
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1116,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1117,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1120,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1120,1
    - Dst: Geometry*::contains
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1120,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1121,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1124,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1124,1
    - Dst: Geometry*::overlaps
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1124,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1125,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1128,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1128,1
    - Dst: Geometry*::within
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1128,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1129,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1132,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1132,1
    - Dst: Geometry*::touches
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1132,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1133,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1136,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1136,1
    - Dst: Geometry*::crosses
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1136,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1137,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1140,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1140,1
    - Dst: Geometry*::disjoint
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1140,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1141,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1144,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1144,1
    - Dst: Geometry*::covers
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1144,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1145,1
    - Dst: isPrepared
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1148,1
    - Dst: prepare
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1148,1
    - Dst: Geometry*::coveredBy
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1148,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1149,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1153,1
    - Dst: Geometry*::equals
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1153,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1156,1
    - Dst: Geometry*::equalsExact
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1156,1
    - Dst: Geometry*::normalize
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1162,1
    - Dst: Geometry*::normalize
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1163,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1164,1
    - Dst: Geometry*::equalsExact
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1164,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1167,1
    - Dst: Geometry*::getBoundary
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1167,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1170,1
    - Dst: Geometry*::getCentroid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1170,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1173,1
    - Dst: Geometry*::isSimple
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1173,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1176,1
    - Dst: Geometry*::convexHull
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1176,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1179,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1179,1
    - Dst: operation::buffer::BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1183,1
    - Dst: std::atoi
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1183,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1183,1
    - Dst: operation::buffer::BufferOp::getResultGeometry
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1186,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1187,1
    - Dst: Test::checkBufferSuccess
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1189,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1193,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1193,1
    - Dst: operation::buffer::BufferParameters::setJoinStyle
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1196,1
    - Dst: operation::buffer::BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1198,1
    - Dst: std::atoi
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1198,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1198,1
    - Dst: operation::buffer::BufferOp::getResultGeometry
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1201,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1203,1
    - Dst: Test::checkBufferSuccess
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1205,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1209,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1209,1
    - Dst: operation::buffer::BufferParameters::setJoinStyle
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1212,1
    - Dst: operation::buffer::BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1214,1
    - Dst: std::atoi
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1214,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1214,1
    - Dst: operation::buffer::BufferBuilder::bufferLineSingleSided
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1221,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1222,1
    - Dst: Test::checkSingleSidedBufferSuccess
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1224,1
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1229,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1230,1
    - Dst: getFactory
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1231,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1233,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1236,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1236,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1237,1
    - Dst: Geometry*::isWithinDistance
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1237,1
    - Dst: Polygonizer::add
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1241,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1242,1
    - Dst: getFactory
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1243,1
    - Dst: std::move
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1243,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1244,1
    - Dst: LineMerger::add
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1248,1
    - Dst: LineMerger::getMergedLineStrings
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1249,1
    - Dst: getFactory
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1250,1
    - Dst: std::move
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1250,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1251,1
    - Dst: Test::areaDelta
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1257,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1261,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1263,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1266,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1266,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1269,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1269,1
    - Dst: std::strtod
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1273,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1273,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1276,1
    - Dst: std::runtime_error
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1277,1
    - Dst: Geometry*::intersection
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1280,1
    - Dst: testValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1282,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1282,1
    - Dst: Geometry*::difference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1285,1
    - Dst: testValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1287,1
    - Dst: Geometry*::difference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1290,1
    - Dst: testValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1292,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1292,1
    - Dst: Geometry*::symDifference
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1295,1
    - Dst: testValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1297,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1297,1
    - Dst: Geometry*::Union
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1300,1
    - Dst: Geometry*::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1302,1
    - Dst: Geometry*::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1303,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1304,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1305,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1306,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1307,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1308,1
    - Dst: std::fabs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1319,1
    - Dst: std::fabs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1326,1
    - Dst: std::fabs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1333,1
    - Dst: std::fabs
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1340,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1352,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1355,1
    - Dst: Geometry*::distance
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1355,1
    - Dst: precision::MinimumClearance::getDistance
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1359,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1364,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1369,1
    - Dst: precision::MinimumClearance::getLine
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1369,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1373,1
    - Dst: BuildArea
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1373,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1377,1
    - Dst: geos::operation::valid::MakeValid
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1377,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1381,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1381,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1382,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1382,1
    - Dst: std::atof
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1386,1
    - Dst: c_str
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1386,1
    - Dst: Test::checkResult
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1387,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1387,1
    - Dst: testcaseRef
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1391,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 235
    argCount: 2
    argNames:
    - gA
    - gB
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1033
    functionDepth: 3
    functionLinenumber: 1033
    functionLinenumberEnd: 1394
    functionName: Test::executeOp
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::disjoint
    - getFactory
    - prepare
    - std::atof
    - std::runtime_error
    - Geometry*::distance
    - geos::operation::valid::MakeValid
    - operation::buffer::BufferParameters::setQuadrantSegments
    - Test::checkUnionResult
    - geom::util::Densifier::setDistanceTolerance
    - Geometry*::covers
    - Geometry*::intersects
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - operation::buffer::BufferOp::getResultGeometry
    - Test::checkBufferSuccess
    - geos::operation::overlayng::UnaryUnionNG::Union
    - Geometry*::isWithinDistance
    - Polygonizer::add
    - Geometry*::difference
    - LineMerger::add
    - geos::simplify::DouglasPeuckerSimplifier::simplify
    - Geometry*::isSimple
    - precision::MinimumClearance::getLine
    - Polygonizer::getPolygons
    - LineMerger::getMergedLineStrings
    - Geometry*::Union
    - operation::buffer::BufferBuilder::bufferLineSingleSided
    - Test::checkResult
    - Geometry*::relate
    - std::stringstream::str
    - geos::operation::overlayng::OverlayNG::overlay
    - Geometry*::equalsExact
    - Geometry*::contains
    - precision::MinimumClearance::getDistance
    - Test::areaDelta
    - geos::simplify::TopologyPreservingSimplifier::simplify
    - Geometry*::getArea
    - Geometry*::coveredBy
    - Test::checkSingleSidedBufferSuccess
    - c_str
    - std::strtod
    - std::atoi
    - Geometry*::crosses
    - Geometry*::convexHull
    - isPrepared
    - Geometry*::touches
    - Geometry*::overlaps
    - std::unique_ptr::get
    - Geometry*::symDifference
    - testValid
    - BuildArea
    - Geometry*::getInteriorPoint
    - Geometry*::within
    - Geometry*::getBoundary
    - std::unique_ptr::getArea
    - Geometry*::getCentroid
    - testcaseRef
    - Geometry*::normalize
    - Geometry*::intersection
    - geom::util::Densifier::getResultGeometry
    - std::fabs
    - Geometry*::equals
    - operation::buffer::BufferParameters::setJoinStyle
    - Geometry*::isValid
    - std::unique_ptr::matches
    linkageType: ''
    returnType: void
    signature: void Test::executeOp(Geometry* gA, Geometry* gB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::exit
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - me
    - exitcode
    - ' os'
    argTypes:
    - char*
    - int
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1411
    functionName: usage
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - std::exit
    linkageType: ''
    returnType: void
    signature: void usage(char* me, int exitcode, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Interrupt::request
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1417
    functionName: request_interrupt
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - geos::util::Interrupt::request
    linkageType: ''
    returnType: void
    signature: void request_interrupt(int)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: InitAllocCheck
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1426,1
    - Dst: usage
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1431,1
    - Dst: signal
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1434,1
    - Dst: XMLTester::XMLTester
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1436,1
    - Dst: XMLTester::setVerbosityLevel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1437,1
    - Dst: std::strcmp
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1441,1
    - Dst: XMLTester::setVerbosityLevel
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1443,1
    - Dst: std::strcmp
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1446,1
    - Dst: XMLTester::setTestOutputValidity
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1447,1
    - Dst: std::strcmp
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1450,1
    - Dst: XMLTester::setSQLOutput
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1452,1
    - Dst: std::strcmp
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1455,1
    - Dst: XMLTester::setHEXWKBOutput
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1457,1
    - Dst: std::strcmp
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1460,1
    - Dst: XMLTester::setTestInputValidity
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1461,1
    - Dst: XMLTester::run
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1468,1
    - Dst: what
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1471,1
    - Dst: XMLTester::resultSummary
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1476,1
    - Dst: XMLTester::resultSummary
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1479,1
    - Dst: geos::io::Unload::Release
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1482,1
    - Dst: XMLTester::getFailuresCount
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1484,1
    - Dst: DeInitAllocCheck
      Src: /src/geos/tests/xmltester/XMLTester.cpp:1488,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - argC
    - argV
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1419
    functionDepth: 2
    functionLinenumber: 1419
    functionLinenumberEnd: 1490
    functionName: main
    functionSourceFile: /src/geos/tests/xmltester/XMLTester.cpp
    functionUses: 0
    functionsReached:
    - usage
    - what
    - XMLTester::getFailuresCount
    - std::strcmp
    - geos::io::Unload::Release
    - XMLTester::XMLTester
    - XMLTester::run
    - XMLTester::setVerbosityLevel
    - XMLTester::setHEXWKBOutput
    - signal
    - XMLTester::setTestInputValidity
    - XMLTester::setTestOutputValidity
    - XMLTester::setSQLOutput
    - XMLTester::resultSummary
    - InitAllocCheck
    - DeInitAllocCheck
    linkageType: ''
    returnType: int
    signature: int main(int argC, char* argV[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:48,1
    - Dst: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: geos::xmltester::BufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:67,1
    - Dst: symDifference
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - getArea
    - symDifference
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isSymDiffAreaInTolerance(\n    const geom::Geometry&
      actualBuffer,\n    const geom::Geometry& expectedBuffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:97,1
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:98,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:101,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:103,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - getBoundary
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - DiscreteHausdorffDistance::orientedDistance
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:48,1
    - Dst: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: geos::xmltester::BufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:67,1
    - Dst: symDifference
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 2
    functionsReached:
    - getArea
    - symDifference
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isSymDiffAreaInTolerance(\n    const geom::Geometry&
      actualBuffer,\n    const geom::Geometry& expectedBuffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:97,1
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:98,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:101,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:103,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 2
    functionsReached:
    - getBoundary
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - DiscreteHausdorffDistance::orientedDistance
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:48,1
    - Dst: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: geos::xmltester::BufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:67,1
    - Dst: symDifference
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 3
    functionsReached:
    - getArea
    - symDifference
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isSymDiffAreaInTolerance(\n    const geom::Geometry&
      actualBuffer,\n    const geom::Geometry& expectedBuffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:97,1
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:98,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:101,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:103,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 3
    functionsReached:
    - getBoundary
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - DiscreteHausdorffDistance::orientedDistance
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:35,1
    - Dst: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:48,1
    - Dst: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: geos::xmltester::BufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:67,1
    - Dst: symDifference
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: geos::xmltester::BufferResultMatcher::isSymDiffAreaInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 4
    functionsReached:
    - getArea
    - symDifference
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isSymDiffAreaInTolerance(\n    const geom::Geometry&
      actualBuffer,\n    const geom::Geometry& expectedBuffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:97,1
    - Dst: getBoundary
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:98,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:101,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:103,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/BufferResultMatcher.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: geos::xmltester::BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/BufferResultMatcher.cpp
    functionUses: 4
    functionsReached:
    - getBoundary
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - DiscreteHausdorffDistance::orientedDistance
    linkageType: ''
    returnType: bool
    signature: "bool BufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:37,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:38,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:54,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:78,1
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:79,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:82,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:84,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - DiscreteHausdorffDistance::orientedDistance
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - clone
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:37,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:38,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:54,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:78,1
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:79,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:82,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:84,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 2
    functionsReached:
    - DiscreteHausdorffDistance::orientedDistance
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - clone
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:37,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:38,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:54,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:78,1
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:79,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:82,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:84,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 3
    functionsReached:
    - DiscreteHausdorffDistance::orientedDistance
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - clone
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:37,1
    - Dst: isEmpty
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:38,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:54,1
    - Dst: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBufferResultMatch
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 1
    functionsReached:
    - geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBufferResultMatch(const geom::Geometry&
      actualBuffer,\n        const geom::Geometry& expectedBuffer,\n        double
      distance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:78,1
    - Dst: clone
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:79,1
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:82,1
    - Dst: DiscreteHausdorffDistance::orientedDistance
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:84,1
    - Dst: fabs
      Src: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' actualBuffer'
    - ' expectedBuffer'
    - distance
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: geos::xmltester::SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance
    functionSourceFile: /src/geos/tests/xmltester/SingleSidedBufferResultMatcher.cpp
    functionUses: 4
    functionsReached:
    - DiscreteHausdorffDistance::orientedDistance
    - fabs
    - DiscreteHausdorffDistance::setDensifyFraction
    - clone
    linkageType: ''
    returnType: bool
    signature: "bool SingleSidedBufferResultMatcher::isBoundaryHausdorffDistanceInTolerance(\n
      \   const geom::Geometry& actualBuffer,\n    const geom::Geometry& expectedBuffer,
      double distance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:47,1
    - Dst: vsnprintf_s
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:48,1
    - Dst: va_end
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: TIXML_SNPRINTF
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - vsnprintf_s
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int TIXML_SNPRINTF( char* buffer, size_t size, const char* format,
      ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf_s
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - size
    - format
    - va
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: TIXML_VSNPRINTF
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - vsnprintf_s
    linkageType: ''
    returnType: int
    signature: int TIXML_VSNPRINTF( char* buffer, size_t size, const char* format,
      va_list va )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:76,1
    - Dst: _vsnprintf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:77,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:80,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - format
    - va
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: TIXML_VSCPRINTF
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - char::char
    - _vsnprintf
    linkageType: ''
    returnType: int
    signature: int TIXML_VSCPRINTF( const char* format, va_list va )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:96,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - format
    - va
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: TIXML_VSCPRINTF
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int TIXML_VSCPRINTF( const char* format, va_list va )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: StrPair::~StrPair()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void StrPair::~StrPair()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:152,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:153,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:154,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:155,1
    - Dst: StrPair*::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - other
    argTypes:
    - StrPair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: tinyxml2::StrPair::TransferTo
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - StrPair*::Reset
    linkageType: ''
    returnType: void
    signature: void StrPair::TransferTo( StrPair* other )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: tinyxml2::StrPair::Reset
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrPair::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:182,1
    - Dst: tinyxml2::StrPair::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:183,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:184,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:185,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:186,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - str
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: tinyxml2::StrPair::SetStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::StrPair::Reset
    - memcpy
    - strlen
    - TIXMLASSERT
    - char::char
    linkageType: ''
    returnType: void
    signature: void StrPair::SetStr( const char* str, int flags )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:195,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:196,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:197,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:201,1
    - Dst: strncmp
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:205,1
    - Dst: tinyxml2::StrPair::Set
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:206,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - p
    - endTag
    - strFlags
    - curLineNumPtr
    argTypes:
    - char*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: tinyxml2::StrPair::ParseText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::StrPair::Set
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: char * StrPair::ParseText( char* p, const char* endTag, int strFlags,
      int* curLineNumPtr )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::IsNameStartChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:223,1
    - Dst: tinyxml2::IsNameChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:229,1
    - Dst: tinyxml2::StrPair::Set
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: tinyxml2::StrPair::ParseName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::IsNameChar
    - tinyxml2::StrPair::Set
    - tinyxml2::IsNameStartChar
    linkageType: ''
    returnType: char
    signature: char * StrPair::ParseName( char* p )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:241,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:243,1
    - Dst: tinyxml2::IsWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:250,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: tinyxml2::StrPair::CollapseWhitespace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::IsWhiteSpace
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: void
    signature: void StrPair::CollapseWhitespace()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:269,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:270,1
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:313,1
    - Dst: tinyxml2::XMLUtil::GetCharacterRef
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:313,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:320,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:321,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:323,1
    - Dst: strncmp
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:331,1
    - Dst: tinyxml2::StrPair::CollapseWhitespace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:359,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:363,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 365
    functionName: tinyxml2::StrPair::GetStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::GetCharacterRef
    - const_cast<char*>
    - memcpy
    - tinyxml2::StrPair::CollapseWhitespace
    - TIXMLASSERT
    - strncmp
    linkageType: ''
    returnType: char
    signature: char * StrPair::GetStr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - writeTrue
    - writeFalse
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: tinyxml2::XMLUtil::SetBoolSerialization
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLUtil::SetBoolSerialization(const char* writeTrue, const char*
      writeFalse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:387,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:388,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:390,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - bom
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: tinyxml2::XMLUtil::ReadBOM
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: char
    signature: char * XMLUtil::ReadBOM( const char* p, bool* bom )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - input
    - output
    - length
    argTypes:
    - unsigned long
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 453
    functionName: tinyxml2::XMLUtil::ConvertUTF32ToUTF8
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ConvertUTF32ToUTF8( unsigned long input, char* output,
      int* length )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:463,1
    - Dst: strchr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:475,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:480,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:500,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:501,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:503,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:505,1
    - Dst: strchr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:517,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:522,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:530,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:531,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:533,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:539,1
    - Dst: tinyxml2::XMLUtil::ConvertUTF32ToUTF8
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:545,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - p
    - value
    - length
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 549
    functionName: tinyxml2::XMLUtil::GetCharacterRef
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLUtil::ConvertUTF32ToUTF8
    - strchr
    linkageType: ''
    returnType: char
    signature: char * XMLUtil::GetCharacterRef( const char* p, char* value, int* length
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( int v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( unsigned v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - bool
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( bool v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - float
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( float v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - double
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( double v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - int64_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr(int64_t v, char* buffer, int bufferSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: tinyxml2::XMLUtil::ToInt
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToInt( const char* str, int* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: tinyxml2::XMLUtil::ToUnsigned
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToUnsigned( const char* str, unsigned *value )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToInt
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:611,1
    - Dst: StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:615,1
    - Dst: StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 624
    functionName: tinyxml2::XMLUtil::ToBool
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToInt
    - StringEqual
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToBool( const char* str, bool* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: tinyxml2::XMLUtil::ToFloat
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToFloat( const char* str, float* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: tinyxml2::XMLUtil::ToDouble
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToDouble( const char* str, double* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: tinyxml2::XMLUtil::ToInt64
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToInt64(const char* str, int64_t* value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:658,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:659,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:662,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:665,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:682,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:683,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:685,1
    - Dst: CreateUnlinkedNode<XMLDeclaration>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:686,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:690,1
    - Dst: CreateUnlinkedNode<XMLComment>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:691,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:695,1
    - Dst: CreateUnlinkedNode<XMLText>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:696,1
    - Dst: XMLText*::SetCData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:700,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:702,1
    - Dst: CreateUnlinkedNode<XMLUnknown>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:703,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:707,1
    - Dst: CreateUnlinkedNode<XMLElement>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:708,1
    - Dst: CreateUnlinkedNode<XMLText>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:713,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:719,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:720,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - p
    - node
    argTypes:
    - char*
    - XMLNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 723
    functionName: tinyxml2::XMLDocument::Identify
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLText>
    - XMLText*::SetCData
    - tinyxml2::StringEqual
    - CreateUnlinkedNode<XMLDeclaration>
    - CreateUnlinkedNode<XMLElement>
    - CreateUnlinkedNode<XMLUnknown>
    - tinyxml2::SkipWhiteSpace
    - TIXMLASSERT
    - CreateUnlinkedNode<XMLComment>
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::Identify( char* p, XMLNode** node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:728,1
    - Dst: XMLVisitor*::VisitEnter
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:729,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:730,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:730,1
    - Dst: XMLNode*::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:731,1
    - Dst: XMLVisitor*::VisitExit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 737
    functionName: tinyxml2::XMLDocument::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::Accept
    - XMLNode*::NextSibling
    - XMLVisitor*::VisitEnter
    - XMLVisitor*::VisitExit
    - TIXMLASSERT
    - FirstChild
    linkageType: ''
    returnType: bool
    signature: bool XMLDocument::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 752
    functionName: tinyxml2::XMLNode::XMLNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLNode::XMLNode( XMLDocument* doc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:757,1
    - Dst: Unlink
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: XMLNode::~XMLNode()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Unlink
    - DeleteChildren
    linkageType: ''
    returnType: void
    signature: void XMLNode::~XMLNode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode::ToDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:766,1
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: tinyxml2::XMLNode::Value
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLNode::ToDocument
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLNode::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetInternedStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:774,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - staticMem
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 779
    functionName: tinyxml2::XMLNode::SetValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetInternedStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLNode::SetValue( const char* str, bool staticMem )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode::ShallowClone
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:783,1
    - Dst: tinyxml2::XMLNode::FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:786,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:786,1
    - Dst: XMLNode*::DeepClone
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:787,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:788,1
    - Dst: XMLNode*::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - target
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 792
    functionName: tinyxml2::XMLNode::DeepClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLNode::ShallowClone
    - tinyxml2::XMLNode::FirstChild
    - XMLNode*::DeepClone
    - XMLNode*::InsertEndChild
    - TIXMLASSERT
    - XMLNode*::NextSibling
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::DeepClone(XMLDocument* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:797,1
    - Dst: tinyxml2::XMLNode::DeleteChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 801
    functionName: tinyxml2::XMLNode::DeleteChildren
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::DeleteChild
    linkageType: ''
    returnType: void
    signature: void XMLNode::DeleteChildren()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:806,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:807,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - child
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 825
    functionName: tinyxml2::XMLNode::Unlink
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLNode::Unlink( XMLNode* child )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:830,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:831,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:832,1
    - Dst: tinyxml2::XMLNode::Unlink
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:833,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:834,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:835,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:836,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 838
    functionName: tinyxml2::XMLNode::DeleteChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::Unlink
    - tinyxml2::XMLNode::DeleteNode
    linkageType: ''
    returnType: void
    signature: void XMLNode::DeleteChild( XMLNode* node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:843,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:845,1
    - Dst: tinyxml2::XMLNode::InsertChildPreamble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:848,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:851,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:852,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - addThis
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 868
    functionName: tinyxml2::XMLNode::InsertEndChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::InsertChildPreamble
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::InsertEndChild( XMLNode* addThis )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:873,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:875,1
    - Dst: tinyxml2::XMLNode::InsertChildPreamble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:878,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:881,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:882,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - addThis
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 899
    functionName: tinyxml2::XMLNode::InsertFirstChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::InsertChildPreamble
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::InsertFirstChild( XMLNode* addThis )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:904,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:906,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:910,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:913,1
    - Dst: tinyxml2::XMLNode::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:926,1
    - Dst: tinyxml2::XMLNode::InsertChildPreamble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - afterThis
    - addThis
    argTypes:
    - XMLNode*
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 935
    functionName: tinyxml2::XMLNode::InsertAfterChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::InsertChildPreamble
    - tinyxml2::XMLNode::InsertEndChild
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::InsertAfterChild( XMLNode* afterThis, XMLNode* addThis
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 949
    functionName: tinyxml2::XMLNode::FirstChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::FirstChildElement( const char* name ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 961
    functionName: tinyxml2::XMLNode::LastChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::LastChildElement( const char* name ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 973
    functionName: tinyxml2::XMLNode::NextSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::NextSiblingElement( const char* name ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 985
    functionName: tinyxml2::XMLNode::PreviousSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::PreviousSiblingElement( const char* name ) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1008,1
    - Dst: Identify
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1014,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1015,1
    - Dst: XMLNode*::ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1023,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1025,1
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1026,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1027,1
    - Dst: XMLNode*::ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1032,1
    - Dst: ToDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1044,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1045,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1047,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1048,1
    - Dst: LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1049,1
    - Dst: LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1050,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1057,1
    - Dst: XMLDeclaration*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1057,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1058,1
    - Dst: XMLNode*::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1063,1
    - Dst: XMLElement*::ClosingType
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1066,1
    - Dst: XMLElement*::_value::TransferTo
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1068,1
    - Dst: XMLNode*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1070,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1071,1
    - Dst: StrPair::Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1078,1
    - Dst: XMLElement*::ClosingType
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1079,1
    - Dst: XMLElement*::ClosingType
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1084,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1087,1
    - Dst: StrPair::GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1087,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1087,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1092,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1092,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1093,1
    - Dst: tinyxml2::XMLNode::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1097,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 3
    argNames:
    - p
    - parentEndTag
    - curLineNumPtr
    argTypes:
    - char*
    - StrPair*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1100
    functionName: tinyxml2::XMLNode::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - LastChild
    - ToDocument
    - Identify
    - tinyxml2::StringEqual
    - SetError
    - FirstChild
    - XMLNode*::_memPool::SetTracked
    - StrPair::Empty
    - XMLNode*::ToDeclaration
    - XMLElement*::ClosingType
    - XMLNode*::ToElement
    - Error
    - tinyxml2::XMLNode::InsertEndChild
    - XMLElement*::_value::TransferTo
    - XMLNode*::ParseDeep
    - tinyxml2::XMLNode::DeleteNode
    - XMLElement*::Name
    - StrPair::GetStr
    - XMLDeclaration*::Value
    linkageType: ''
    returnType: char
    signature: char * XMLNode::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1107,1
    - Dst: XMLNode*::ToDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1108,1
    - Dst: XMLNode*::_document::MarkInUse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1109,1
    - Dst: XMLNode*::~XMLNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1113,1
    - Dst: MemPool*::Free
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1115
    functionName: tinyxml2::XMLNode::DeleteNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - XMLNode*::ToDocument
    - XMLNode*::~XMLNode
    - XMLNode*::_document::MarkInUse
    - MemPool*::Free
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLNode::DeleteNode( XMLNode* node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1119,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1120,1
    - Dst: XMLNode*::_parent::Unlink
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1123,1
    - Dst: XMLNode*::_document::MarkInUse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1126,1
    - Dst: XMLNode*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - insertThis
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1129
    functionName: tinyxml2::XMLNode::InsertChildPreamble
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - TIXMLASSERT
    - XMLNode*::_memPool::SetTracked
    - XMLNode*::_parent::Unlink
    - XMLNode*::_document::MarkInUse
    linkageType: ''
    returnType: void
    signature: void XMLNode::InsertChildPreamble( XMLNode* insertThis ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1133,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1140,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1144
    functionName: tinyxml2::XMLNode::ToElementWithName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLNode::ToElement
    - tinyxml2::StringEqual
    - XMLElement*::Name
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::ToElementWithName( const char* name ) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLText::CData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1149,1
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1150,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1152,1
    - Dst: ProcessEntities
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1157,1
    - Dst: WhitespaceMode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1158,1
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1162,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1171
    functionName: tinyxml2::XMLText::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    - WhitespaceMode
    - ProcessEntities
    - tinyxml2::XMLText::CData
    linkageType: ''
    returnType: char
    signature: char * XMLText::ParseDeep( char* p, StrPair*, int* curLineNumPtr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1179,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1179,1
    - Dst: XMLText*::SetCData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1180,1
    - Dst: tinyxml2::XMLText::CData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: tinyxml2::XMLText::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLText::CData
    - Value
    - XMLDocument*::NewText
    - XMLText*::SetCData
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLText::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1187,1
    - Dst: XMLNode*::ToText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1188,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1189,1
    - Dst: XMLText*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1189,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1190
    functionName: tinyxml2::XMLText::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::StringEqual
    - TIXMLASSERT
    - XMLText*::Value
    - Value
    - XMLNode*::ToText
    linkageType: ''
    returnType: bool
    signature: bool XMLText::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1195,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: tinyxml2::XMLText::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLText::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1204
    functionName: tinyxml2::XMLComment::XMLComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLComment::XMLComment( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: XMLComment::~XMLComment()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLComment::~XMLComment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1215,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1220
    functionName: tinyxml2::XMLComment::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    linkageType: ''
    returnType: char
    signature: char * XMLComment::ParseDeep( char* p, StrPair*, int* curLineNumPtr
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewComment
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1228,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1230
    functionName: tinyxml2::XMLComment::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - XMLDocument*::NewComment
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLComment::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1235,1
    - Dst: XMLNode*::ToComment
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1236,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1237,1
    - Dst: XMLComment*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1237,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1238
    functionName: tinyxml2::XMLComment::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToComment
    - tinyxml2::StringEqual
    - XMLComment*::Value
    - TIXMLASSERT
    - Value
    linkageType: ''
    returnType: bool
    signature: bool XMLComment::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1243,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1245
    functionName: tinyxml2::XMLComment::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLComment::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1252
    functionName: tinyxml2::XMLDeclaration::XMLDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLDeclaration::XMLDeclaration( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1258
    functionName: XMLDeclaration::~XMLDeclaration()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLDeclaration::~XMLDeclaration()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1264,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1269
    functionName: tinyxml2::XMLDeclaration::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    linkageType: ''
    returnType: char
    signature: char * XMLDeclaration::ParseDeep( char* p, StrPair*, int* curLineNumPtr
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1277,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1279
    functionName: tinyxml2::XMLDeclaration::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLDocument*::NewDeclaration
    - Value
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLDeclaration::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1284,1
    - Dst: XMLNode*::ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1285,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1286,1
    - Dst: XMLDeclaration*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1286,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1287
    functionName: tinyxml2::XMLDeclaration::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::StringEqual
    - TIXMLASSERT
    - Value
    - XMLNode*::ToDeclaration
    - XMLDeclaration*::Value
    linkageType: ''
    returnType: bool
    signature: bool XMLDeclaration::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1293,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1295
    functionName: tinyxml2::XMLDeclaration::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLDeclaration::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    functionName: tinyxml2::XMLUnknown::XMLUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLUnknown::XMLUnknown( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: XMLUnknown::~XMLUnknown()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLUnknown::~XMLUnknown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1312,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1317
    functionName: tinyxml2::XMLUnknown::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    linkageType: ''
    returnType: char
    signature: char * XMLUnknown::ParseDeep( char* p, StrPair*, int* curLineNumPtr
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1325,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1327
    functionName: tinyxml2::XMLUnknown::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLDocument*::NewUnknown
    - Value
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLUnknown::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1332,1
    - Dst: XMLNode*::ToUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1333,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1334,1
    - Dst: XMLUnknown*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1334,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1335
    functionName: tinyxml2::XMLUnknown::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToUnknown
    - tinyxml2::StringEqual
    - XMLUnknown*::Value
    - TIXMLASSERT
    - Value
    linkageType: ''
    returnType: bool
    signature: bool XMLUnknown::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1340,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1342
    functionName: tinyxml2::XMLUnknown::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLUnknown::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1349
    functionName: tinyxml2::XMLAttribute::Name
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLAttribute::Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1354
    functionName: tinyxml2::XMLAttribute::Value
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLAttribute::Value() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1359,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1365,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1371,1
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p
    - processEntities
    - curLineNumPtr
    argTypes:
    - char*
    - bool
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1381
    functionName: tinyxml2::XMLAttribute::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - ParseName
    - ParseText
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: char
    signature: char * XMLAttribute::ParseDeep( char* p, bool processEntities, int*
      curLineNumPtr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1387
    functionName: tinyxml2::XMLAttribute::SetName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetName( const char* n )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToInt
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1392,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1396
    functionName: tinyxml2::XMLAttribute::QueryIntValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToInt
    - tinyxml2::XMLAttribute::Value
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryIntValue( int* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToUnsigned
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1401,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1405
    functionName: tinyxml2::XMLAttribute::QueryUnsignedValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLAttribute::Value
    - tinyxml2::XMLUtil::ToUnsigned
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryUnsignedValue( unsigned int* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToInt64
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1410,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1414
    functionName: tinyxml2::XMLAttribute::QueryInt64Value
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLAttribute::Value
    - tinyxml2::XMLUtil::ToInt64
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryInt64Value(int64_t* value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToBool
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1419,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1423
    functionName: tinyxml2::XMLAttribute::QueryBoolValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToBool
    - tinyxml2::XMLAttribute::Value
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryBoolValue( bool* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToFloat
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1428,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1432
    functionName: tinyxml2::XMLAttribute::QueryFloatValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLAttribute::Value
    - tinyxml2::XMLUtil::ToFloat
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryFloatValue( float* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToDouble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1437,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1441
    functionName: tinyxml2::XMLAttribute::QueryDoubleValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToDouble
    - tinyxml2::XMLAttribute::Value
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryDoubleValue( double* value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1447
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( const char* v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1453,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1455
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( int v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1461,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1463
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( unsigned v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1469,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1471
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute(int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1478,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1480
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( bool v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1485,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1487
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( double v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1492,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1494
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( float v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: tinyxml2::XMLElement::XMLElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLElement::XMLElement( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1512
    functionName: XMLElement::~XMLElement()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - DeleteAttribute
    linkageType: ''
    returnType: void
    signature: void XMLElement::~XMLElement()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1518,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1523
    functionName: tinyxml2::XMLElement::FindAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLAttribute*::Name
    - tinyxml2::StringEqual
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * XMLElement::FindAttribute( const char* name ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1528,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1532,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1532,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1536
    functionName: tinyxml2::XMLElement::Attribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLAttribute*::Value
    - tinyxml2::XMLElement::FindAttribute
    - tinyxml2::StringEqual
    linkageType: ''
    returnType: char
    signature: char * XMLElement::Attribute( const char* name, const char* value )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryIntAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1543
    functionName: tinyxml2::XMLElement::IntAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryIntAttribute
    linkageType: ''
    returnType: int
    signature: int XMLElement::IntAttribute(const char* name, int defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryUnsignedAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1550
    functionName: tinyxml2::XMLElement::UnsignedAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryUnsignedAttribute
    linkageType: ''
    returnType: unsigned
    signature: unsigned XMLElement::UnsignedAttribute(const char* name, unsigned defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryInt64Attribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1557
    functionName: tinyxml2::XMLElement::Int64Attribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryInt64Attribute
    linkageType: ''
    returnType: int64_t
    signature: int64_t XMLElement::Int64Attribute(const char* name, int64_t defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryBoolAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1564
    functionName: tinyxml2::XMLElement::BoolAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryBoolAttribute
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::BoolAttribute(const char* name, bool defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryDoubleAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1571
    functionName: tinyxml2::XMLElement::DoubleAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryDoubleAttribute
    linkageType: ''
    returnType: double
    signature: double XMLElement::DoubleAttribute(const char* name, double defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryFloatAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1578
    functionName: tinyxml2::XMLElement::FloatAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryFloatAttribute
    linkageType: ''
    returnType: float
    signature: float XMLElement::FloatAttribute(const char* name, float defaultValue)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1582,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1582,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1586
    functionName: tinyxml2::XMLElement::GetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - FirstChild
    linkageType: ''
    returnType: char
    signature: char * XMLElement::GetText() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1591,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1591,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1592,1
    - Dst: GetDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1594,1
    - Dst: InsertFirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - inText
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1597
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - InsertFirstChild
    - FirstChild
    - GetDocument
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( const char* inText )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1603,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1605
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( int v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1611,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1613
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( unsigned v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1619,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1616
    functionDepth: 2
    functionLinenumber: 1616
    functionLinenumberEnd: 1621
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText(int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1627,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1629
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( bool v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1635,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1632
    functionDepth: 2
    functionLinenumber: 1632
    functionLinenumberEnd: 1637
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 5
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( float v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1643,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1640
    functionDepth: 2
    functionLinenumber: 1640
    functionLinenumberEnd: 1645
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 6
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( double v )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1650,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1650,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1651,1
    - Dst: tinyxml2::XMLUtil::ToInt
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ival
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1658
    functionName: tinyxml2::XMLElement::QueryIntText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToInt
    - FirstChild
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryIntText( int* ival ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1663,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1663,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1664,1
    - Dst: tinyxml2::XMLUtil::ToUnsigned
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - uval
    argTypes:
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1671
    functionName: tinyxml2::XMLElement::QueryUnsignedText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - FirstChild
    - tinyxml2::XMLUtil::ToUnsigned
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryUnsignedText( unsigned* uval ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1676,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1676,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1677,1
    - Dst: tinyxml2::XMLUtil::ToInt64
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ival
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1684
    functionName: tinyxml2::XMLElement::QueryInt64Text
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - FirstChild
    - tinyxml2::XMLUtil::ToInt64
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryInt64Text(int64_t* ival) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1689,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1689,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1690,1
    - Dst: tinyxml2::XMLUtil::ToBool
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bval
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1697
    functionName: tinyxml2::XMLElement::QueryBoolText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToBool
    - FirstChild
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryBoolText( bool* bval ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1702,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1702,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1703,1
    - Dst: tinyxml2::XMLUtil::ToDouble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dval
    argTypes:
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1710
    functionName: tinyxml2::XMLElement::QueryDoubleText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToDouble
    - FirstChild
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryDoubleText( double* dval ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1715,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1715,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1716,1
    - Dst: tinyxml2::XMLUtil::ToFloat
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fval
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1723
    functionName: tinyxml2::XMLElement::QueryFloatText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - FirstChild
    - tinyxml2::XMLUtil::ToFloat
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryFloatText( float* fval ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryIntText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1730
    functionName: tinyxml2::XMLElement::IntText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryIntText
    linkageType: ''
    returnType: int
    signature: int XMLElement::IntText(int defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryUnsignedText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1737
    functionName: tinyxml2::XMLElement::UnsignedText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryUnsignedText
    linkageType: ''
    returnType: unsigned
    signature: unsigned XMLElement::UnsignedText(unsigned defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryInt64Text
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1739
    functionDepth: 2
    functionLinenumber: 1739
    functionLinenumberEnd: 1744
    functionName: tinyxml2::XMLElement::Int64Text
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryInt64Text
    linkageType: ''
    returnType: int64_t
    signature: int64_t XMLElement::Int64Text(int64_t defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryBoolText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1746
    functionDepth: 3
    functionLinenumber: 1746
    functionLinenumberEnd: 1751
    functionName: tinyxml2::XMLElement::BoolText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryBoolText
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::BoolText(bool defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryDoubleText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1753
    functionDepth: 2
    functionLinenumber: 1753
    functionLinenumberEnd: 1758
    functionName: tinyxml2::XMLElement::DoubleText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryDoubleText
    linkageType: ''
    returnType: double
    signature: double XMLElement::DoubleText(double defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryFloatText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1760
    functionDepth: 2
    functionLinenumber: 1760
    functionLinenumberEnd: 1765
    functionName: tinyxml2::XMLElement::FloatText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryFloatText
    linkageType: ''
    returnType: float
    signature: float XMLElement::FloatText(float defaultValue) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1775,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1775,1
    - Dst: tinyxml2::XMLElement::CreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1780,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1781,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1783,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1787,1
    - Dst: XMLAttribute*::SetName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1793
    functionName: tinyxml2::XMLElement::FindOrCreateAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLAttribute*::Name
    - tinyxml2::XMLElement::CreateAttribute
    - tinyxml2::StringEqual
    - XMLAttribute*::SetName
    - TIXMLASSERT
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * XMLElement::FindOrCreateAttribute( const char* name
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1800,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1800,1
    - Dst: tinyxml2::XMLElement::DeleteAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1812
    functionName: tinyxml2::XMLElement::DeleteAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLElement::DeleteAttribute
    - XMLAttribute*::Name
    - tinyxml2::StringEqual
    linkageType: ''
    returnType: void
    signature: void XMLElement::DeleteAttribute( const char* name )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1821,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1823,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1823,1
    - Dst: tinyxml2::IsNameStartChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1828,1
    - Dst: tinyxml2::XMLElement::CreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1829,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1830,1
    - Dst: XMLAttribute*::ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1835,1
    - Dst: ProcessEntities
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1835,1
    - Dst: tinyxml2::XMLElement::Attribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1836,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1836,1
    - Dst: tinyxml2::XMLElement::DeleteAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1837,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1838,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1838,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1847,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1851,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1867,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1815
    functionDepth: 3
    functionLinenumber: 1815
    functionLinenumberEnd: 1872
    functionName: tinyxml2::XMLElement::ParseAttributes
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Name
    - tinyxml2::XMLElement::CreateAttribute
    - XMLAttribute*::Name
    - XMLAttribute*::ParseDeep
    - tinyxml2::XMLElement::DeleteAttribute
    - ProcessEntities
    - tinyxml2::SkipWhiteSpace
    - TIXMLASSERT
    - SetError
    - tinyxml2::XMLElement::Attribute
    - tinyxml2::IsNameStartChar
    linkageType: ''
    returnType: char
    signature: char * XMLElement::ParseAttributes( char* p, int* curLineNumPtr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLAttribute*::~XMLAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1880,1
    - Dst: MemPool*::Free
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - XMLAttribute*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1882
    functionName: tinyxml2::XMLElement::DeleteAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - MemPool*::Free
    - XMLAttribute*::~XMLAttribute
    linkageType: ''
    returnType: void
    signature: void XMLElement::DeleteAttribute( XMLAttribute* attribute )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1886,1
    - Dst: _attributePool::ItemSize
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1886,1
    - Dst: _attributePool::Alloc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1887,1
    - Dst: XMLAttribute::XMLAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1887,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1888,1
    - Dst: XMLAttribute*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1884
    functionDepth: 1
    functionLinenumber: 1884
    functionLinenumberEnd: 1892
    functionName: tinyxml2::XMLElement::CreateAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - XMLAttribute::XMLAttribute
    - _attributePool::Alloc
    - XMLAttribute*::_memPool::SetTracked
    - _attributePool::ItemSize
    - TIXMLASSERT
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * XMLElement::CreateAttribute()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1901,1
    - Dst: ParseName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1911,1
    - Dst: Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1912,1
    - Dst: tinyxml2::XMLElement::ParseAttributes
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1916,1
    - Dst: tinyxml2::XMLNode::ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p
    - parentEndTag
    - curLineNumPtr
    argTypes:
    - char*
    - StrPair*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1898
    functionDepth: 4
    functionLinenumber: 1898
    functionLinenumberEnd: 1923
    functionName: tinyxml2::XMLElement::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::ParseAttributes
    - tinyxml2::XMLNode::ParseDeep
    - Empty
    - ParseName
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: char
    signature: char * XMLElement::ParseDeep( char* p, StrPair* parentEndTag, int*
      curLineNumPtr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1932,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1932,1
    - Dst: FirstAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1933,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1933,1
    - Dst: XMLElement*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1934,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1934,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1937
    functionName: tinyxml2::XMLElement::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLAttribute*::Name
    - XMLDocument*::NewElement
    - XMLElement*::SetAttribute
    - FirstAttribute
    - XMLAttribute*::Value
    - Value
    - XMLAttribute*::Next
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLElement::ShallowClone( XMLDocument* doc ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1942,1
    - Dst: XMLNode*::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1943,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1944,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1944,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1944,1
    - Dst: FirstAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1946,1
    - Dst: XMLElement*::FirstAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1947,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1950,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1950,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1950,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1953,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1963
    functionName: tinyxml2::XMLElement::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLElement*::FirstAttribute
    - Name
    - FirstAttribute
    - tinyxml2::StringEqual
    - XMLAttribute*::Value
    - XMLElement*::Name
    - TIXMLASSERT
    - XMLAttribute*::Next
    - XMLNode*::ToElement
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1968,1
    - Dst: XMLVisitor*::VisitEnter
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1969,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1970,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1970,1
    - Dst: XMLNode*::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1971,1
    - Dst: XMLVisitor*::VisitExit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 1977
    functionName: tinyxml2::XMLElement::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::Accept
    - XMLNode*::NextSibling
    - XMLVisitor*::VisitEnter
    - XMLVisitor*::VisitExit
    - TIXMLASSERT
    - FirstChild
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - processEntities
    - whitespaceMode
    argTypes:
    - bool
    - Whitespace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2025
    functionName: tinyxml2::XMLDocument::XMLDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLDocument::XMLDocument( bool processEntities, Whitespace whitespaceMode
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2031
    functionName: XMLDocument::~XMLDocument()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void XMLDocument::~XMLDocument()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2036,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2037,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2039,1
    - Dst: SwapRemove
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2045
    functionName: tinyxml2::XMLDocument::MarkInUse
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - Size
    - SwapRemove
    linkageType: ''
    returnType: void
    signature: void XMLDocument::MarkInUse(XMLNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2049,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2050,1
    - Dst: tinyxml2::XMLDocument::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2051,1
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2055,1
    - Dst: ClearError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2057,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2064,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2065,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2066,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2067,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2072,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2072,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2072,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2073,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2073,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2073,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2074,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2074,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2074,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2075,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2075,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2047
    functionDepth: 1
    functionLinenumber: 2047
    functionLinenumberEnd: 2078
    functionName: tinyxml2::XMLDocument::Clear
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Untracked
    - Trace
    - tinyxml2::XMLDocument::DeleteNode
    - Size
    - TIXMLASSERT
    - Error
    - ClearError
    - CurrentAllocs
    - DeleteChildren
    linkageType: ''
    returnType: void
    signature: void XMLDocument::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2083,1
    - Dst: XMLDocument*::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2088,1
    - Dst: tinyxml2::XMLDocument::FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2089,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2089,1
    - Dst: XMLDocument*::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2090,1
    - Dst: XMLNode*::DeepClone
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2092
    functionName: tinyxml2::XMLDocument::DeepCopy
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::DeepClone
    - tinyxml2::XMLDocument::FirstChild
    - XMLNode*::NextSibling
    - XMLDocument*::InsertEndChild
    - XMLDocument*::Clear
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLDocument::DeepCopy(XMLDocument* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLElement>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2096,1
    - Dst: XMLElement*::SetName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2094
    functionDepth: 1
    functionLinenumber: 2094
    functionLinenumberEnd: 2099
    functionName: tinyxml2::XMLDocument::NewElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLElement>
    - XMLElement*::SetName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLDocument::NewElement( const char* name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLComment>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2104,1
    - Dst: XMLComment*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2107
    functionName: tinyxml2::XMLDocument::NewComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLComment>
    - XMLComment*::SetValue
    linkageType: ''
    returnType: XMLComment
    signature: XMLComment * XMLDocument::NewComment( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLText>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2112,1
    - Dst: XMLText*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2115
    functionName: tinyxml2::XMLDocument::NewText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLText*::SetValue
    - CreateUnlinkedNode<XMLText>
    linkageType: ''
    returnType: XMLText
    signature: XMLText * XMLDocument::NewText( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLDeclaration>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2120,1
    - Dst: XMLDeclaration*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2123
    functionName: tinyxml2::XMLDocument::NewDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLDeclaration*::SetValue
    - CreateUnlinkedNode<XMLDeclaration>
    linkageType: ''
    returnType: XMLDeclaration
    signature: XMLDeclaration * XMLDocument::NewDeclaration( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLUnknown>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2128,1
    - Dst: XMLUnknown*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2131
    functionName: tinyxml2::XMLDocument::NewUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLUnknown>
    - XMLUnknown*::SetValue
    linkageType: ''
    returnType: XMLUnknown
    signature: XMLUnknown * XMLDocument::NewUnknown( const char* str )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2135,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2136,1
    - Dst: fopen_s
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2139,1
    - Dst: fopen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - filepath
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2147
    functionName: tinyxml2::callfopen
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - fopen_s
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE * callfopen( const char* filepath, const char* mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2150,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2151,1
    - Dst: XMLNode*::_parent::DeleteChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2153,1
    - Dst: XMLNode*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2160,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2149
    functionDepth: 2
    functionLinenumber: 2149
    functionLinenumberEnd: 2164
    functionName: tinyxml2::XMLDocument::DeleteNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    - XMLNode*::_memPool::SetTracked
    - XMLNode*::_parent::DeleteChild
    - tinyxml2::XMLNode::DeleteNode
    linkageType: ''
    returnType: void
    signature: void XMLDocument::DeleteNode( XMLNode* node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2170,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2171,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2175,1
    - Dst: callfopen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2176,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2178,1
    - Dst: tinyxml2::XMLDocument::LoadFile
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2181,1
    - Dst: fclose
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2167
    functionDepth: 2
    functionLinenumber: 2167
    functionLinenumberEnd: 2184
    functionName: tinyxml2::XMLDocument::LoadFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLDocument::Clear
    - tinyxml2::XMLDocument::SetError
    - callfopen
    - TIXMLASSERT
    - tinyxml2::XMLDocument::LoadFile
    - fclose
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::LoadFile( const char* filename )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2198
    functionName: tinyxml2::Fits
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Fits( unsigned long value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2206
    functionName: tinyxml2::Fits
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Fits( unsigned long )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2211,1
    - Dst: fseek
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2213,1
    - Dst: fgetc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2214,1
    - Dst: ferror
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2214,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2215,1
    - Dst: fseek
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2219,1
    - Dst: ftell
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2220,1
    - Dst: fseek
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2221,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2223,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2226,1
    - Dst: tinyxml2::Fits
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2228,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2230,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2235,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2240,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2241,1
    - Dst: fread
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2242,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2244,1
    - Dst: tinyxml2::XMLDocument::Parse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2209
    functionDepth: 2
    functionLinenumber: 2209
    functionLinenumberEnd: 2252
    functionName: tinyxml2::XMLDocument::LoadFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - fread
    - tinyxml2::XMLDocument::Clear
    - tinyxml2::XMLDocument::SetError
    - ftell
    - tinyxml2::XMLDocument::Parse
    - ferror
    - fgetc
    - tinyxml2::Fits
    - TIXMLASSERT
    - fseek
    - char::char
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::LoadFile( FILE* fp )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2258,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2259,1
    - Dst: callfopen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2263,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2265,1
    - Dst: tinyxml2::XMLDocument::SaveFile
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2268,1
    - Dst: fclose
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - filename
    - compact
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2255
    functionDepth: 1
    functionLinenumber: 2255
    functionLinenumberEnd: 2271
    functionName: tinyxml2::XMLDocument::SaveFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLDocument::SetError
    - callfopen
    - tinyxml2::XMLDocument::SaveFile
    - TIXMLASSERT
    - fclose
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::SaveFile( const char* filename, bool compact
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2278,1
    - Dst: tinyxml2::XMLDocument::Print
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - compact
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2274
    functionDepth: 1
    functionLinenumber: 2274
    functionLinenumberEnd: 2282
    functionName: tinyxml2::XMLDocument::SaveFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLDocument::Print
    - ClearError
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::SaveFile( FILE* fp, bool compact )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2287,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2290,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2294,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2296,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2297,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2298,1
    - Dst: tinyxml2::XMLDocument::Parse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2301,1
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2302,1
    - Dst: DeleteChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2306,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2307,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2308,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2309,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2285
    functionDepth: 2
    functionLinenumber: 2285
    functionLinenumberEnd: 2313
    functionName: tinyxml2::XMLDocument::Parse
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLDocument::Clear
    - tinyxml2::XMLDocument::SetError
    - tinyxml2::XMLDocument::Parse
    - memcpy
    - strlen
    - TIXMLASSERT
    - Error
    - char::char
    - DeleteChildren
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::Parse( const char* p, size_t len )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2319,1
    - Dst: tinyxml2::XMLDocument::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - XMLPrinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2316
    functionDepth: 2
    functionLinenumber: 2316
    functionLinenumberEnd: 2325
    functionName: tinyxml2::XMLDocument::Print
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLDocument::Accept
    linkageType: ''
    returnType: void
    signature: void XMLDocument::Print( XMLPrinter* streamer ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2330,1
    - Dst: Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2333,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2336,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2338,1
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2339,1
    - Dst: tinyxml2::XMLDocument::ErrorIDToName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2339,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2342,1
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2343,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2344,1
    - Dst: va_start
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2347,1
    - Dst: TIXML_VSNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2348,1
    - Dst: va_end
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2349,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - error
    - lineNum
    - format
    argTypes:
    - XMLError
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2353
    functionName: tinyxml2::XMLDocument::SetError
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - tinyxml2::XMLDocument::ErrorIDToName
    - va_start
    - TIXML_VSNPRINTF
    - strlen
    - va_end
    - TIXML_SNPRINTF
    - Reset
    - TIXMLASSERT
    - char::char
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLDocument::SetError( XMLError error, int lineNum, const char*
      format, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2358,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - errorID
    argTypes:
    - XMLError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2362
    functionName: tinyxml2::XMLDocument::ErrorIDToName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::ErrorIDToName(XMLError errorID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2366,1
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2367
    functionName: tinyxml2::XMLDocument::ErrorStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Empty
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::ErrorStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2372,1
    - Dst: tinyxml2::XMLDocument::ErrorStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2373
    functionName: tinyxml2::XMLDocument::PrintError
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::ErrorStr
    - printf
    linkageType: ''
    returnType: void
    signature: void XMLDocument::PrintError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::ErrorIDToName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2375
    functionDepth: 2
    functionLinenumber: 2375
    functionLinenumberEnd: 2378
    functionName: tinyxml2::XMLDocument::ErrorName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::ErrorIDToName
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::ErrorName() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2382,1
    - Dst: NoChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2382,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2383,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2387,1
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2388,1
    - Dst: tinyxml2::XMLUtil::ReadBOM
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2388,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2390,1
    - Dst: ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2380
    functionDepth: 2
    functionLinenumber: 2380
    functionLinenumberEnd: 2394
    functionName: tinyxml2::XMLDocument::Parse
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLDocument::SetError
    - const_cast<char*>
    - ParseDeep
    - tinyxml2::SkipWhiteSpace
    - TIXMLASSERT
    - tinyxml2::XMLUtil::ReadBOM
    - NoChildren
    linkageType: ''
    returnType: void
    signature: void XMLDocument::Parse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2396
    functionDepth: 2
    functionLinenumber: 2396
    functionLinenumberEnd: 2402
    functionName: tinyxml2::XMLDocument::PushDepth
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::SetError
    linkageType: ''
    returnType: void
    signature: void XMLDocument::PushDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2408
    functionName: tinyxml2::XMLDocument::PopDepth
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLDocument::PopDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2428,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - file
    - compact
    - depth
    argTypes:
    - FILE*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2410
    functionDepth: 1
    functionLinenumber: 2410
    functionLinenumberEnd: 2435
    functionName: tinyxml2::XMLPrinter::XMLPrinter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - Push
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::XMLPrinter( FILE* file, bool compact, int depth )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2441,1
    - Dst: vfprintf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2444,1
    - Dst: TIXML_VSCPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2447,1
    - Dst: va_end
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2449,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2450,1
    - Dst: va_start
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2451,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2452,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2452,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2452,1
    - Dst: PushArr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2453,1
    - Dst: TIXML_VSNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2454,1
    - Dst: va_end
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2457
    functionName: tinyxml2::XMLPrinter::Print
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_VSCPRINTF
    - va_start
    - TIXML_VSNPRINTF
    - PushArr
    - vfprintf
    - va_end
    - Size
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::Print( const char* format, ... )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2463,1
    - Dst: PushArr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2466,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2466,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2470
    functionName: tinyxml2::XMLPrinter::Write
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - PushArr
    - static_cast<int>
    - fwrite
    - memcpy
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::Write( const char* data, size_t size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2476,1
    - Dst: PushArr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2483
    functionName: tinyxml2::XMLPrinter::Putc
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - fputc
    - PushArr
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::Putc( char ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2491
    functionName: tinyxml2::XMLPrinter::PrintSpace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLPrinter::Write
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PrintSpace( int depth )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2502,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2512,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2518,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2519,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2520,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2527,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2533,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2540,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - p
    - restricted
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2546
    functionName: tinyxml2::XMLPrinter::PrintString
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::Putc
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PrintString( const char* p, bool restricted )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2553,1
    - Dst: reinterpret_cast< const char* >
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2553,1
    - Dst: tinyxml2::XMLPrinter::PushDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - writeBOM
    - writeDec
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2549
    functionDepth: 1
    functionLinenumber: 2549
    functionLinenumberEnd: 2558
    functionName: tinyxml2::XMLPrinter::PushHeader
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast< const char* >
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PushDeclaration
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushHeader( bool writeBOM, bool writeDec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2563,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2564,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2567,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2570,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2573,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - name
    - compactMode
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2561
    functionDepth: 1
    functionLinenumber: 2561
    functionLinenumberEnd: 2579
    functionName: tinyxml2::XMLPrinter::OpenElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Push
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::Putc
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::OpenElement( const char* name, bool compactMode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2584,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2585,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2586,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2587,1
    - Dst: tinyxml2::XMLPrinter::PrintString
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2588,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2582
    functionDepth: 2
    functionLinenumber: 2582
    functionLinenumberEnd: 2590
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::PrintString
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, const char* value
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2596,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2593
    functionDepth: 2
    functionLinenumber: 2593
    functionLinenumberEnd: 2598
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, int v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2604,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2601
    functionDepth: 2
    functionLinenumber: 2601
    functionLinenumberEnd: 2606
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, unsigned v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2612,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2609
    functionDepth: 2
    functionLinenumber: 2609
    functionLinenumberEnd: 2614
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute(const char* name, int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2620,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2617
    functionDepth: 2
    functionLinenumber: 2617
    functionLinenumberEnd: 2622
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, bool v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2628,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2625
    functionDepth: 2
    functionLinenumber: 2625
    functionLinenumberEnd: 2630
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 5
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, double v )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Pop
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2636,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2639,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2643,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2644,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2646,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2647,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2648,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - compactMode
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2633
    functionDepth: 1
    functionLinenumber: 2633
    functionLinenumberEnd: 2658
    functionName: tinyxml2::XMLPrinter::CloseElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - Pop
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::CloseElement( bool compactMode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2661
    functionDepth: 1
    functionLinenumber: 2661
    functionLinenumberEnd: 2668
    functionName: tinyxml2::XMLPrinter::SealElementIfJustOpened
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::SealElementIfJustOpened()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2675,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2677,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2678,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2679,1
    - Dst: tinyxml2::XMLPrinter::PrintString
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - text
    - cdata
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2671
    functionDepth: 2
    functionLinenumber: 2671
    functionLinenumberEnd: 2684
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    - tinyxml2::XMLPrinter::PrintString
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( const char* text, bool cdata )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2689,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2686
    functionDepth: 2
    functionLinenumber: 2686
    functionLinenumberEnd: 2691
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( int64_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2696,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2693
    functionDepth: 2
    functionLinenumber: 2693
    functionLinenumberEnd: 2698
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( int value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2704,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2701
    functionDepth: 2
    functionLinenumber: 2701
    functionLinenumberEnd: 2706
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( unsigned value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2712,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2709
    functionDepth: 2
    functionLinenumber: 2709
    functionLinenumberEnd: 2714
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( bool value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2720,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2722
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 5
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( float value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2728,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2725
    functionDepth: 2
    functionLinenumber: 2725
    functionLinenumberEnd: 2730
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 6
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( double value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2735,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2737,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2738,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2742,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2743,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - comment
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2733
    functionDepth: 2
    functionLinenumber: 2733
    functionLinenumberEnd: 2745
    functionName: tinyxml2::XMLPrinter::PushComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushComment( const char* comment )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2750,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2752,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2753,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2757,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2758,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2748
    functionDepth: 2
    functionLinenumber: 2748
    functionLinenumberEnd: 2760
    functionName: tinyxml2::XMLPrinter::PushDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushDeclaration( const char* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2765,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2767,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2768,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2772,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2773,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2763
    functionDepth: 2
    functionLinenumber: 2763
    functionLinenumberEnd: 2775
    functionName: tinyxml2::XMLPrinter::PushUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushUnknown( const char* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProcessEntities
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2780,1
    - Dst: HasBOM
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2781,1
    - Dst: tinyxml2::XMLPrinter::PushHeader
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' doc'
    argTypes:
    - XMLDocument
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2778
    functionDepth: 2
    functionLinenumber: 2778
    functionLinenumberEnd: 2785
    functionName: tinyxml2::XMLPrinter::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - HasBOM
    - ProcessEntities
    - tinyxml2::XMLPrinter::PushHeader
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::VisitEnter( const XMLDocument& doc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Parent
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2791,1
    - Dst: Parent
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2792,1
    - Dst: CompactMode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2794,1
    - Dst: tinyxml2::XMLPrinter::OpenElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2795,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2795,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2797,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2797,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2797,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' element'
    - attribute
    argTypes:
    - XMLElement
    - XMLAttribute*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2788
    functionDepth: 3
    functionLinenumber: 2788
    functionLinenumberEnd: 2801
    functionName: tinyxml2::XMLPrinter::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Name
    - XMLAttribute*::Name
    - CompactMode
    - tinyxml2::XMLPrinter::PushAttribute
    - XMLAttribute*::Value
    - tinyxml2::XMLPrinter::OpenElement
    - XMLAttribute*::Next
    - Parent
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute*
      attribute )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::CloseElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2806,1
    - Dst: CompactMode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - XMLElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2804
    functionDepth: 2
    functionLinenumber: 2804
    functionLinenumberEnd: 2808
    functionName: tinyxml2::XMLPrinter::VisitExit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CompactMode
    - tinyxml2::XMLPrinter::CloseElement
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::VisitExit( const XMLElement& element )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2813,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2813,1
    - Dst: CData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - XMLText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2811
    functionDepth: 3
    functionLinenumber: 2811
    functionLinenumberEnd: 2815
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushText
    - CData
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLText& text )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushComment
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2820,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' comment'
    argTypes:
    - XMLComment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2818
    functionDepth: 3
    functionLinenumber: 2818
    functionLinenumberEnd: 2822
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushComment
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLComment& comment )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2826,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' declaration'
    argTypes:
    - XMLDeclaration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2824
    functionDepth: 3
    functionLinenumber: 2824
    functionLinenumberEnd: 2828
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushDeclaration
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLDeclaration& declaration )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2833,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' unknown'
    argTypes:
    - XMLUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2831
    functionDepth: 3
    functionLinenumber: 2831
    functionLinenumberEnd: 2835
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushUnknown
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLUnknown& unknown )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: StrPair::~StrPair()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void StrPair::~StrPair()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:152,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:153,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:154,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:155,1
    - Dst: StrPair*::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - other
    argTypes:
    - StrPair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: tinyxml2::StrPair::TransferTo
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - StrPair*::Reset
    linkageType: ''
    returnType: void
    signature: void StrPair::TransferTo( StrPair* other )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: tinyxml2::StrPair::Reset
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrPair::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:182,1
    - Dst: tinyxml2::StrPair::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:183,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:184,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:185,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:186,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - str
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: tinyxml2::StrPair::SetStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::StrPair::Reset
    - memcpy
    - strlen
    - TIXMLASSERT
    - char::char
    linkageType: ''
    returnType: void
    signature: void StrPair::SetStr( const char* str, int flags )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:195,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:196,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:197,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:201,1
    - Dst: strncmp
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:205,1
    - Dst: tinyxml2::StrPair::Set
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:206,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - p
    - endTag
    - strFlags
    - curLineNumPtr
    argTypes:
    - char*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: tinyxml2::StrPair::ParseText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::StrPair::Set
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: char * StrPair::ParseText( char* p, const char* endTag, int strFlags,
      int* curLineNumPtr )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::IsNameStartChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:223,1
    - Dst: tinyxml2::IsNameChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:229,1
    - Dst: tinyxml2::StrPair::Set
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: tinyxml2::StrPair::ParseName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::IsNameChar
    - tinyxml2::StrPair::Set
    - tinyxml2::IsNameStartChar
    linkageType: ''
    returnType: char
    signature: char * StrPair::ParseName( char* p )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:241,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:243,1
    - Dst: tinyxml2::IsWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:250,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: tinyxml2::StrPair::CollapseWhitespace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::IsWhiteSpace
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: void
    signature: void StrPair::CollapseWhitespace()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:269,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:270,1
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:313,1
    - Dst: tinyxml2::XMLUtil::GetCharacterRef
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:313,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:320,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:321,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:323,1
    - Dst: strncmp
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:331,1
    - Dst: tinyxml2::StrPair::CollapseWhitespace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:359,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:363,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 365
    functionName: tinyxml2::StrPair::GetStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::GetCharacterRef
    - const_cast<char*>
    - memcpy
    - tinyxml2::StrPair::CollapseWhitespace
    - TIXMLASSERT
    - strncmp
    linkageType: ''
    returnType: char
    signature: char * StrPair::GetStr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - writeTrue
    - writeFalse
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: tinyxml2::XMLUtil::SetBoolSerialization
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLUtil::SetBoolSerialization(const char* writeTrue, const char*
      writeFalse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:387,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:388,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:390,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - bom
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: tinyxml2::XMLUtil::ReadBOM
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: char
    signature: char * XMLUtil::ReadBOM( const char* p, bool* bom )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - input
    - output
    - length
    argTypes:
    - unsigned long
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 453
    functionName: tinyxml2::XMLUtil::ConvertUTF32ToUTF8
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ConvertUTF32ToUTF8( unsigned long input, char* output,
      int* length )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:463,1
    - Dst: strchr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:475,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:480,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:500,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:501,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:503,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:505,1
    - Dst: strchr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:517,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:522,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:530,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:531,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:533,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:539,1
    - Dst: tinyxml2::XMLUtil::ConvertUTF32ToUTF8
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:545,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - p
    - value
    - length
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 549
    functionName: tinyxml2::XMLUtil::GetCharacterRef
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLUtil::ConvertUTF32ToUTF8
    - strchr
    linkageType: ''
    returnType: char
    signature: char * XMLUtil::GetCharacterRef( const char* p, char* value, int* length
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 23
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( int v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 23
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( unsigned v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - bool
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 23
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( bool v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - float
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 23
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( float v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - double
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 23
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr( double v, char* buffer, int bufferSize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - buffer
    - bufferSize
    argTypes:
    - int64_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: tinyxml2::XMLUtil::ToStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 23
    functionsReached:
    - TIXML_SNPRINTF
    linkageType: ''
    returnType: void
    signature: void XMLUtil::ToStr(int64_t v, char* buffer, int bufferSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: tinyxml2::XMLUtil::ToInt
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToInt( const char* str, int* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: tinyxml2::XMLUtil::ToUnsigned
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToUnsigned( const char* str, unsigned *value )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToInt
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:611,1
    - Dst: StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:615,1
    - Dst: StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 624
    functionName: tinyxml2::XMLUtil::ToBool
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLUtil::ToInt
    - StringEqual
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToBool( const char* str, bool* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: tinyxml2::XMLUtil::ToFloat
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToFloat( const char* str, float* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: tinyxml2::XMLUtil::ToDouble
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToDouble( const char* str, double* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXML_SSCANF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: tinyxml2::XMLUtil::ToInt64
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXML_SSCANF
    linkageType: ''
    returnType: bool
    signature: bool XMLUtil::ToInt64(const char* str, int64_t* value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:658,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:659,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:662,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:665,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:682,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:683,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:685,1
    - Dst: CreateUnlinkedNode<XMLDeclaration>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:686,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:690,1
    - Dst: CreateUnlinkedNode<XMLComment>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:691,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:695,1
    - Dst: CreateUnlinkedNode<XMLText>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:696,1
    - Dst: XMLText*::SetCData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:700,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:702,1
    - Dst: CreateUnlinkedNode<XMLUnknown>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:703,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:707,1
    - Dst: CreateUnlinkedNode<XMLElement>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:708,1
    - Dst: CreateUnlinkedNode<XMLText>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:713,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:719,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:720,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - p
    - node
    argTypes:
    - char*
    - XMLNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 723
    functionName: tinyxml2::XMLDocument::Identify
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLText>
    - XMLText*::SetCData
    - tinyxml2::StringEqual
    - CreateUnlinkedNode<XMLDeclaration>
    - CreateUnlinkedNode<XMLElement>
    - CreateUnlinkedNode<XMLUnknown>
    - tinyxml2::SkipWhiteSpace
    - TIXMLASSERT
    - CreateUnlinkedNode<XMLComment>
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::Identify( char* p, XMLNode** node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:728,1
    - Dst: XMLVisitor*::VisitEnter
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:729,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:730,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:730,1
    - Dst: XMLNode*::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:731,1
    - Dst: XMLVisitor*::VisitExit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 737
    functionName: tinyxml2::XMLDocument::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - XMLNode*::Accept
    - XMLNode*::NextSibling
    - XMLVisitor*::VisitEnter
    - XMLVisitor*::VisitExit
    - TIXMLASSERT
    - FirstChild
    linkageType: ''
    returnType: bool
    signature: bool XMLDocument::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 752
    functionName: tinyxml2::XMLNode::XMLNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLNode::XMLNode( XMLDocument* doc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:757,1
    - Dst: Unlink
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: XMLNode::~XMLNode()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Unlink
    - DeleteChildren
    linkageType: ''
    returnType: void
    signature: void XMLNode::~XMLNode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode::ToDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:766,1
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: tinyxml2::XMLNode::Value
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLNode::ToDocument
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLNode::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetInternedStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:774,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - staticMem
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 779
    functionName: tinyxml2::XMLNode::SetValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetInternedStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLNode::SetValue( const char* str, bool staticMem )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode::ShallowClone
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:783,1
    - Dst: tinyxml2::XMLNode::FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:786,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:786,1
    - Dst: XMLNode*::DeepClone
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:787,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:788,1
    - Dst: XMLNode*::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - target
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 792
    functionName: tinyxml2::XMLNode::DeepClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLNode::ShallowClone
    - tinyxml2::XMLNode::FirstChild
    - XMLNode*::DeepClone
    - XMLNode*::InsertEndChild
    - TIXMLASSERT
    - XMLNode*::NextSibling
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::DeepClone(XMLDocument* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:797,1
    - Dst: tinyxml2::XMLNode::DeleteChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 794
    functionDepth: 3
    functionLinenumber: 794
    functionLinenumberEnd: 801
    functionName: tinyxml2::XMLNode::DeleteChildren
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::DeleteChild
    linkageType: ''
    returnType: void
    signature: void XMLNode::DeleteChildren()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:806,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:807,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - child
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 825
    functionName: tinyxml2::XMLNode::Unlink
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLNode::Unlink( XMLNode* child )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:830,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:831,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:832,1
    - Dst: tinyxml2::XMLNode::Unlink
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:833,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:834,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:835,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:836,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 838
    functionName: tinyxml2::XMLNode::DeleteChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::Unlink
    - tinyxml2::XMLNode::DeleteNode
    linkageType: ''
    returnType: void
    signature: void XMLNode::DeleteChild( XMLNode* node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:843,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:845,1
    - Dst: tinyxml2::XMLNode::InsertChildPreamble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:848,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:851,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:852,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - addThis
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 868
    functionName: tinyxml2::XMLNode::InsertEndChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::InsertChildPreamble
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::InsertEndChild( XMLNode* addThis )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:873,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:875,1
    - Dst: tinyxml2::XMLNode::InsertChildPreamble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:878,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:881,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:882,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - addThis
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 899
    functionName: tinyxml2::XMLNode::InsertFirstChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::InsertChildPreamble
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::InsertFirstChild( XMLNode* addThis )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:904,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:906,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:910,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:913,1
    - Dst: tinyxml2::XMLNode::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:926,1
    - Dst: tinyxml2::XMLNode::InsertChildPreamble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - afterThis
    - addThis
    argTypes:
    - XMLNode*
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 935
    functionName: tinyxml2::XMLNode::InsertAfterChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLNode::InsertChildPreamble
    - tinyxml2::XMLNode::InsertEndChild
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLNode::InsertAfterChild( XMLNode* afterThis, XMLNode* addThis
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 949
    functionName: tinyxml2::XMLNode::FirstChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::FirstChildElement( const char* name ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 961
    functionName: tinyxml2::XMLNode::LastChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::LastChildElement( const char* name ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 973
    functionName: tinyxml2::XMLNode::NextSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::NextSiblingElement( const char* name ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode*::ToElementWithName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 985
    functionName: tinyxml2::XMLNode::PreviousSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToElementWithName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::PreviousSiblingElement( const char* name ) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1008,1
    - Dst: Identify
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1014,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1015,1
    - Dst: XMLNode*::ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1023,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1025,1
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1026,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1027,1
    - Dst: XMLNode*::ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1032,1
    - Dst: ToDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1044,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1045,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1047,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1048,1
    - Dst: LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1049,1
    - Dst: LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1050,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1057,1
    - Dst: XMLDeclaration*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1057,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1058,1
    - Dst: XMLNode*::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1063,1
    - Dst: XMLElement*::ClosingType
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1066,1
    - Dst: XMLElement*::_value::TransferTo
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1068,1
    - Dst: XMLNode*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1070,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1071,1
    - Dst: StrPair::Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1078,1
    - Dst: XMLElement*::ClosingType
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1079,1
    - Dst: XMLElement*::ClosingType
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1084,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1087,1
    - Dst: StrPair::GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1087,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1087,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1092,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1092,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1093,1
    - Dst: tinyxml2::XMLNode::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1097,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 3
    argNames:
    - p
    - parentEndTag
    - curLineNumPtr
    argTypes:
    - char*
    - StrPair*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1100
    functionName: tinyxml2::XMLNode::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - TIXMLASSERT
    - LastChild
    - ToDocument
    - Identify
    - tinyxml2::StringEqual
    - SetError
    - FirstChild
    - XMLNode*::_memPool::SetTracked
    - StrPair::Empty
    - XMLNode*::ToDeclaration
    - XMLElement*::ClosingType
    - XMLNode*::ToElement
    - Error
    - tinyxml2::XMLNode::InsertEndChild
    - XMLElement*::_value::TransferTo
    - XMLNode*::ParseDeep
    - tinyxml2::XMLNode::DeleteNode
    - XMLElement*::Name
    - StrPair::GetStr
    - XMLDeclaration*::Value
    linkageType: ''
    returnType: char
    signature: char * XMLNode::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1107,1
    - Dst: XMLNode*::ToDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1108,1
    - Dst: XMLNode*::_document::MarkInUse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1109,1
    - Dst: XMLNode*::~XMLNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1113,1
    - Dst: MemPool*::Free
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1115
    functionName: tinyxml2::XMLNode::DeleteNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 5
    functionsReached:
    - XMLNode*::ToDocument
    - XMLNode*::~XMLNode
    - XMLNode*::_document::MarkInUse
    - MemPool*::Free
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLNode::DeleteNode( XMLNode* node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1119,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1120,1
    - Dst: XMLNode*::_parent::Unlink
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1123,1
    - Dst: XMLNode*::_document::MarkInUse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1126,1
    - Dst: XMLNode*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - insertThis
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1129
    functionName: tinyxml2::XMLNode::InsertChildPreamble
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 6
    functionsReached:
    - TIXMLASSERT
    - XMLNode*::_memPool::SetTracked
    - XMLNode*::_parent::Unlink
    - XMLNode*::_document::MarkInUse
    linkageType: ''
    returnType: void
    signature: void XMLNode::InsertChildPreamble( XMLNode* insertThis ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLNode::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1133,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1140,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1144
    functionName: tinyxml2::XMLNode::ToElementWithName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLNode::ToElement
    - tinyxml2::StringEqual
    - XMLElement*::Name
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLNode::ToElementWithName( const char* name ) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLText::CData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1149,1
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1150,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1152,1
    - Dst: ProcessEntities
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1157,1
    - Dst: WhitespaceMode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1158,1
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1162,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1171
    functionName: tinyxml2::XMLText::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    - WhitespaceMode
    - ProcessEntities
    - tinyxml2::XMLText::CData
    linkageType: ''
    returnType: char
    signature: char * XMLText::ParseDeep( char* p, StrPair*, int* curLineNumPtr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1179,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1179,1
    - Dst: XMLText*::SetCData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1180,1
    - Dst: tinyxml2::XMLText::CData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: tinyxml2::XMLText::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLText::CData
    - Value
    - XMLDocument*::NewText
    - XMLText*::SetCData
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLText::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1187,1
    - Dst: XMLNode*::ToText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1188,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1189,1
    - Dst: XMLText*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1189,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1190
    functionName: tinyxml2::XMLText::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::StringEqual
    - TIXMLASSERT
    - XMLText*::Value
    - Value
    - XMLNode*::ToText
    linkageType: ''
    returnType: bool
    signature: bool XMLText::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1195,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: tinyxml2::XMLText::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLText::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1204
    functionName: tinyxml2::XMLComment::XMLComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLComment::XMLComment( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: XMLComment::~XMLComment()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLComment::~XMLComment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1215,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1220
    functionName: tinyxml2::XMLComment::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    linkageType: ''
    returnType: char
    signature: char * XMLComment::ParseDeep( char* p, StrPair*, int* curLineNumPtr
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewComment
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1228,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1230
    functionName: tinyxml2::XMLComment::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - XMLDocument*::NewComment
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLComment::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1235,1
    - Dst: XMLNode*::ToComment
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1236,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1237,1
    - Dst: XMLComment*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1237,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1238
    functionName: tinyxml2::XMLComment::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToComment
    - tinyxml2::StringEqual
    - XMLComment*::Value
    - TIXMLASSERT
    - Value
    linkageType: ''
    returnType: bool
    signature: bool XMLComment::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1243,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1245
    functionName: tinyxml2::XMLComment::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLComment::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1252
    functionName: tinyxml2::XMLDeclaration::XMLDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLDeclaration::XMLDeclaration( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1258
    functionName: XMLDeclaration::~XMLDeclaration()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLDeclaration::~XMLDeclaration()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1264,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1269
    functionName: tinyxml2::XMLDeclaration::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    linkageType: ''
    returnType: char
    signature: char * XMLDeclaration::ParseDeep( char* p, StrPair*, int* curLineNumPtr
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1277,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1279
    functionName: tinyxml2::XMLDeclaration::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLDocument*::NewDeclaration
    - Value
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLDeclaration::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1284,1
    - Dst: XMLNode*::ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1285,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1286,1
    - Dst: XMLDeclaration*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1286,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1287
    functionName: tinyxml2::XMLDeclaration::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::StringEqual
    - TIXMLASSERT
    - Value
    - XMLNode*::ToDeclaration
    - XMLDeclaration*::Value
    linkageType: ''
    returnType: bool
    signature: bool XMLDeclaration::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1293,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1295
    functionName: tinyxml2::XMLDeclaration::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLDeclaration::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    functionName: tinyxml2::XMLUnknown::XMLUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLUnknown::XMLUnknown( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: XMLUnknown::~XMLUnknown()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLUnknown::~XMLUnknown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1312,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1317
    functionName: tinyxml2::XMLUnknown::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetError
    - ParseText
    linkageType: ''
    returnType: char
    signature: char * XMLUnknown::ParseDeep( char* p, StrPair*, int* curLineNumPtr
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1325,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1327
    functionName: tinyxml2::XMLUnknown::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLDocument*::NewUnknown
    - Value
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLUnknown::ShallowClone( XMLDocument* doc ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1332,1
    - Dst: XMLNode*::ToUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1333,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1334,1
    - Dst: XMLUnknown*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1334,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1335
    functionName: tinyxml2::XMLUnknown::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::ToUnknown
    - tinyxml2::StringEqual
    - XMLUnknown*::Value
    - TIXMLASSERT
    - Value
    linkageType: ''
    returnType: bool
    signature: bool XMLUnknown::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1340,1
    - Dst: XMLVisitor*::Visit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1342
    functionName: tinyxml2::XMLUnknown::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - XMLVisitor*::Visit
    linkageType: ''
    returnType: bool
    signature: bool XMLUnknown::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1349
    functionName: tinyxml2::XMLAttribute::Name
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLAttribute::Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1354
    functionName: tinyxml2::XMLAttribute::Value
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 6
    functionsReached:
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLAttribute::Value() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParseName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1359,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1365,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1371,1
    - Dst: ParseText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p
    - processEntities
    - curLineNumPtr
    argTypes:
    - char*
    - bool
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1381
    functionName: tinyxml2::XMLAttribute::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - ParseName
    - ParseText
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: char
    signature: char * XMLAttribute::ParseDeep( char* p, bool processEntities, int*
      curLineNumPtr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1387
    functionName: tinyxml2::XMLAttribute::SetName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetName( const char* n )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToInt
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1392,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1396
    functionName: tinyxml2::XMLAttribute::QueryIntValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToInt
    - tinyxml2::XMLAttribute::Value
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryIntValue( int* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToUnsigned
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1401,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1405
    functionName: tinyxml2::XMLAttribute::QueryUnsignedValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLAttribute::Value
    - tinyxml2::XMLUtil::ToUnsigned
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryUnsignedValue( unsigned int* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToInt64
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1410,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1414
    functionName: tinyxml2::XMLAttribute::QueryInt64Value
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLAttribute::Value
    - tinyxml2::XMLUtil::ToInt64
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryInt64Value(int64_t* value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToBool
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1419,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1423
    functionName: tinyxml2::XMLAttribute::QueryBoolValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToBool
    - tinyxml2::XMLAttribute::Value
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryBoolValue( bool* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToFloat
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1428,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1432
    functionName: tinyxml2::XMLAttribute::QueryFloatValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLAttribute::Value
    - tinyxml2::XMLUtil::ToFloat
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryFloatValue( float* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToDouble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1437,1
    - Dst: tinyxml2::XMLAttribute::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1441
    functionName: tinyxml2::XMLAttribute::QueryDoubleValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToDouble
    - tinyxml2::XMLAttribute::Value
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLAttribute::QueryDoubleValue( double* value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1447
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( const char* v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1453,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1455
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( int v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1461,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1463
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( unsigned v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1469,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1471
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute(int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1478,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1480
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( bool v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1485,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1487
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( double v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1492,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1494
    functionName: tinyxml2::XMLAttribute::SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLAttribute::SetAttribute( float v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: tinyxml2::XMLElement::XMLElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLElement::XMLElement( XMLDocument* doc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1512
    functionName: XMLElement::~XMLElement()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - DeleteAttribute
    linkageType: ''
    returnType: void
    signature: void XMLElement::~XMLElement()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1518,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1523
    functionName: tinyxml2::XMLElement::FindAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - XMLAttribute*::Name
    - tinyxml2::StringEqual
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * XMLElement::FindAttribute( const char* name ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1528,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1532,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1532,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1536
    functionName: tinyxml2::XMLElement::Attribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - XMLAttribute*::Value
    - tinyxml2::XMLElement::FindAttribute
    - tinyxml2::StringEqual
    linkageType: ''
    returnType: char
    signature: char * XMLElement::Attribute( const char* name, const char* value )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryIntAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1543
    functionName: tinyxml2::XMLElement::IntAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryIntAttribute
    linkageType: ''
    returnType: int
    signature: int XMLElement::IntAttribute(const char* name, int defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryUnsignedAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1550
    functionName: tinyxml2::XMLElement::UnsignedAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryUnsignedAttribute
    linkageType: ''
    returnType: unsigned
    signature: unsigned XMLElement::UnsignedAttribute(const char* name, unsigned defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryInt64Attribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1557
    functionName: tinyxml2::XMLElement::Int64Attribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryInt64Attribute
    linkageType: ''
    returnType: int64_t
    signature: int64_t XMLElement::Int64Attribute(const char* name, int64_t defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryBoolAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1564
    functionName: tinyxml2::XMLElement::BoolAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryBoolAttribute
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::BoolAttribute(const char* name, bool defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryDoubleAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1571
    functionName: tinyxml2::XMLElement::DoubleAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryDoubleAttribute
    linkageType: ''
    returnType: double
    signature: double XMLElement::DoubleAttribute(const char* name, double defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryFloatAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - defaultValue
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1578
    functionName: tinyxml2::XMLElement::FloatAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - QueryFloatAttribute
    linkageType: ''
    returnType: float
    signature: float XMLElement::FloatAttribute(const char* name, float defaultValue)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1582,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1582,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1586
    functionName: tinyxml2::XMLElement::GetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - FirstChild
    linkageType: ''
    returnType: char
    signature: char * XMLElement::GetText() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1591,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1591,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1592,1
    - Dst: GetDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1594,1
    - Dst: InsertFirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - inText
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1597
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 6
    functionsReached:
    - InsertFirstChild
    - FirstChild
    - GetDocument
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( const char* inText )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1603,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1605
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 7
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( int v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1611,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1613
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 8
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( unsigned v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1619,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1616
    functionDepth: 2
    functionLinenumber: 1616
    functionLinenumberEnd: 1621
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 9
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText(int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1627,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1629
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 10
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( bool v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1635,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1632
    functionDepth: 2
    functionLinenumber: 1632
    functionLinenumberEnd: 1637
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 11
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( float v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1643,1
    - Dst: tinyxml2::XMLElement::SetText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1640
    functionDepth: 2
    functionLinenumber: 1640
    functionLinenumberEnd: 1645
    functionName: tinyxml2::XMLElement::SetText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 12
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLElement::SetText
    linkageType: ''
    returnType: void
    signature: void XMLElement::SetText( double v )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1650,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1650,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1651,1
    - Dst: tinyxml2::XMLUtil::ToInt
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ival
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1658
    functionName: tinyxml2::XMLElement::QueryIntText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLUtil::ToInt
    - FirstChild
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryIntText( int* ival ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1663,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1663,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1664,1
    - Dst: tinyxml2::XMLUtil::ToUnsigned
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - uval
    argTypes:
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1671
    functionName: tinyxml2::XMLElement::QueryUnsignedText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - FirstChild
    - tinyxml2::XMLUtil::ToUnsigned
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryUnsignedText( unsigned* uval ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1676,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1676,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1677,1
    - Dst: tinyxml2::XMLUtil::ToInt64
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ival
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1684
    functionName: tinyxml2::XMLElement::QueryInt64Text
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - FirstChild
    - tinyxml2::XMLUtil::ToInt64
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryInt64Text(int64_t* ival) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1689,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1689,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1690,1
    - Dst: tinyxml2::XMLUtil::ToBool
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bval
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1697
    functionName: tinyxml2::XMLElement::QueryBoolText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLUtil::ToBool
    - FirstChild
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryBoolText( bool* bval ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1702,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1702,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1703,1
    - Dst: tinyxml2::XMLUtil::ToDouble
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dval
    argTypes:
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1710
    functionName: tinyxml2::XMLElement::QueryDoubleText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLUtil::ToDouble
    - FirstChild
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryDoubleText( double* dval ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1715,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1715,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1716,1
    - Dst: tinyxml2::XMLUtil::ToFloat
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fval
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1723
    functionName: tinyxml2::XMLElement::QueryFloatText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - FirstChild
    - tinyxml2::XMLUtil::ToFloat
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLElement::QueryFloatText( float* fval ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryIntText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1730
    functionName: tinyxml2::XMLElement::IntText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryIntText
    linkageType: ''
    returnType: int
    signature: int XMLElement::IntText(int defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryUnsignedText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1737
    functionName: tinyxml2::XMLElement::UnsignedText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryUnsignedText
    linkageType: ''
    returnType: unsigned
    signature: unsigned XMLElement::UnsignedText(unsigned defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryInt64Text
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1739
    functionDepth: 2
    functionLinenumber: 1739
    functionLinenumberEnd: 1744
    functionName: tinyxml2::XMLElement::Int64Text
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryInt64Text
    linkageType: ''
    returnType: int64_t
    signature: int64_t XMLElement::Int64Text(int64_t defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryBoolText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1746
    functionDepth: 3
    functionLinenumber: 1746
    functionLinenumberEnd: 1751
    functionName: tinyxml2::XMLElement::BoolText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryBoolText
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::BoolText(bool defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryDoubleText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1753
    functionDepth: 2
    functionLinenumber: 1753
    functionLinenumberEnd: 1758
    functionName: tinyxml2::XMLElement::DoubleText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryDoubleText
    linkageType: ''
    returnType: double
    signature: double XMLElement::DoubleText(double defaultValue) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLElement::QueryFloatText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - defaultValue
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1760
    functionDepth: 2
    functionLinenumber: 1760
    functionLinenumberEnd: 1765
    functionName: tinyxml2::XMLElement::FloatText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::QueryFloatText
    linkageType: ''
    returnType: float
    signature: float XMLElement::FloatText(float defaultValue) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1775,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1775,1
    - Dst: tinyxml2::XMLElement::CreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1780,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1781,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1783,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1787,1
    - Dst: XMLAttribute*::SetName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1768
    functionDepth: 2
    functionLinenumber: 1768
    functionLinenumberEnd: 1793
    functionName: tinyxml2::XMLElement::FindOrCreateAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLAttribute*::Name
    - tinyxml2::XMLElement::CreateAttribute
    - tinyxml2::StringEqual
    - XMLAttribute*::SetName
    - TIXMLASSERT
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * XMLElement::FindOrCreateAttribute( const char* name
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1800,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1800,1
    - Dst: tinyxml2::XMLElement::DeleteAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1812
    functionName: tinyxml2::XMLElement::DeleteAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - tinyxml2::XMLElement::DeleteAttribute
    - XMLAttribute*::Name
    - tinyxml2::StringEqual
    linkageType: ''
    returnType: void
    signature: void XMLElement::DeleteAttribute( const char* name )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1821,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1823,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1823,1
    - Dst: tinyxml2::IsNameStartChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1828,1
    - Dst: tinyxml2::XMLElement::CreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1829,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1830,1
    - Dst: XMLAttribute*::ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1835,1
    - Dst: ProcessEntities
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1835,1
    - Dst: tinyxml2::XMLElement::Attribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1836,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1836,1
    - Dst: tinyxml2::XMLElement::DeleteAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1837,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1838,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1838,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1847,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1851,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1867,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1815
    functionDepth: 3
    functionLinenumber: 1815
    functionLinenumberEnd: 1872
    functionName: tinyxml2::XMLElement::ParseAttributes
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - Name
    - tinyxml2::XMLElement::CreateAttribute
    - XMLAttribute*::Name
    - XMLAttribute*::ParseDeep
    - tinyxml2::XMLElement::DeleteAttribute
    - ProcessEntities
    - tinyxml2::SkipWhiteSpace
    - TIXMLASSERT
    - SetError
    - tinyxml2::XMLElement::Attribute
    - tinyxml2::IsNameStartChar
    linkageType: ''
    returnType: char
    signature: char * XMLElement::ParseAttributes( char* p, int* curLineNumPtr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLAttribute*::~XMLAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1880,1
    - Dst: MemPool*::Free
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - XMLAttribute*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1882
    functionName: tinyxml2::XMLElement::DeleteAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - MemPool*::Free
    - XMLAttribute*::~XMLAttribute
    linkageType: ''
    returnType: void
    signature: void XMLElement::DeleteAttribute( XMLAttribute* attribute )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1886,1
    - Dst: _attributePool::ItemSize
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1886,1
    - Dst: _attributePool::Alloc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1887,1
    - Dst: XMLAttribute::XMLAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1887,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1888,1
    - Dst: XMLAttribute*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1884
    functionDepth: 1
    functionLinenumber: 1884
    functionLinenumberEnd: 1892
    functionName: tinyxml2::XMLElement::CreateAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - XMLAttribute::XMLAttribute
    - _attributePool::Alloc
    - XMLAttribute*::_memPool::SetTracked
    - _attributePool::ItemSize
    - TIXMLASSERT
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * XMLElement::CreateAttribute()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1901,1
    - Dst: ParseName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1911,1
    - Dst: Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1912,1
    - Dst: tinyxml2::XMLElement::ParseAttributes
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1916,1
    - Dst: tinyxml2::XMLNode::ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p
    - parentEndTag
    - curLineNumPtr
    argTypes:
    - char*
    - StrPair*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1898
    functionDepth: 4
    functionLinenumber: 1898
    functionLinenumberEnd: 1923
    functionName: tinyxml2::XMLElement::ParseDeep
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLElement::ParseAttributes
    - tinyxml2::XMLNode::ParseDeep
    - Empty
    - ParseName
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: char
    signature: char * XMLElement::ParseDeep( char* p, StrPair* parentEndTag, int*
      curLineNumPtr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::NewElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1932,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1932,1
    - Dst: FirstAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1933,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1933,1
    - Dst: XMLElement*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1934,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1934,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - doc
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1937
    functionName: tinyxml2::XMLElement::ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLAttribute*::Name
    - XMLDocument*::NewElement
    - XMLElement*::SetAttribute
    - FirstAttribute
    - XMLAttribute*::Value
    - Value
    - XMLAttribute*::Next
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * XMLElement::ShallowClone( XMLDocument* doc ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1942,1
    - Dst: XMLNode*::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1943,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1944,1
    - Dst: XMLElement*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1944,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1944,1
    - Dst: FirstAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1946,1
    - Dst: XMLElement*::FirstAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1947,1
    - Dst: tinyxml2::StringEqual
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1950,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1950,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1950,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1953,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - compare
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1963
    functionName: tinyxml2::XMLElement::ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLElement*::FirstAttribute
    - Name
    - FirstAttribute
    - tinyxml2::StringEqual
    - XMLAttribute*::Value
    - XMLElement*::Name
    - TIXMLASSERT
    - XMLAttribute*::Next
    - XMLNode*::ToElement
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::ShallowEqual( const XMLNode* compare ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1968,1
    - Dst: XMLVisitor*::VisitEnter
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1969,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1970,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1970,1
    - Dst: XMLNode*::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1971,1
    - Dst: XMLVisitor*::VisitExit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:1976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - visitor
    argTypes:
    - XMLVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 1977
    functionName: tinyxml2::XMLElement::Accept
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::Accept
    - XMLNode*::NextSibling
    - XMLVisitor*::VisitEnter
    - XMLVisitor*::VisitExit
    - TIXMLASSERT
    - FirstChild
    linkageType: ''
    returnType: bool
    signature: bool XMLElement::Accept( XMLVisitor* visitor ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - processEntities
    - whitespaceMode
    argTypes:
    - bool
    - Whitespace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2025
    functionName: tinyxml2::XMLDocument::XMLDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLDocument::XMLDocument( bool processEntities, Whitespace whitespaceMode
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2031
    functionName: XMLDocument::~XMLDocument()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void XMLDocument::~XMLDocument()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2036,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2037,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2039,1
    - Dst: SwapRemove
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2045
    functionName: tinyxml2::XMLDocument::MarkInUse
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - Size
    - SwapRemove
    linkageType: ''
    returnType: void
    signature: void XMLDocument::MarkInUse(XMLNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2049,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2050,1
    - Dst: tinyxml2::XMLDocument::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2051,1
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2055,1
    - Dst: ClearError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2057,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2064,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2065,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2066,1
    - Dst: Trace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2067,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2072,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2072,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2072,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2073,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2073,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2073,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2074,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2074,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2074,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2075,1
    - Dst: CurrentAllocs
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2075,1
    - Dst: Untracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2047
    functionDepth: 3
    functionLinenumber: 2047
    functionLinenumberEnd: 2078
    functionName: tinyxml2::XMLDocument::Clear
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - Untracked
    - Trace
    - tinyxml2::XMLDocument::DeleteNode
    - Size
    - TIXMLASSERT
    - Error
    - ClearError
    - CurrentAllocs
    - DeleteChildren
    linkageType: ''
    returnType: void
    signature: void XMLDocument::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2083,1
    - Dst: XMLDocument*::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2088,1
    - Dst: tinyxml2::XMLDocument::FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2089,1
    - Dst: XMLNode*::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2089,1
    - Dst: XMLDocument*::InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2090,1
    - Dst: XMLNode*::DeepClone
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - target
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2092
    functionName: tinyxml2::XMLDocument::DeepCopy
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLNode*::DeepClone
    - tinyxml2::XMLDocument::FirstChild
    - XMLNode*::NextSibling
    - XMLDocument*::InsertEndChild
    - XMLDocument*::Clear
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLDocument::DeepCopy(XMLDocument* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLElement>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2096,1
    - Dst: XMLElement*::SetName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2094
    functionDepth: 1
    functionLinenumber: 2094
    functionLinenumberEnd: 2099
    functionName: tinyxml2::XMLDocument::NewElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLElement>
    - XMLElement*::SetName
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * XMLDocument::NewElement( const char* name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLComment>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2104,1
    - Dst: XMLComment*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2107
    functionName: tinyxml2::XMLDocument::NewComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLComment>
    - XMLComment*::SetValue
    linkageType: ''
    returnType: XMLComment
    signature: XMLComment * XMLDocument::NewComment( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLText>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2112,1
    - Dst: XMLText*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2115
    functionName: tinyxml2::XMLDocument::NewText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLText*::SetValue
    - CreateUnlinkedNode<XMLText>
    linkageType: ''
    returnType: XMLText
    signature: XMLText * XMLDocument::NewText( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLDeclaration>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2120,1
    - Dst: XMLDeclaration*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2123
    functionName: tinyxml2::XMLDocument::NewDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - XMLDeclaration*::SetValue
    - CreateUnlinkedNode<XMLDeclaration>
    linkageType: ''
    returnType: XMLDeclaration
    signature: XMLDeclaration * XMLDocument::NewDeclaration( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateUnlinkedNode<XMLUnknown>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2128,1
    - Dst: XMLUnknown*::SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2131
    functionName: tinyxml2::XMLDocument::NewUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CreateUnlinkedNode<XMLUnknown>
    - XMLUnknown*::SetValue
    linkageType: ''
    returnType: XMLUnknown
    signature: XMLUnknown * XMLDocument::NewUnknown( const char* str )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2135,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2136,1
    - Dst: fopen_s
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2139,1
    - Dst: fopen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - filepath
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2147
    functionName: tinyxml2::callfopen
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - fopen_s
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE * callfopen( const char* filepath, const char* mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2150,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2151,1
    - Dst: XMLNode*::_parent::DeleteChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2153,1
    - Dst: XMLNode*::_memPool::SetTracked
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2160,1
    - Dst: tinyxml2::XMLNode::DeleteNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2149
    functionDepth: 2
    functionLinenumber: 2149
    functionLinenumberEnd: 2164
    functionName: tinyxml2::XMLDocument::DeleteNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    - XMLNode*::_memPool::SetTracked
    - XMLNode*::_parent::DeleteChild
    - tinyxml2::XMLNode::DeleteNode
    linkageType: ''
    returnType: void
    signature: void XMLDocument::DeleteNode( XMLNode* node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2170,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2171,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2175,1
    - Dst: callfopen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2176,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2178,1
    - Dst: tinyxml2::XMLDocument::LoadFile
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2181,1
    - Dst: fclose
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2167
    functionDepth: 2
    functionLinenumber: 2167
    functionLinenumberEnd: 2184
    functionName: tinyxml2::XMLDocument::LoadFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLDocument::Clear
    - tinyxml2::XMLDocument::SetError
    - callfopen
    - TIXMLASSERT
    - tinyxml2::XMLDocument::LoadFile
    - fclose
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::LoadFile( const char* filename )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2198
    functionName: tinyxml2::Fits
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Fits( unsigned long value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2206
    functionName: tinyxml2::Fits
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Fits( unsigned long )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2211,1
    - Dst: fseek
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2213,1
    - Dst: fgetc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2214,1
    - Dst: ferror
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2214,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2215,1
    - Dst: fseek
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2219,1
    - Dst: ftell
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2220,1
    - Dst: fseek
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2221,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2223,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2226,1
    - Dst: tinyxml2::Fits
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2228,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2230,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2235,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2240,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2241,1
    - Dst: fread
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2242,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2244,1
    - Dst: tinyxml2::XMLDocument::Parse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2209
    functionDepth: 3
    functionLinenumber: 2209
    functionLinenumberEnd: 2252
    functionName: tinyxml2::XMLDocument::LoadFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - fread
    - tinyxml2::XMLDocument::Clear
    - tinyxml2::XMLDocument::SetError
    - ftell
    - tinyxml2::XMLDocument::Parse
    - ferror
    - fgetc
    - tinyxml2::Fits
    - TIXMLASSERT
    - fseek
    - char::char
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::LoadFile( FILE* fp )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2258,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2259,1
    - Dst: callfopen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2263,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2265,1
    - Dst: tinyxml2::XMLDocument::SaveFile
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2268,1
    - Dst: fclose
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - filename
    - compact
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2255
    functionDepth: 2
    functionLinenumber: 2255
    functionLinenumberEnd: 2271
    functionName: tinyxml2::XMLDocument::SaveFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLDocument::SetError
    - callfopen
    - tinyxml2::XMLDocument::SaveFile
    - TIXMLASSERT
    - fclose
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::SaveFile( const char* filename, bool compact
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2278,1
    - Dst: tinyxml2::XMLDocument::Print
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fp
    - compact
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2274
    functionDepth: 3
    functionLinenumber: 2274
    functionLinenumberEnd: 2282
    functionName: tinyxml2::XMLDocument::SaveFile
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLDocument::Print
    - ClearError
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::SaveFile( FILE* fp, bool compact )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2287,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2290,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2294,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2296,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2297,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2298,1
    - Dst: tinyxml2::XMLDocument::Parse
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2301,1
    - Dst: Error
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2302,1
    - Dst: DeleteChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2306,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2307,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2308,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2309,1
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2285
    functionDepth: 2
    functionLinenumber: 2285
    functionLinenumberEnd: 2313
    functionName: tinyxml2::XMLDocument::Parse
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - tinyxml2::XMLDocument::Clear
    - tinyxml2::XMLDocument::SetError
    - tinyxml2::XMLDocument::Parse
    - memcpy
    - strlen
    - TIXMLASSERT
    - Error
    - char::char
    - DeleteChildren
    linkageType: ''
    returnType: XMLError
    signature: XMLError XMLDocument::Parse( const char* p, size_t len )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2319,1
    - Dst: tinyxml2::XMLDocument::Accept
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - streamer
    argTypes:
    - XMLPrinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2316
    functionDepth: 2
    functionLinenumber: 2316
    functionLinenumberEnd: 2325
    functionName: tinyxml2::XMLDocument::Print
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - tinyxml2::XMLDocument::Accept
    linkageType: ''
    returnType: void
    signature: void XMLDocument::Print( XMLPrinter* streamer ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2330,1
    - Dst: Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2333,1
    - Dst: char::char
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2336,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2338,1
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2339,1
    - Dst: tinyxml2::XMLDocument::ErrorIDToName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2339,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2342,1
    - Dst: TIXML_SNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2343,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2344,1
    - Dst: va_start
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2347,1
    - Dst: TIXML_VSNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2348,1
    - Dst: va_end
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2349,1
    - Dst: SetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - error
    - lineNum
    - format
    argTypes:
    - XMLError
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2328
    functionDepth: 2
    functionLinenumber: 2328
    functionLinenumberEnd: 2353
    functionName: tinyxml2::XMLDocument::SetError
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 10
    functionsReached:
    - tinyxml2::XMLDocument::ErrorIDToName
    - va_start
    - TIXML_VSNPRINTF
    - strlen
    - va_end
    - TIXML_SNPRINTF
    - Reset
    - TIXMLASSERT
    - char::char
    - SetStr
    linkageType: ''
    returnType: void
    signature: void XMLDocument::SetError( XMLError error, int lineNum, const char*
      format, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2358,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - errorID
    argTypes:
    - XMLError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2362
    functionName: tinyxml2::XMLDocument::ErrorIDToName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::ErrorIDToName(XMLError errorID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2366,1
    - Dst: GetStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2367
    functionName: tinyxml2::XMLDocument::ErrorStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - Empty
    - GetStr
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::ErrorStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2372,1
    - Dst: tinyxml2::XMLDocument::ErrorStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2373
    functionName: tinyxml2::XMLDocument::PrintError
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::ErrorStr
    - printf
    linkageType: ''
    returnType: void
    signature: void XMLDocument::PrintError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::ErrorIDToName
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2375
    functionDepth: 2
    functionLinenumber: 2375
    functionLinenumberEnd: 2378
    functionName: tinyxml2::XMLDocument::ErrorName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::ErrorIDToName
    linkageType: ''
    returnType: char
    signature: char * XMLDocument::ErrorName() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2382,1
    - Dst: NoChildren
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2382,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2383,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2387,1
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2388,1
    - Dst: tinyxml2::XMLUtil::ReadBOM
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2388,1
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2390,1
    - Dst: ParseDeep
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2380
    functionDepth: 2
    functionLinenumber: 2380
    functionLinenumberEnd: 2394
    functionName: tinyxml2::XMLDocument::Parse
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 4
    functionsReached:
    - tinyxml2::XMLDocument::SetError
    - const_cast<char*>
    - ParseDeep
    - tinyxml2::SkipWhiteSpace
    - TIXMLASSERT
    - tinyxml2::XMLUtil::ReadBOM
    - NoChildren
    linkageType: ''
    returnType: void
    signature: void XMLDocument::Parse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2396
    functionDepth: 2
    functionLinenumber: 2396
    functionLinenumberEnd: 2402
    functionName: tinyxml2::XMLDocument::PushDepth
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::SetError
    linkageType: ''
    returnType: void
    signature: void XMLDocument::PushDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2404
    functionDepth: 1
    functionLinenumber: 2404
    functionLinenumberEnd: 2408
    functionName: tinyxml2::XMLDocument::PopDepth
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLDocument::PopDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2428,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - file
    - compact
    - depth
    argTypes:
    - FILE*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2410
    functionDepth: 1
    functionLinenumber: 2410
    functionLinenumberEnd: 2435
    functionName: tinyxml2::XMLPrinter::XMLPrinter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - Push
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::XMLPrinter( FILE* file, bool compact, int depth )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2441,1
    - Dst: vfprintf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2444,1
    - Dst: TIXML_VSCPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2447,1
    - Dst: va_end
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2449,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2450,1
    - Dst: va_start
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2451,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2452,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2452,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2452,1
    - Dst: PushArr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2453,1
    - Dst: TIXML_VSNPRINTF
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2454,1
    - Dst: va_end
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2457
    functionName: tinyxml2::XMLPrinter::Print
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - TIXML_VSCPRINTF
    - va_start
    - TIXML_VSNPRINTF
    - PushArr
    - vfprintf
    - va_end
    - Size
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::Print( const char* format, ... )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2463,1
    - Dst: PushArr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2466,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2466,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2470
    functionName: tinyxml2::XMLPrinter::Write
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 10
    functionsReached:
    - PushArr
    - static_cast<int>
    - fwrite
    - memcpy
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::Write( const char* data, size_t size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2476,1
    - Dst: PushArr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2483
    functionName: tinyxml2::XMLPrinter::Putc
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 8
    functionsReached:
    - fputc
    - PushArr
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::Putc( char ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2491
    functionName: tinyxml2::XMLPrinter::PrintSpace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 5
    functionsReached:
    - tinyxml2::XMLPrinter::Write
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PrintSpace( int depth )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2502,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2512,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2518,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2519,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2520,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2527,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2533,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2540,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - p
    - restricted
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2546
    functionName: tinyxml2::XMLPrinter::PrintString
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::Putc
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PrintString( const char* p, bool restricted )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2553,1
    - Dst: reinterpret_cast< const char* >
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2553,1
    - Dst: tinyxml2::XMLPrinter::PushDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - writeBOM
    - writeDec
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2549
    functionDepth: 3
    functionLinenumber: 2549
    functionLinenumberEnd: 2558
    functionName: tinyxml2::XMLPrinter::PushHeader
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast< const char* >
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PushDeclaration
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushHeader( bool writeBOM, bool writeDec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2563,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2564,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2567,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2570,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2573,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - name
    - compactMode
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2561
    functionDepth: 2
    functionLinenumber: 2561
    functionLinenumberEnd: 2579
    functionName: tinyxml2::XMLPrinter::OpenElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - Push
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::Putc
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::OpenElement( const char* name, bool compactMode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2584,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2585,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2586,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2587,1
    - Dst: tinyxml2::XMLPrinter::PrintString
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2588,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2582
    functionDepth: 2
    functionLinenumber: 2582
    functionLinenumberEnd: 2590
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 6
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::PrintString
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, const char* value
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2596,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2593
    functionDepth: 2
    functionLinenumber: 2593
    functionLinenumberEnd: 2598
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 7
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, int v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2604,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2601
    functionDepth: 2
    functionLinenumber: 2601
    functionLinenumberEnd: 2606
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 8
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, unsigned v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2612,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2609
    functionDepth: 2
    functionLinenumber: 2609
    functionLinenumberEnd: 2614
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 9
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute(const char* name, int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2620,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2617
    functionDepth: 2
    functionLinenumber: 2617
    functionLinenumberEnd: 2622
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 10
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, bool v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2628,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - v
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2625
    functionDepth: 2
    functionLinenumber: 2625
    functionLinenumberEnd: 2630
    functionName: tinyxml2::XMLPrinter::PushAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 11
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushAttribute
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushAttribute( const char* name, double v )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Pop
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2636,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2639,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2643,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2644,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2646,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2647,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2648,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - compactMode
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2633
    functionDepth: 1
    functionLinenumber: 2633
    functionLinenumberEnd: 2658
    functionName: tinyxml2::XMLPrinter::CloseElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - Pop
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::CloseElement( bool compactMode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2661
    functionDepth: 1
    functionLinenumber: 2661
    functionLinenumberEnd: 2668
    functionName: tinyxml2::XMLPrinter::SealElementIfJustOpened
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 6
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::SealElementIfJustOpened()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2675,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2677,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2678,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2679,1
    - Dst: tinyxml2::XMLPrinter::PrintString
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - text
    - cdata
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2671
    functionDepth: 2
    functionLinenumber: 2671
    functionLinenumberEnd: 2684
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 7
    functionsReached:
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    - tinyxml2::XMLPrinter::PrintString
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( const char* text, bool cdata )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2689,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2686
    functionDepth: 2
    functionLinenumber: 2686
    functionLinenumberEnd: 2691
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 8
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( int64_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2696,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2693
    functionDepth: 2
    functionLinenumber: 2693
    functionLinenumberEnd: 2698
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 9
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( int value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2704,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2701
    functionDepth: 2
    functionLinenumber: 2701
    functionLinenumberEnd: 2706
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 10
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( unsigned value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2712,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2709
    functionDepth: 2
    functionLinenumber: 2709
    functionLinenumberEnd: 2714
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 11
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( bool value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2720,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2722
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 12
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( float value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLUtil::ToStr
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2728,1
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2725
    functionDepth: 2
    functionLinenumber: 2725
    functionLinenumberEnd: 2730
    functionName: tinyxml2::XMLPrinter::PushText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 13
    functionsReached:
    - tinyxml2::XMLUtil::ToStr
    - tinyxml2::XMLPrinter::PushText
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushText( double value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2735,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2737,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2738,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2742,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2743,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - comment
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2733
    functionDepth: 2
    functionLinenumber: 2733
    functionLinenumberEnd: 2745
    functionName: tinyxml2::XMLPrinter::PushComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushComment( const char* comment )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2750,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2752,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2753,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2757,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2758,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2748
    functionDepth: 2
    functionLinenumber: 2748
    functionLinenumberEnd: 2760
    functionName: tinyxml2::XMLPrinter::PushDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 3
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushDeclaration( const char* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::SealElementIfJustOpened
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2765,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2767,1
    - Dst: tinyxml2::XMLPrinter::PrintSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2768,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2772,1
    - Dst: tinyxml2::XMLPrinter::Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2773,1
    - Dst: tinyxml2::XMLPrinter::Putc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2763
    functionDepth: 2
    functionLinenumber: 2763
    functionLinenumberEnd: 2775
    functionName: tinyxml2::XMLPrinter::PushUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 1
    functionsReached:
    - tinyxml2::XMLPrinter::Putc
    - tinyxml2::XMLPrinter::Write
    - tinyxml2::XMLPrinter::PrintSpace
    - tinyxml2::XMLPrinter::SealElementIfJustOpened
    linkageType: ''
    returnType: void
    signature: void XMLPrinter::PushUnknown( const char* value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProcessEntities
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2780,1
    - Dst: HasBOM
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2781,1
    - Dst: tinyxml2::XMLPrinter::PushHeader
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' doc'
    argTypes:
    - XMLDocument
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2778
    functionDepth: 2
    functionLinenumber: 2778
    functionLinenumberEnd: 2785
    functionName: tinyxml2::XMLPrinter::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - HasBOM
    - ProcessEntities
    - tinyxml2::XMLPrinter::PushHeader
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::VisitEnter( const XMLDocument& doc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Parent
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2791,1
    - Dst: Parent
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2792,1
    - Dst: CompactMode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2794,1
    - Dst: tinyxml2::XMLPrinter::OpenElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2795,1
    - Dst: Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2795,1
    - Dst: tinyxml2::XMLPrinter::PushAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2797,1
    - Dst: XMLAttribute*::Name
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2797,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2797,1
    - Dst: XMLAttribute*::Next
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' element'
    - attribute
    argTypes:
    - XMLElement
    - XMLAttribute*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2788
    functionDepth: 3
    functionLinenumber: 2788
    functionLinenumberEnd: 2801
    functionName: tinyxml2::XMLPrinter::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Name
    - XMLAttribute*::Name
    - CompactMode
    - tinyxml2::XMLPrinter::PushAttribute
    - XMLAttribute*::Value
    - tinyxml2::XMLPrinter::OpenElement
    - XMLAttribute*::Next
    - Parent
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute*
      attribute )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::CloseElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2806,1
    - Dst: CompactMode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - XMLElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2804
    functionDepth: 2
    functionLinenumber: 2804
    functionLinenumberEnd: 2808
    functionName: tinyxml2::XMLPrinter::VisitExit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - CompactMode
    - tinyxml2::XMLPrinter::CloseElement
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::VisitExit( const XMLElement& element )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2813,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2813,1
    - Dst: CData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - XMLText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2811
    functionDepth: 3
    functionLinenumber: 2811
    functionLinenumberEnd: 2815
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushText
    - CData
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLText& text )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushComment
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2820,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' comment'
    argTypes:
    - XMLComment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2818
    functionDepth: 3
    functionLinenumber: 2818
    functionLinenumberEnd: 2822
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushComment
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLComment& comment )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2826,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' declaration'
    argTypes:
    - XMLDeclaration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2824
    functionDepth: 3
    functionLinenumber: 2824
    functionLinenumberEnd: 2828
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushDeclaration
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLDeclaration& declaration )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLPrinter::PushUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2833,1
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp:2833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' unknown'
    argTypes:
    - XMLUnknown
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2831
    functionDepth: 3
    functionLinenumber: 2831
    functionLinenumberEnd: 2835
    functionName: tinyxml2::XMLPrinter::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.cpp
    functionUses: 0
    functionsReached:
    - Value
    - tinyxml2::XMLPrinter::PushUnknown
    linkageType: ''
    returnType: bool
    signature: bool XMLPrinter::Visit( const XMLUnknown& unknown )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: TIXMLASSERT
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIXMLASSERT( x )
  - 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: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: TIXMLASSERT
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIXMLASSERT( 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: TIXMLASSERT
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIXMLASSERT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tinyxml2::StrPair::StrPair
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:153,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:154,1
    - Dst: tinyxml2::StrPair::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - start
    - end
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: tinyxml2::StrPair::Set
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::StrPair::Reset
    linkageType: ''
    returnType: void
    signature: void Set( char* start, char* end, int flags )
  - 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: tinyxml2::StrPair::Empty
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StrPair::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:168,1
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: tinyxml2::StrPair::SetInternedStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - const_cast<char*>
    - tinyxml2::StrPair::Reset
    linkageType: ''
    returnType: void
    signature: void SetInternedStr( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: tinyxml2::DynArray::DynArray
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynArray()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ~DynArray()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DynArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: tinyxml2::DynArray::Clear
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:224,1
    - Dst: tinyxml2::DynArray::EnsureCapacity
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: tinyxml2::DynArray::Push
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::DynArray::EnsureCapacity
    linkageType: ''
    returnType: void
    signature: void Push( T t )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:231,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:232,1
    - Dst: tinyxml2::DynArray::EnsureCapacity
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: tinyxml2::DynArray::PushArr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::DynArray::EnsureCapacity
    linkageType: ''
    returnType: T
    signature: T * PushArr( int count )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: tinyxml2::DynArray::Pop
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T Pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: tinyxml2::DynArray::PopArr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void PopArr( int count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: tinyxml2::DynArray::Empty
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '& operator[](int i)'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T & operator[](int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: '& operator[](int i) const'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T & operator[](int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: '& PeekTop() const'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T & PeekTop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: tinyxml2::DynArray::Size
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: int
    signature: int Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: tinyxml2::DynArray::Capacity
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: int
    signature: int Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:280,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: tinyxml2::DynArray::SwapRemove
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void SwapRemove(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: tinyxml2::DynArray::Mem
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T * Mem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: tinyxml2::DynArray::Mem
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T * Mem()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:301,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:303,1
    - Dst: T::T
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:305,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:306,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cap
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: tinyxml2::DynArray::EnsureCapacity
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    - T::T
    - memcpy
    linkageType: ''
    returnType: void
    signature: void EnsureCapacity( int cap )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: tinyxml2::MemPool::MemPool
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~MemPool()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: tinyxml2::MemPoolT::MemPoolT
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemPoolT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: ~MemPoolT()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::Clear
    linkageType: ''
    returnType: void
    signature: void ~MemPoolT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:354,1
    - Dst: Pop
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: tinyxml2::MemPoolT::Clear
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Empty
    - Pop
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: tinyxml2::MemPoolT::ItemSize
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ItemSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: tinyxml2::MemPoolT::CurrentAllocs
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CurrentAllocs() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Block::Block
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:375,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:376,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 396
    functionName: tinyxml2::MemPoolT::Alloc
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Push
    - TIXMLASSERT
    - Block::Block
    linkageType: ''
    returnType: void
    signature: void * Alloc() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Item*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:403,1
    - Dst: memset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: tinyxml2::MemPoolT::Free
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<Item*>
    linkageType: ''
    returnType: void
    signature: void Free( void* mem ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:411,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: tinyxml2::MemPoolT::Trace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Size
    - printf
    linkageType: ''
    returnType: void
    signature: void Trace( const char* name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: tinyxml2::MemPoolT::SetTracked
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTracked() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: tinyxml2::MemPoolT::Untracked
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Untracked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 517
    functionName: tinyxml2::XMLVisitor
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLVisitor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: tinyxml2::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitEnter( const XMLDocument& /*doc*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: tinyxml2::VisitExit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitExit( const XMLDocument& /*doc*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: tinyxml2::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitEnter( const XMLElement& /*element*/, const XMLAttribute*
      /*firstAttribute*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: tinyxml2::VisitExit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitExit( const XMLElement& /*element*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLDeclaration& /*declaration*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLText& /*text*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLComment& /*comment*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLUnknown& /*unknown*/ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:552,1
    - Dst: tinyxml2::IsWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:554,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 562
    functionName: tinyxml2::XMLUtil
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::IsWhiteSpace
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLUtil
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:564,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:564,1
    - Dst: const_cast<const char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: tinyxml2::SkipWhiteSpace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 13
    functionsReached:
    - const_cast<const char*>
    - const_cast<char*>
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: char
    signature: char * SkipWhiteSpace( char* p, int* curLineNumPtr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::IsUTF8Continuation
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:570,1
    - Dst: isspace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:570,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: tinyxml2::IsWhiteSpace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - tinyxml2::IsUTF8Continuation
    - isspace
    linkageType: ''
    returnType: bool
    signature: bool IsWhiteSpace( char p )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 582
    functionName: tinyxml2::IsNameStartChar
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool IsNameStartChar( unsigned char ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::IsNameStartChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:585,1
    - Dst: isdigit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: tinyxml2::IsNameChar
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - isdigit
    - tinyxml2::IsNameStartChar
    linkageType: ''
    returnType: bool
    signature: bool IsNameChar( unsigned char ch )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:595,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:596,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:597,1
    - Dst: strncmp
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: tinyxml2::StringEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 24
    functionsReached:
    - TIXMLASSERT
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool StringEqual( const char* p, const char* q, int nChar=INT_MAX )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: tinyxml2::IsUTF8Continuation
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUTF8Continuation( char p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: tinyxml2::StrPair::StrPair
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:153,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:154,1
    - Dst: tinyxml2::StrPair::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - start
    - end
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: tinyxml2::StrPair::Set
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::StrPair::Reset
    linkageType: ''
    returnType: void
    signature: void Set( char* start, char* end, int flags )
  - 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: tinyxml2::StrPair::Empty
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::StrPair::Reset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:168,1
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: tinyxml2::StrPair::SetInternedStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - const_cast<char*>
    - tinyxml2::StrPair::Reset
    linkageType: ''
    returnType: void
    signature: void SetInternedStr( const char* str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: tinyxml2::DynArray::DynArray
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynArray()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ~DynArray()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DynArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: tinyxml2::DynArray::Clear
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:224,1
    - Dst: tinyxml2::DynArray::EnsureCapacity
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: tinyxml2::DynArray::Push
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::DynArray::EnsureCapacity
    linkageType: ''
    returnType: void
    signature: void Push( T t )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:231,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:232,1
    - Dst: tinyxml2::DynArray::EnsureCapacity
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: tinyxml2::DynArray::PushArr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::DynArray::EnsureCapacity
    linkageType: ''
    returnType: T
    signature: T * PushArr( int count )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: tinyxml2::DynArray::Pop
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T Pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: tinyxml2::DynArray::PopArr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void PopArr( int count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: tinyxml2::DynArray::Empty
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '& operator[](int i)'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T & operator[](int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: '& operator[](int i) const'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T & operator[](int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: '& PeekTop() const'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T & PeekTop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: tinyxml2::DynArray::Size
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: int
    signature: int Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: tinyxml2::DynArray::Capacity
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: int
    signature: int Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:280,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: tinyxml2::DynArray::SwapRemove
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: void
    signature: void SwapRemove(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: tinyxml2::DynArray::Mem
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T * Mem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: tinyxml2::DynArray::Mem
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: T
    signature: T * Mem()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:301,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:303,1
    - Dst: T::T
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:305,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:306,1
    - Dst: memcpy
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cap
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: tinyxml2::DynArray::EnsureCapacity
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - TIXMLASSERT
    - T::T
    - memcpy
    linkageType: ''
    returnType: void
    signature: void EnsureCapacity( int cap )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: tinyxml2::MemPool::MemPool
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~MemPool()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MemPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: tinyxml2::MemPoolT::MemPoolT
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemPoolT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::XMLDocument::Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: ~MemPoolT()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - tinyxml2::XMLDocument::Clear
    linkageType: ''
    returnType: void
    signature: void ~MemPoolT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Empty
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:354,1
    - Dst: Pop
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: tinyxml2::MemPoolT::Clear
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Empty
    - Pop
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: tinyxml2::MemPoolT::ItemSize
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ItemSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: tinyxml2::MemPoolT::CurrentAllocs
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CurrentAllocs() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Block::Block
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:375,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:376,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 396
    functionName: tinyxml2::MemPoolT::Alloc
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Push
    - TIXMLASSERT
    - Block::Block
    linkageType: ''
    returnType: void
    signature: void * Alloc() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Item*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:403,1
    - Dst: memset
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: tinyxml2::MemPoolT::Free
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - memset
    - static_cast<Item*>
    linkageType: ''
    returnType: void
    signature: void Free( void* mem ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:411,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: tinyxml2::MemPoolT::Trace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Size
    - printf
    linkageType: ''
    returnType: void
    signature: void Trace( const char* name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: tinyxml2::MemPoolT::SetTracked
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTracked() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: tinyxml2::MemPoolT::Untracked
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Untracked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 517
    functionName: tinyxml2::XMLVisitor
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLVisitor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: tinyxml2::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitEnter( const XMLDocument& /*doc*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: tinyxml2::VisitExit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitExit( const XMLDocument& /*doc*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: tinyxml2::VisitEnter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitEnter( const XMLElement& /*element*/, const XMLAttribute*
      /*firstAttribute*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: tinyxml2::VisitExit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitExit( const XMLElement& /*element*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLDeclaration& /*declaration*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLText& /*text*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLComment& /*comment*/ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: tinyxml2::Visit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Visit( const XMLUnknown& /*unknown*/ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:552,1
    - Dst: tinyxml2::IsWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:554,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 562
    functionName: tinyxml2::XMLUtil
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - TIXMLASSERT
    - tinyxml2::IsWhiteSpace
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLUtil
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:564,1
    - Dst: tinyxml2::SkipWhiteSpace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:564,1
    - Dst: const_cast<const char*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - curLineNumPtr
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: tinyxml2::SkipWhiteSpace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 14
    functionsReached:
    - const_cast<const char*>
    - const_cast<char*>
    - tinyxml2::SkipWhiteSpace
    linkageType: ''
    returnType: char
    signature: char * SkipWhiteSpace( char* p, int* curLineNumPtr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::IsUTF8Continuation
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:570,1
    - Dst: isspace
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:570,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: tinyxml2::IsWhiteSpace
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    - tinyxml2::IsUTF8Continuation
    - isspace
    linkageType: ''
    returnType: bool
    signature: bool IsWhiteSpace( char p )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 582
    functionName: tinyxml2::IsNameStartChar
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 5
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool IsNameStartChar( unsigned char ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinyxml2::IsNameStartChar
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:585,1
    - Dst: isdigit
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: tinyxml2::IsNameChar
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - isdigit
    - tinyxml2::IsNameStartChar
    linkageType: ''
    returnType: bool
    signature: bool IsNameChar( unsigned char ch )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:595,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:596,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:597,1
    - Dst: strncmp
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: tinyxml2::StringEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 24
    functionsReached:
    - TIXMLASSERT
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool StringEqual( const char* p, const char* q, int nChar=INT_MAX )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: tinyxml2::IsUTF8Continuation
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUTF8Continuation( char p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: XMLNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLNode
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: GetDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: XMLDocument
    signature: XMLDocument * GetDocument()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: ToElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: XMLElement
    signature: "XMLElement *\t\tToElement()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: ToText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLText
    signature: "XMLText *\t\tToText()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 693
    functionName: ToComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLComment
    signature: "XMLComment *\t\tToComment()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: ToDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: XMLDocument
    signature: "XMLDocument *\tToDocument()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: ToDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: XMLDeclaration
    signature: "XMLDeclaration *\tToDeclaration()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 705
    functionName: ToUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLUnknown
    signature: "XMLUnknown *\t\tToUnknown()"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 709
    functionName: ToElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: XMLElement
    signature: "XMLElement *\t\tToElement() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 712
    functionName: ToText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLText
    signature: "XMLText *\t\t\tToText() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 715
    functionName: ToComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLComment
    signature: "XMLComment *\t\tToComment() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 718
    functionName: ToDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: XMLDocument
    signature: "XMLDocument *\t\tToDocument() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: ToDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: XMLDeclaration
    signature: "XMLDeclaration *\tToDeclaration() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 724
    functionName: ToUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLUnknown
    signature: "XMLUnknown *\t\tToUnknown() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 743
    functionName: GetLineNum
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetLineNum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: Parent
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\tParent() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionName: Parent
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * Parent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 757
    functionName: NoChildren
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NoChildren() 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: FirstChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode *  FirstChild() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: FirstChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\t\tFirstChild()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<XMLElement*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:774,1
    - Dst: const_cast<const XMLNode*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 775
    functionName: FirstChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - const_cast<XMLElement*>
    - const_cast<const XMLNode*>
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * FirstChildElement( const char* name = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 780
    functionName: LastChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\tLastChild() const"
  - 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: LastChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\t\tLastChild()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<XMLElement*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:792,1
    - Dst: const_cast<const XMLNode*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 793
    functionName: LastChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - const_cast<XMLElement*>
    - const_cast<const XMLNode*>
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * LastChildElement( const char* name = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: PreviousSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\tPreviousSibling() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: PreviousSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\tPreviousSibling()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<XMLElement*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:808,1
    - Dst: const_cast<const XMLNode*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 809
    functionName: PreviousSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - const_cast<XMLElement*>
    - const_cast<const XMLNode*>
    linkageType: ''
    returnType: XMLElement
    signature: "XMLElement *\tPreviousSiblingElement( const char* name = 0 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: NextSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\tNextSibling() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: NextSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: "XMLNode *\tNextSibling()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<XMLElement*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:824,1
    - Dst: const_cast<const XMLNode*>
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 825
    functionName: NextSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - const_cast<XMLElement*>
    - const_cast<const XMLNode*>
    linkageType: ''
    returnType: XMLElement
    signature: "XMLElement *\tNextSiblingElement( const char* name = 0 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertEndChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addThis
    argTypes:
    - XMLNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: LinkEndChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - InsertEndChild
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * LinkEndChild( XMLNode* addThis )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: SetUserData
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUserData(void* userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 937
    functionName: GetUserData
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetUserData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLNode
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1008,1
    - Dst: _isCData
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1018
    functionName: XMLText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - XMLNode
    - _isCData
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLText
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: ToText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLText
    signature: XMLText * ToText() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: ToText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLText
    signature: XMLText * ToText() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isCData
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 998
    functionName: SetCData
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCData( bool isCData )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1002
    functionName: CData
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: ~XMLText()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~XMLText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLComment
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1047
    functionName: XMLComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached:
    - XMLComment
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLComment
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: ToComment
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLComment
    signature: XMLComment * ToComment() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1086
    functionName: XMLDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached:
    - XMLDeclaration
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLDeclaration
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1070
    functionName: ToDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: XMLDeclaration
    signature: XMLDeclaration * ToDeclaration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1121
    functionName: XMLUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached:
    - XMLUnknown
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLUnknown
  - 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: ToUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLUnknown
    signature: XMLUnknown * ToUnknown() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryIntValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1155,1
    - Dst: QueryInt64Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1161,1
    - Dst: QueryUnsignedValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1168,1
    - Dst: QueryBoolValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1174,1
    - Dst: QueryDoubleValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1180,1
    - Dst: QueryFloatValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1238
    functionName: XMLAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - QueryUnsignedValue
    - QueryFloatValue
    - QueryDoubleValue
    - QueryBoolValue
    - QueryInt64Value
    - QueryIntValue
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLAttribute
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1142
    functionName: GetLineNum
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetLineNum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1147
    functionName: Next
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * Next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryIntValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1157
    functionName: IntValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - QueryIntValue
    linkageType: ''
    returnType: int
    signature: int IntValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryInt64Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1163
    functionName: Int64Value
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - QueryInt64Value
    linkageType: ''
    returnType: int64_t
    signature: int64_t Int64Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryUnsignedValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1170
    functionName: UnsignedValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - QueryUnsignedValue
    linkageType: ''
    returnType: unsigned
    signature: unsigned UnsignedValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryBoolValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: BoolValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - QueryBoolValue
    linkageType: ''
    returnType: bool
    signature: bool BoolValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryDoubleValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1182
    functionName: DoubleValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - QueryDoubleValue
    linkageType: ''
    returnType: double
    signature: double DoubleValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryFloatValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1188
    functionName: FloatValue
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - QueryFloatValue
    linkageType: ''
    returnType: float
    signature: float FloatValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1224
    functionName: XMLAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: ~XMLAttribute()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~XMLAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1252
    functionName: XMLElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Value
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLElement
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1256
    functionName: SetName
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - SetValue
    linkageType: ''
    returnType: void
    signature: void SetName( const char* str, bool staticMem=false )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1260
    functionName: ToElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * ToElement() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1263
    functionName: ToElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * ToElement() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1323,1
    - Dst: XMLAttribute*::QueryIntValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1328
    functionName: QueryIntAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - XMLAttribute*::QueryIntValue
    - FindAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryIntAttribute( const char* name, int* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1332,1
    - Dst: XMLAttribute*::QueryUnsignedValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1337
    functionName: QueryUnsignedAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - XMLAttribute*::QueryUnsignedValue
    - FindAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryUnsignedAttribute( const char* name, unsigned int* value
      ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1341,1
    - Dst: XMLAttribute*::QueryInt64Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1346
    functionName: QueryInt64Attribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - XMLAttribute*::QueryInt64Value
    - FindAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryInt64Attribute(const char* name, int64_t* value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1350,1
    - Dst: XMLAttribute*::QueryBoolValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1355
    functionName: QueryBoolAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - XMLAttribute*::QueryBoolValue
    - FindAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryBoolAttribute( const char* name, bool* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1358,1
    - Dst: XMLAttribute*::QueryDoubleValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1363
    functionName: QueryDoubleAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 3
    functionsReached:
    - FindAttribute
    - XMLAttribute*::QueryDoubleValue
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryDoubleAttribute( const char* name, double* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1366,1
    - Dst: XMLAttribute*::QueryFloatValue
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1371
    functionName: QueryFloatAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - XMLAttribute*::QueryFloatValue
    - FindAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryFloatAttribute( const char* name, float* value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1375,1
    - Dst: XMLAttribute*::Value
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1381
    functionName: QueryStringAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - FindAttribute
    - XMLAttribute*::Value
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryStringAttribute(const char* name, const char** value)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryIntAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1404
    functionName: QueryAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - QueryIntAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryAttribute( const char* name, int* value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryUnsignedAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1408
    functionName: QueryAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - QueryUnsignedAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryAttribute( const char* name, unsigned int* value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryInt64Attribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1412
    functionName: QueryAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - QueryInt64Attribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryAttribute(const char* name, int64_t* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryBoolAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1416
    functionName: QueryAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - QueryBoolAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryAttribute( const char* name, bool* value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryDoubleAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: QueryAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - QueryDoubleAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryAttribute( const char* name, double* value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryFloatAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: QueryAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - QueryFloatAttribute
    linkageType: ''
    returnType: XMLError
    signature: XMLError QueryAttribute( const char* name, float* value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrCreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1428,1
    - Dst: XMLAttribute*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1430
    functionName: SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 3
    functionsReached:
    - XMLAttribute*::SetAttribute
    - FindOrCreateAttribute
    linkageType: ''
    returnType: void
    signature: void SetAttribute( const char* name, const char* value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrCreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1433,1
    - Dst: XMLAttribute*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1435
    functionName: SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - XMLAttribute*::SetAttribute
    - FindOrCreateAttribute
    linkageType: ''
    returnType: void
    signature: void SetAttribute( const char* name, int value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrCreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1438,1
    - Dst: XMLAttribute*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1440
    functionName: SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 5
    functionsReached:
    - XMLAttribute*::SetAttribute
    - FindOrCreateAttribute
    linkageType: ''
    returnType: void
    signature: void SetAttribute( const char* name, unsigned value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrCreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1444,1
    - Dst: XMLAttribute*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1446
    functionName: SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - XMLAttribute*::SetAttribute
    - FindOrCreateAttribute
    linkageType: ''
    returnType: void
    signature: void SetAttribute(const char* name, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrCreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1450,1
    - Dst: XMLAttribute*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1452
    functionName: SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 7
    functionsReached:
    - XMLAttribute*::SetAttribute
    - FindOrCreateAttribute
    linkageType: ''
    returnType: void
    signature: void SetAttribute( const char* name, bool value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrCreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1455,1
    - Dst: XMLAttribute*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1457
    functionName: SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 8
    functionsReached:
    - XMLAttribute*::SetAttribute
    - FindOrCreateAttribute
    linkageType: ''
    returnType: void
    signature: void SetAttribute( const char* name, double value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrCreateAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1460,1
    - Dst: XMLAttribute*::SetAttribute
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: SetAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 9
    functionsReached:
    - XMLAttribute*::SetAttribute
    - FindOrCreateAttribute
    linkageType: ''
    returnType: void
    signature: void SetAttribute( const char* name, float value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1472
    functionName: FirstAttribute
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: XMLAttribute
    signature: XMLAttribute * FirstAttribute() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1613
    functionName: ClosingType
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ElementClosingType
    signature: ElementClosingType ClosingType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1663,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1667,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1671,1
    - Dst: FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1746,1
    - Dst: FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1749,1
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1813,1
    - Dst: XMLDocument
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1867,1
    - Dst: PushDepth
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1905,1
    - Dst: PopDepth
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1918
    functionName: XMLDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - PopDepth
    - PushDepth
    - TIXMLASSERT
    - SetError
    - XMLDocument
    - FirstChildElement
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLDocument
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1669
    functionName: ToDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: XMLDocument
    signature: XMLDocument * ToDocument() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1673
    functionName: ToDocument
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - TIXMLASSERT
    linkageType: ''
    returnType: XMLDocument
    signature: XMLDocument * ToDocument() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1725
    functionName: ProcessEntities
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProcessEntities() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1728
    functionName: WhitespaceMode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Whitespace
    signature: Whitespace WhitespaceMode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: HasBOM
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBOM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - useBOM
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1740
    functionName: SetBOM
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBOM( bool useBOM )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: RootElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - FirstChildElement
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * RootElement()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1748
    functionDepth: 1
    functionLinenumber: 1748
    functionLinenumberEnd: 1750
    functionName: RootElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - FirstChildElement
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * RootElement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetError
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1814
    functionName: ClearError
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - SetError
    linkageType: ''
    returnType: void
    signature: void ClearError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1819
    functionName: Error
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1823
    functionName: ErrorID
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMLError
    signature: XMLError ErrorID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1839
    functionName: ErrorLineNum
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ErrorLineNum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1861
    functionName: ShallowClone
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * ShallowClone( XMLDocument* /*document*/ ) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1864
    functionName: ShallowEqual
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ShallowEqual( const XMLNode* /*compare*/ ) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLDocument*::PushDepth
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - document
    argTypes:
    - XMLDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1906
    functionName: DepthTracker::DepthTracker
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - XMLDocument*::PushDepth
    linkageType: ''
    returnType: void
    signature: void DepthTracker(XMLDocument * document)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PopDepth
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1909
    functionName: ~DepthTracker()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - PopDepth
    linkageType: ''
    returnType: void
    signature: void ~DepthTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1923,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1924,1
    - Dst: ItemSize
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1924,1
    - Dst: Alloc
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1925,1
    - Dst: NodeType::NodeType
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1925,1
    - Dst: TIXMLASSERT
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1926,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pool'
    argTypes:
    - MemPoolT<PoolElementSize>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1931
    functionName: XMLDocument::CreateUnlinkedNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - NodeType::NodeType
    - Push
    - Alloc
    - ItemSize
    - TIXMLASSERT
    linkageType: ''
    returnType: NodeType
    signature: NodeType * XMLDocument::CreateUnlinkedNode( MemPoolT<PoolElementSize>&
      pool )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2008,1
    - Dst: explicit::FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2008,1
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2012,1
    - Dst: explicit::FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2012,1
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2016,1
    - Dst: explicit::LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2016,1
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2020,1
    - Dst: explicit::LastChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2020,1
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2024,1
    - Dst: explicit::PreviousSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2024,1
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2028,1
    - Dst: explicit::PreviousSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2028,1
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2032,1
    - Dst: explicit::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2032,1
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2036,1
    - Dst: explicit::NextSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2036,1
    - Dst: explicit::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2045,1
    - Dst: explicit::ToText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2049,1
    - Dst: explicit::ToUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2053,1
    - Dst: explicit::ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 2062
    functionName: XMLHandle
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached:
    - explicit::FirstChild
    - explicit::NextSiblingElement
    - explicit::ToUnknown
    - explicit::ToDeclaration
    - explicit::NextSibling
    - explicit::ToElement
    - explicit::LastChild
    - explicit::LastChildElement
    - XMLHandle
    - explicit::ToText
    - explicit::FirstChildElement
    - explicit::PreviousSibling
    - explicit::PreviousSiblingElement
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLHandle
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - XMLHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 1999
    functionName: XMLHandle
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLHandle( const XMLHandle& ref )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - XMLHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2004
    functionName: '& operator=( const XMLHandle& ref )'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle & operator=( const XMLHandle& ref )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2008,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2009
    functionName: FirstChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 31
    functionsReached:
    - FirstChild
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle FirstChild()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2012,1
    - Dst: FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2011
    functionDepth: 2
    functionLinenumber: 2011
    functionLinenumberEnd: 2013
    functionName: FirstChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 9
    functionsReached:
    - FirstChildElement
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle FirstChildElement( const char* name = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2016,1
    - Dst: LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2015
    functionDepth: 2
    functionLinenumber: 2015
    functionLinenumberEnd: 2017
    functionName: LastChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - LastChild
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle LastChild()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2020,1
    - Dst: LastChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2019
    functionDepth: 2
    functionLinenumber: 2019
    functionLinenumberEnd: 2021
    functionName: LastChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - LastChildElement
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle LastChildElement( const char* name = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2024,1
    - Dst: PreviousSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2023
    functionDepth: 2
    functionLinenumber: 2023
    functionLinenumberEnd: 2025
    functionName: PreviousSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - PreviousSibling
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle PreviousSibling()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2028,1
    - Dst: PreviousSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2027
    functionDepth: 2
    functionLinenumber: 2027
    functionLinenumberEnd: 2029
    functionName: PreviousSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 2
    functionsReached:
    - PreviousSiblingElement
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle PreviousSiblingElement( const char* name = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2032,1
    - Dst: NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2031
    functionDepth: 2
    functionLinenumber: 2031
    functionLinenumberEnd: 2033
    functionName: NextSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 10
    functionsReached:
    - NextSibling
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle NextSibling()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2036,1
    - Dst: NextSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2035
    functionDepth: 2
    functionLinenumber: 2035
    functionLinenumberEnd: 2037
    functionName: NextSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - NextSiblingElement
    - XMLHandle
    linkageType: ''
    returnType: XMLHandle
    signature: XMLHandle NextSiblingElement( const char* name = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2042
    functionName: ToNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * ToNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2044
    functionDepth: 1
    functionLinenumber: 2044
    functionLinenumberEnd: 2046
    functionName: ToElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 9
    functionsReached:
    - ToElement
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * ToElement()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2048
    functionDepth: 1
    functionLinenumber: 2048
    functionLinenumberEnd: 2050
    functionName: ToText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - ToText
    linkageType: ''
    returnType: XMLText
    signature: XMLText * ToText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 1
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: ToUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - ToUnknown
    linkageType: ''
    returnType: XMLUnknown
    signature: XMLUnknown * ToUnknown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2058
    functionName: ToDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - ToDeclaration
    linkageType: ''
    returnType: XMLDeclaration
    signature: XMLDeclaration * ToDeclaration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2085,1
    - Dst: explicit::FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2085,1
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2088,1
    - Dst: explicit::FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2088,1
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2091,1
    - Dst: explicit::LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2091,1
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2094,1
    - Dst: explicit::LastChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2094,1
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2097,1
    - Dst: explicit::PreviousSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2097,1
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2100,1
    - Dst: explicit::PreviousSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2100,1
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2103,1
    - Dst: explicit::NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2103,1
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2106,1
    - Dst: explicit::NextSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2106,1
    - Dst: explicit::ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2114,1
    - Dst: explicit::ToText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2117,1
    - Dst: explicit::ToUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2120,1
    - Dst: explicit::ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2128
    functionName: XMLConstHandle
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached:
    - explicit::FirstChild
    - explicit::NextSiblingElement
    - explicit::ToUnknown
    - XMLConstHandle
    - explicit::ToDeclaration
    - explicit::NextSibling
    - explicit::ToElement
    - explicit::LastChild
    - explicit::LastChildElement
    - explicit::ToText
    - explicit::FirstChildElement
    - explicit::PreviousSibling
    - explicit::PreviousSiblingElement
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLConstHandle
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - XMLConstHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2077
    functionName: XMLConstHandle
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XMLConstHandle( const XMLConstHandle& ref )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - XMLConstHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: '& operator=( const XMLConstHandle& ref )'
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle & operator=( const XMLConstHandle& ref )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2085,1
    - Dst: FirstChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2084
    functionDepth: 2
    functionLinenumber: 2084
    functionLinenumberEnd: 2086
    functionName: FirstChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 33
    functionsReached:
    - FirstChild
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle FirstChild() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2088,1
    - Dst: FirstChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2087
    functionDepth: 2
    functionLinenumber: 2087
    functionLinenumberEnd: 2089
    functionName: FirstChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 11
    functionsReached:
    - FirstChildElement
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle FirstChildElement( const char* name = 0 ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2091,1
    - Dst: LastChild
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2090
    functionDepth: 2
    functionLinenumber: 2090
    functionLinenumberEnd: 2092
    functionName: LastChild
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - LastChild
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: "XMLConstHandle LastChild()\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2094,1
    - Dst: LastChildElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2093
    functionDepth: 2
    functionLinenumber: 2093
    functionLinenumberEnd: 2095
    functionName: LastChildElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - LastChildElement
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle LastChildElement( const char* name = 0 ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2097,1
    - Dst: PreviousSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2096
    functionDepth: 2
    functionLinenumber: 2096
    functionLinenumberEnd: 2098
    functionName: PreviousSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - PreviousSibling
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle PreviousSibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2100,1
    - Dst: PreviousSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2099
    functionDepth: 2
    functionLinenumber: 2099
    functionLinenumberEnd: 2101
    functionName: PreviousSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached:
    - PreviousSiblingElement
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle PreviousSiblingElement( const char* name = 0 ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2103,1
    - Dst: NextSibling
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2102
    functionDepth: 2
    functionLinenumber: 2102
    functionLinenumberEnd: 2104
    functionName: NextSibling
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 12
    functionsReached:
    - NextSibling
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle NextSibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLConstHandle
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2106,1
    - Dst: NextSiblingElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2105
    functionDepth: 2
    functionLinenumber: 2105
    functionLinenumberEnd: 2107
    functionName: NextSiblingElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - NextSiblingElement
    - XMLConstHandle
    linkageType: ''
    returnType: XMLConstHandle
    signature: XMLConstHandle NextSiblingElement( const char* name = 0 ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2112
    functionName: ToNode
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XMLNode
    signature: XMLNode * ToNode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToElement
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2115
    functionName: ToElement
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 11
    functionsReached:
    - ToElement
    linkageType: ''
    returnType: XMLElement
    signature: XMLElement * ToElement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToText
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2116
    functionDepth: 1
    functionLinenumber: 2116
    functionLinenumberEnd: 2118
    functionName: ToText
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - ToText
    linkageType: ''
    returnType: XMLText
    signature: XMLText * ToText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToUnknown
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2121
    functionName: ToUnknown
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 6
    functionsReached:
    - ToUnknown
    linkageType: ''
    returnType: XMLUnknown
    signature: XMLUnknown * ToUnknown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToDeclaration
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: ToDeclaration
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 8
    functionsReached:
    - ToDeclaration
    linkageType: ''
    returnType: XMLDeclaration
    signature: XMLDeclaration * ToDeclaration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XMLPrinter
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2182,1
    - Dst: Mem
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2240,1
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2248,1
    - Dst: Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2255,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2256,1
    - Dst: Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2269,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2173
    functionDepth: 1
    functionLinenumber: 2173
    functionLinenumberEnd: 2298
    functionName: XMLPrinter
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 1
    functionsReached:
    - Clear
    - Push
    - Write
    - Mem
    - strlen
    - Size
    - XMLPrinter
    linkageType: ''
    returnType: class TINYXML2_LIB
    signature: class TINYXML2_LIB XMLPrinter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2183
    functionName: ~XMLPrinter()
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~XMLPrinter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2225
    functionName: VisitExit
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VisitExit( const XMLDocument& /*doc*/ ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mem
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2241
    functionName: CStr
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Mem
    linkageType: ''
    returnType: char
    signature: char * CStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Size
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2249
    functionName: CStrSize
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Size
    linkageType: ''
    returnType: int
    signature: int CStrSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2255,1
    - Dst: Push
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2258
    functionName: ClearBuffer
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 0
    functionsReached:
    - Push
    - Clear
    linkageType: ''
    returnType: void
    signature: void ClearBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2269,1
    - Dst: strlen
      Src: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2269
    functionDepth: 1
    functionLinenumber: 2269
    functionLinenumberEnd: 2269
    functionName: Write
    functionSourceFile: /src/geos/tests/xmltester/tinyxml2/tinyxml2.h
    functionUses: 22
    functionsReached:
    - Write
    - strlen
    linkageType: ''
    returnType: void
    signature: void Write( const char* data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: usage
    functionSourceFile: /src/geos/tests/unit/geos_unit.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/tests/unit/geos_unit.cpp:60,1
    - Dst: usage
      Src: /src/geos/tests/unit/geos_unit.cpp:61,1
    - Dst: string
      Src: /src/geos/tests/unit/geos_unit.cpp:66,1
    - Dst: get
      Src: /src/geos/tests/unit/geos_unit.cpp:77,1
    - Dst: get
      Src: /src/geos/tests/unit/geos_unit.cpp:81,1
    - Dst: string
      Src: /src/geos/tests/unit/geos_unit.cpp:83,1
    - Dst: get
      Src: /src/geos/tests/unit/geos_unit.cpp:84,1
    - Dst: tut::groupnames::begin
      Src: /src/geos/tests/unit/geos_unit.cpp:85,1
    - Dst: tut::groupnames::end
      Src: /src/geos/tests/unit/geos_unit.cpp:86,1
    - Dst: distance
      Src: /src/geos/tests/unit/geos_unit.cpp:88,1
    - Dst: get
      Src: /src/geos/tests/unit/geos_unit.cpp:99,1
    - Dst: std::string::empty
      Src: /src/geos/tests/unit/geos_unit.cpp:105,1
    - Dst: std::runtime_error
      Src: /src/geos/tests/unit/geos_unit.cpp:106,1
    - Dst: get
      Src: /src/geos/tests/unit/geos_unit.cpp:110,1
    - Dst: std::atoi
      Src: /src/geos/tests/unit/geos_unit.cpp:110,1
    - Dst: what
      Src: /src/geos/tests/unit/geos_unit.cpp:114,1
    - Dst: what
      Src: /src/geos/tests/unit/geos_unit.cpp:118,1
    - Dst: geos::io::Unload::Release
      Src: /src/geos/tests/unit/geos_unit.cpp:123,1
    - Dst: tut::reporter::all_ok
      Src: /src/geos/tests/unit/geos_unit.cpp:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/geos/tests/unit/geos_unit.cpp
    functionUses: 0
    functionsReached:
    - usage
    - std::string::empty
    - what
    - geos::io::Unload::Release
    - std::runtime_error
    - tut::groupnames::end
    - string
    - distance
    - get
    - std::atoi
    - tut::reporter::all_ok
    - tut::groupnames::begin
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:87,1
    - Dst: dynamic_cast<Type const*>
      Src: /src/geos/tests/unit/utility.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - instance
    argTypes:
    - InstanceType*
    assertStmts:
    - condition: (nullptr != instance)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tut::isInstanceOf
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - assert
    - dynamic_cast<Type const*>
    linkageType: ''
    returnType: bool
    signature: bool isInstanceOf(InstanceType const* instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:95,1
    - Dst: dynamic_cast<Type const*>
      Src: /src/geos/tests/unit/utility.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - instance
    argTypes:
    - InstanceType*
    assertStmts:
    - condition: (nullptr != instance)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: tut::instanceOf
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - assert
    - dynamic_cast<Type const*>
    linkageType: ''
    returnType: Type
    signature: 'Type *

      instanceOf(InstanceType const* instance)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:103,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tut::ensure_equals_xy
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xy(geos::geom::Coordinate const& actual,\n                  geos::geom::Coordinate
      const& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:112,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - tol
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: tut::ensure_equals_xy
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xy(geos::geom::Coordinate const& actual,\n                  geos::geom::Coordinate
      const& expected,\n                  double tol)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:120,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:121,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:122,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:123,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:123,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tut::ensure_equals_xyz
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::isnan
    - tut::ensure
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xyz(geos::geom::Coordinate const& actual,\n                  geos::geom::Coordinate
      const& expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:133,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:134,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:135,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:136,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:136,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::CoordinateXYM
    - geos::geom::CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: tut::ensure_equals_xym
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::isnan
    - tut::ensure
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xym(geos::geom::CoordinateXYM const& actual,\n
      \                 geos::geom::CoordinateXYM const& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:146,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:147,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:148,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:149,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:149,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:151,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:153,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:154,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:154,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::CoordinateXYZM
    - geos::geom::CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: tut::ensure_equals_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::isnan
    - tut::ensure
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xyzm(geos::geom::CoordinateXYZM const& actual,\n
      \                  geos::geom::CoordinateXYZM const& expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:162,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:162,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - msg
    - a
    - b
    argTypes:
    - char*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: tut::ensure_same
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void ensure_same(const char* msg, double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_same
      Src: /src/geos/tests/unit/utility.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tut::ensure_same
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 1
    functionsReached:
    - tut::ensure_same
    linkageType: ''
    returnType: void
    signature: void ensure_same(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:186,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:187,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:188,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T1*
    - T2*
    assertStmts:
    - condition: (0 != lhs)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/geos/tests/unit/utility.h
    - condition: (!"DIFFERENT TYPES ARE NOT OF THE SAME STRUCTURE")
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/geos/tests/unit/utility.h
    - condition: (0 != rhs)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - assert
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(T1 const* lhs, T2 const* rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:197,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:198,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:205,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:206,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:207,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:208,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:210,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/utility.h:211,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/utility.h:211,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:213,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/utility.h:214,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/utility.h:214,1
    - Dst: tut::isInstanceOf
      Src: /src/geos/tests/unit/utility.h:216,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:216,1
    - Dst: tut::isInstanceOf
      Src: /src/geos/tests/unit/utility.h:217,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:217,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:218,1
    - Dst: std::unique_ptr::isSimple
      Src: /src/geos/tests/unit/utility.h:219,1
    - Dst: std::unique_ptr::isSimple
      Src: /src/geos/tests/unit/utility.h:219,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:222,1
    - Dst: std::unique_ptr::getGeometryType
      Src: /src/geos/tests/unit/utility.h:223,1
    - Dst: std::unique_ptr::getGeometryType
      Src: /src/geos/tests/unit/utility.h:223,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:225,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:226,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:226,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:228,1
    - Dst: std::unique_ptr::getDimension
      Src: /src/geos/tests/unit/utility.h:229,1
    - Dst: std::unique_ptr::getDimension
      Src: /src/geos/tests/unit/utility.h:229,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:231,1
    - Dst: std::unique_ptr::getBoundaryDimension
      Src: /src/geos/tests/unit/utility.h:232,1
    - Dst: std::unique_ptr::getBoundaryDimension
      Src: /src/geos/tests/unit/utility.h:232,1
    - Dst: std::unique_ptr::getNumPoints
      Src: /src/geos/tests/unit/utility.h:234,1
    - Dst: std::unique_ptr::getNumPoints
      Src: /src/geos/tests/unit/utility.h:234,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/utility.h:235,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:235,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/utility.h:240,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/utility.h:241,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:244,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - lhs_in
    - rhs_in
    argTypes:
    - T*
    - T*
    assertStmts:
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 259
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 259
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - T*::clone
    - std::unique_ptr::isEmpty
    - tut::ensure_equals
    - std::unique_ptr::getBoundaryDimension
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::getNumPoints
    - WKTWriter::write
    - std::unique_ptr::getDimension
    - tut::isInstanceOf
    - assert
    - std::unique_ptr::isValid
    - std::unique_ptr::equalsExact
    - std::unique_ptr::getGeometryType
    - std::unique_ptr::isSimple
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(T const* lhs_in, T const* rhs_in, double
      tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/tests/unit/utility.h:264,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/utility.h:265,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:266,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/utility.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - T
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 1
    functionsReached:
    - auto::get
    - getFactory
    - tut::ensure_equals_geometry
    - geos::io::WKTReader::read
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(const T& lhs, const char* rhs, double tolerance
      = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/tests/unit/utility.h:272,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/utility.h:273,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:274,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/utility.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 2
    functionsReached:
    - auto::get
    - getFactory
    - tut::ensure_equals_geometry
    - geos::io::WKTReader::read
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(const T& lhs, const std::string& rhs, double
      tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:282,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:283,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:285,1
    - Dst: geos::geom::Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:286,1
    - Dst: geos::geom::Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - geos::geom::Polygon*
    - geos::geom::Polygon*
    assertStmts:
    - condition: (nullptr != lhs)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 2
    functionsReached:
    - assert
    - geos::geom::Polygon*::getNumInteriorRing
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry(geos::geom::Polygon const* lhs,\n                       geos::geom::Polygon
      const* rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:294,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:295,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:299,1
    - Dst: geos::geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:300,1
    - Dst: geos::geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:300,1
    - Dst: geos::geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:302,1
    - Dst: geos::geom::GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:303,1
    - Dst: geos::geom::GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:304,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - geos::geom::GeometryCollection*
    - geos::geom::GeometryCollection*
    assertStmts:
    - condition: (nullptr != lhs)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 3
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure_equals
    - geos::geom::GeometryCollection*::getNumGeometries
    - geos::geom::GeometryCollection*::getGeometryN
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry(geos::geom::GeometryCollection const*
      lhs,\n                       geos::geom::GeometryCollection const* rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:314,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:315,1
    - Dst: geos::geom::prep::PreparedGeometry*::getGeometry
      Src: /src/geos/tests/unit/utility.h:317,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::prep::PreparedGeometry*
    assertStmts:
    - condition: (nullptr != lhs)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 4
    functionsReached:
    - assert
    - tut::ensure_equals_geometry
    - geos::geom::prep::PreparedGeometry*::getGeometry
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry(geos::geom::Geometry const* lhs,\n                       geos::geom::prep::PreparedGeometry
      const* rhs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:333,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:334,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:336,1
    - Dst: geos::geom::CoordinateSequence*::size
      Src: /src/geos/tests/unit/utility.h:336,1
    - Dst: geos::geom::CoordinateSequence*::size
      Src: /src/geos/tests/unit/utility.h:336,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:338,1
    - Dst: geos::geom::CoordinateSequence*::getDimension
      Src: /src/geos/tests/unit/utility.h:338,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:339,1
    - Dst: geos::geom::CoordinateSequence*::getDimension
      Src: /src/geos/tests/unit/utility.h:339,1
    - Dst: geos::geom::CoordinateSequence*::size
      Src: /src/geos/tests/unit/utility.h:341,1
    - Dst: geos::geom::CoordinateSequence*::getOrdinate
      Src: /src/geos/tests/unit/utility.h:343,1
    - Dst: geos::geom::CoordinateSequence*::getOrdinate
      Src: /src/geos/tests/unit/utility.h:344,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:345,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:347,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:347,1
    - Dst: tut::ensure_distance
      Src: /src/geos/tests/unit/utility.h:352,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - seq1
    - seq2
    - dims
    - tolerance
    argTypes:
    - geos::geom::CoordinateSequence*
    - geos::geom::CoordinateSequence*
    - unsigned int
    - double
    assertStmts:
    - condition: (nullptr != seq1)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != seq2)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 358
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 358
    functionName: tut::ensure_equals_dims
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence*::size
    - tut::ensure
    - geos::geom::CoordinateSequence*::getOrdinate
    - tut::ensure_equals
    - geos::geom::CoordinateSequence*::getDimension
    - std::isnan
    - tut::ensure_distance
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_dims(const geos::geom::CoordinateSequence* seq1,\n
      \                  const geos::geom::CoordinateSequence* seq2,\n                   unsigned
      int dims, double tolerance)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:368,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:369,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:377,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:378,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:378,1
    - Dst: dynamic_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:381,1
    - Dst: static_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:382,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:383,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:383,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:383,1
    - Dst: dynamic_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:385,1
    - Dst: static_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:386,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:387,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:387,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:387,1
    - Dst: dynamic_cast<const Polygon *>
      Src: /src/geos/tests/unit/utility.h:389,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:390,1
    - Dst: dynamic_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:392,1
    - Dst: static_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:393,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:394,1
    - Dst: tut::ensure_equals_exact_geometry_xyz
      Src: /src/geos/tests/unit/utility.h:395,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:395,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - lhs_in
    - rhs_in
    - tolerance
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::Geometry*
    - double
    assertStmts:
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 398
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 398
    functionName: tut::ensure_equals_exact_geometry_xyz
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 1
    functionsReached:
    - tut::ensure
    - dynamic_cast<const Polygon *>
    - dynamic_cast<const GeometryCollection *>
    - GeometryCollection*::getNumGeometries
    - dynamic_cast<const Point *>
    - geos::geom::Geometry*::getGeometryTypeId
    - tut::ensure_equals
    - tut::ensure_equals_dims
    - GeometryCollection*::getGeometryN
    - static_cast<const Point *>
    - static_cast<const GeometryCollection *>
    - Point*::getCoordinatesRO
    - static_cast<const LineString *>
    - tut::ensure_equals_exact_geometry_xyz
    - assert
    - dynamic_cast<const LineString *>
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_geometry_xyz(const geos::geom::Geometry *lhs_in,\n
      \                                const geos::geom::Geometry *rhs_in,\n                                 double
      tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:405,1
    - Dst: geos::geom::CoordinateSequence*::hasZ
      Src: /src/geos/tests/unit/utility.h:405,1
    - Dst: geos::geom::CoordinateSequence*::hasZ
      Src: /src/geos/tests/unit/utility.h:405,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:406,1
    - Dst: geos::geom::CoordinateSequence*::hasM
      Src: /src/geos/tests/unit/utility.h:406,1
    - Dst: geos::geom::CoordinateSequence*::hasM
      Src: /src/geos/tests/unit/utility.h:406,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:407,1
    - Dst: geos::geom::CoordinateSequence*::getSize
      Src: /src/geos/tests/unit/utility.h:407,1
    - Dst: geos::geom::CoordinateSequence*::getSize
      Src: /src/geos/tests/unit/utility.h:407,1
    - Dst: geos::geom::CoordinateSequence*::getSize
      Src: /src/geos/tests/unit/utility.h:410,1
    - Dst: geos::geom::CoordinateSequence*::getAt
      Src: /src/geos/tests/unit/utility.h:411,1
    - Dst: geos::geom::CoordinateSequence*::getAt
      Src: /src/geos/tests/unit/utility.h:412,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:414,1
    - Dst: geos::geom::CoordinateXYZM::distance
      Src: /src/geos/tests/unit/utility.h:414,1
    - Dst: tut::ensure_same
      Src: /src/geos/tests/unit/utility.h:415,1
    - Dst: tut::ensure_same
      Src: /src/geos/tests/unit/utility.h:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - seq1
    - seq2
    - tol
    argTypes:
    - geos::geom::CoordinateSequence*
    - geos::geom::CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 418
    functionName: tut::ensure_equals_exact_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - geos::geom::CoordinateSequence*::hasM
    - geos::geom::CoordinateSequence*::getAt
    - tut::ensure_same
    - geos::geom::CoordinateSequence*::hasZ
    - geos::geom::CoordinateSequence*::getSize
    - geos::geom::CoordinateXYZM::distance
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_xyzm(const geos::geom::CoordinateSequence*
      seq1,\n             const geos::geom::CoordinateSequence* seq2,\n             double
      tol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:425,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:426,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:434,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:435,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:435,1
    - Dst: dynamic_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:437,1
    - Dst: static_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:438,1
    - Dst: tut::ensure_equals_exact_xyzm
      Src: /src/geos/tests/unit/utility.h:439,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:439,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:439,1
    - Dst: dynamic_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:441,1
    - Dst: static_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:442,1
    - Dst: tut::ensure_equals_exact_xyzm
      Src: /src/geos/tests/unit/utility.h:443,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:443,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:443,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/tests/unit/utility.h:445,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/tests/unit/utility.h:446,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/utility.h:447,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/utility.h:448,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:450,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:452,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:453,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:454,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:456,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:457,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/tests/unit/utility.h:457,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/tests/unit/utility.h:458,1
    - Dst: dynamic_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:462,1
    - Dst: static_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:463,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:464,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:465,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:465,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - lhs_in
    - rhs_in
    - tolerance
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::Geometry*
    - double
    assertStmts:
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 468
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 468
    functionName: tut::ensure_equals_exact_geometry_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 1
    functionsReached:
    - tut::ensure_equals
    - static_cast<const Polygon*>
    - Point*::getCoordinatesRO
    - assert
    - Polygon*::getInteriorRingN
    - dynamic_cast<const LineString *>
    - LineString*::getCoordinatesRO
    - GeometryCollection*::getNumGeometries
    - tut::ensure_equals_exact_xyzm
    - dynamic_cast<const GeometryCollection *>
    - dynamic_cast<const Point *>
    - static_cast<const LineString *>
    - dynamic_cast<const Polygon*>
    - Polygon*::getNumInteriorRing
    - static_cast<const GeometryCollection *>
    - GeometryCollection*::getGeometryN
    - geos::geom::Geometry*::getGeometryTypeId
    - static_cast<const Point *>
    - tut::ensure_equals_exact_geometry_xyzm
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_geometry_xyzm(const geos::geom::Geometry
      *lhs_in,\n                                  const geos::geom::Geometry *rhs_in,\n
      \                                 double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:476,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:477,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:478,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:479,1
    - Dst: tut::ensure_equals_exact_geometry_xyz
      Src: /src/geos/tests/unit/utility.h:480,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:480,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs_in
    - rhs_in
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: tut::ensure_equals_geometry_xyz
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr::normalize
    - tut::ensure_equals_exact_geometry_xyz
    - std::unique_ptr::get
    - T*::clone
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry_xyz(const T *lhs_in,\n                           const
      T *rhs_in,\n                           double tolerance=0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:489,1
    - Dst: T*::hasZ
      Src: /src/geos/tests/unit/utility.h:489,1
    - Dst: T*::hasZ
      Src: /src/geos/tests/unit/utility.h:489,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:490,1
    - Dst: T*::hasM
      Src: /src/geos/tests/unit/utility.h:490,1
    - Dst: T*::hasM
      Src: /src/geos/tests/unit/utility.h:490,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:492,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:493,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:494,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:495,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:497,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:497,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lhs_in
    - rhs_in
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: tut::ensure_equals_geometry_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - T*::hasZ
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - T*::clone
    - tut::ensure_equals
    - tut::ensure_equals_exact_geometry_xyzm
    - T*::hasM
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry_xyzm(const T *lhs_in,\n                           const
      T *rhs_in,\n                           double tolerance=0.0)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:512,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:513,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:521,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:522,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:522,1
    - Dst: dynamic_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:524,1
    - Dst: static_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:525,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:526,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:526,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:526,1
    - Dst: dynamic_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:528,1
    - Dst: static_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:529,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:530,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:530,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:530,1
    - Dst: dynamic_cast<const Polygon *>
      Src: /src/geos/tests/unit/utility.h:532,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:533,1
    - Dst: dynamic_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:535,1
    - Dst: static_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:536,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:537,1
    - Dst: tut::ensure_equals_exact_geometry
      Src: /src/geos/tests/unit/utility.h:538,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:538,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - lhs_in
    - rhs_in
    - tolerance
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::Geometry*
    - double
    assertStmts:
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 512
        line_start: 512
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 541
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 541
    functionName: tut::ensure_equals_exact_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 1
    functionsReached:
    - tut::ensure
    - dynamic_cast<const Polygon *>
    - dynamic_cast<const GeometryCollection *>
    - GeometryCollection*::getNumGeometries
    - dynamic_cast<const Point *>
    - geos::geom::Geometry*::getGeometryTypeId
    - tut::ensure_equals
    - tut::ensure_equals_dims
    - GeometryCollection*::getGeometryN
    - static_cast<const Point *>
    - static_cast<const GeometryCollection *>
    - Point*::getCoordinatesRO
    - static_cast<const LineString *>
    - assert
    - dynamic_cast<const LineString *>
    - tut::ensure_equals_exact_geometry
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_geometry(const geos::geom::Geometry *lhs_in,\n
      \                                const geos::geom::Geometry *rhs_in,\n                                 double
      tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/utility.h:555,1
    - Dst: size
      Src: /src/geos/tests/unit/utility.h:556,1
    - Dst: substr
      Src: /src/geos/tests/unit/utility.h:557,1
    - Dst: push_back
      Src: /src/geos/tests/unit/utility.h:560,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/tests/unit/utility.h:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' hexstr'
    - ' bytes'
    argTypes:
    - std::string
    - binary_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: tut::decode
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - size
    - push_back
    - clear
    - substr
    linkageType: ''
    returnType: void
    signature: void decode(std::string const& hexstr, binary_type& bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:87,1
    - Dst: dynamic_cast<Type const*>
      Src: /src/geos/tests/unit/utility.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - instance
    argTypes:
    - InstanceType*
    assertStmts:
    - condition: (nullptr != instance)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tut::isInstanceOf
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 1
    functionsReached:
    - assert
    - dynamic_cast<Type const*>
    linkageType: ''
    returnType: bool
    signature: bool isInstanceOf(InstanceType const* instance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:95,1
    - Dst: dynamic_cast<Type const*>
      Src: /src/geos/tests/unit/utility.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - instance
    argTypes:
    - InstanceType*
    assertStmts:
    - condition: (nullptr != instance)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: tut::instanceOf
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - assert
    - dynamic_cast<Type const*>
    linkageType: ''
    returnType: Type
    signature: 'Type *

      instanceOf(InstanceType const* instance)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:103,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tut::ensure_equals_xy
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xy(geos::geom::Coordinate const& actual,\n                  geos::geom::Coordinate
      const& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:112,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - tol
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: tut::ensure_equals_xy
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xy(geos::geom::Coordinate const& actual,\n                  geos::geom::Coordinate
      const& expected,\n                  double tol)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:120,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:121,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:122,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:123,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:123,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tut::ensure_equals_xyz
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::isnan
    - tut::ensure
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xyz(geos::geom::Coordinate const& actual,\n                  geos::geom::Coordinate
      const& expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:133,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:134,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:135,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:136,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:136,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::CoordinateXYM
    - geos::geom::CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: tut::ensure_equals_xym
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::isnan
    - tut::ensure
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xym(geos::geom::CoordinateXYM const& actual,\n
      \                 geos::geom::CoordinateXYM const& expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:146,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:147,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:148,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:149,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:149,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:151,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:153,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:154,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:154,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - geos::geom::CoordinateXYZM
    - geos::geom::CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: tut::ensure_equals_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::isnan
    - tut::ensure
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_xyzm(geos::geom::CoordinateXYZM const& actual,\n
      \                  geos::geom::CoordinateXYZM const& expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:162,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:162,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - msg
    - a
    - b
    argTypes:
    - char*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: tut::ensure_same
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 2
    functionsReached:
    - tut::ensure_equals
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void ensure_same(const char* msg, double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_same
      Src: /src/geos/tests/unit/utility.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tut::ensure_same
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 3
    functionsReached:
    - tut::ensure_same
    linkageType: ''
    returnType: void
    signature: void ensure_same(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:186,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:187,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:188,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - T1*
    - T2*
    assertStmts:
    - condition: (0 != lhs)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/geos/tests/unit/utility.h
    - condition: (!"DIFFERENT TYPES ARE NOT OF THE SAME STRUCTURE")
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/geos/tests/unit/utility.h
    - condition: (0 != rhs)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 4
    functionsReached:
    - assert
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(T1 const* lhs, T2 const* rhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:197,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:198,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:205,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:206,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:207,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:208,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:210,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/utility.h:211,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/utility.h:211,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:213,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/utility.h:214,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/utility.h:214,1
    - Dst: tut::isInstanceOf
      Src: /src/geos/tests/unit/utility.h:216,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:216,1
    - Dst: tut::isInstanceOf
      Src: /src/geos/tests/unit/utility.h:217,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:217,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:218,1
    - Dst: std::unique_ptr::isSimple
      Src: /src/geos/tests/unit/utility.h:219,1
    - Dst: std::unique_ptr::isSimple
      Src: /src/geos/tests/unit/utility.h:219,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:222,1
    - Dst: std::unique_ptr::getGeometryType
      Src: /src/geos/tests/unit/utility.h:223,1
    - Dst: std::unique_ptr::getGeometryType
      Src: /src/geos/tests/unit/utility.h:223,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:225,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:226,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:226,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:228,1
    - Dst: std::unique_ptr::getDimension
      Src: /src/geos/tests/unit/utility.h:229,1
    - Dst: std::unique_ptr::getDimension
      Src: /src/geos/tests/unit/utility.h:229,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:231,1
    - Dst: std::unique_ptr::getBoundaryDimension
      Src: /src/geos/tests/unit/utility.h:232,1
    - Dst: std::unique_ptr::getBoundaryDimension
      Src: /src/geos/tests/unit/utility.h:232,1
    - Dst: std::unique_ptr::getNumPoints
      Src: /src/geos/tests/unit/utility.h:234,1
    - Dst: std::unique_ptr::getNumPoints
      Src: /src/geos/tests/unit/utility.h:234,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/utility.h:235,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:235,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/utility.h:240,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/utility.h:241,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:244,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - lhs_in
    - rhs_in
    argTypes:
    - T*
    - T*
    assertStmts:
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 259
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 259
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 4
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - T*::clone
    - std::unique_ptr::isEmpty
    - tut::ensure_equals
    - std::unique_ptr::getBoundaryDimension
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::getNumPoints
    - WKTWriter::write
    - std::unique_ptr::getDimension
    - tut::isInstanceOf
    - assert
    - std::unique_ptr::isValid
    - std::unique_ptr::equalsExact
    - std::unique_ptr::getGeometryType
    - std::unique_ptr::isSimple
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(T const* lhs_in, T const* rhs_in, double
      tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/tests/unit/utility.h:264,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/utility.h:265,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:266,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/utility.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - rhs
    argTypes:
    - T
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 5
    functionsReached:
    - auto::get
    - getFactory
    - tut::ensure_equals_geometry
    - geos::io::WKTReader::read
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(const T& lhs, const char* rhs, double tolerance
      = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/tests/unit/utility.h:272,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/utility.h:273,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:274,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/utility.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 6
    functionsReached:
    - auto::get
    - getFactory
    - tut::ensure_equals_geometry
    - geos::io::WKTReader::read
    linkageType: ''
    returnType: void
    signature: void ensure_equals_geometry(const T& lhs, const std::string& rhs, double
      tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:282,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:283,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:285,1
    - Dst: geos::geom::Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:286,1
    - Dst: geos::geom::Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - geos::geom::Polygon*
    - geos::geom::Polygon*
    assertStmts:
    - condition: (nullptr != lhs)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 6
    functionsReached:
    - assert
    - geos::geom::Polygon*::getNumInteriorRing
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry(geos::geom::Polygon const* lhs,\n                       geos::geom::Polygon
      const* rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:294,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:295,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:299,1
    - Dst: geos::geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:300,1
    - Dst: geos::geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:300,1
    - Dst: geos::geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:302,1
    - Dst: geos::geom::GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:303,1
    - Dst: geos::geom::GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:304,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - geos::geom::GeometryCollection*
    - geos::geom::GeometryCollection*
    assertStmts:
    - condition: (nullptr != lhs)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 7
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure_equals
    - geos::geom::GeometryCollection*::getNumGeometries
    - geos::geom::GeometryCollection*::getGeometryN
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry(geos::geom::GeometryCollection const*
      lhs,\n                       geos::geom::GeometryCollection const* rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:314,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:315,1
    - Dst: geos::geom::prep::PreparedGeometry*::getGeometry
      Src: /src/geos/tests/unit/utility.h:317,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/utility.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::prep::PreparedGeometry*
    assertStmts:
    - condition: (nullptr != lhs)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: tut::ensure_equals_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 8
    functionsReached:
    - assert
    - tut::ensure_equals_geometry
    - geos::geom::prep::PreparedGeometry*::getGeometry
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry(geos::geom::Geometry const* lhs,\n                       geos::geom::prep::PreparedGeometry
      const* rhs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:333,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:334,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:336,1
    - Dst: geos::geom::CoordinateSequence*::size
      Src: /src/geos/tests/unit/utility.h:336,1
    - Dst: geos::geom::CoordinateSequence*::size
      Src: /src/geos/tests/unit/utility.h:336,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:338,1
    - Dst: geos::geom::CoordinateSequence*::getDimension
      Src: /src/geos/tests/unit/utility.h:338,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:339,1
    - Dst: geos::geom::CoordinateSequence*::getDimension
      Src: /src/geos/tests/unit/utility.h:339,1
    - Dst: geos::geom::CoordinateSequence*::size
      Src: /src/geos/tests/unit/utility.h:341,1
    - Dst: geos::geom::CoordinateSequence*::getOrdinate
      Src: /src/geos/tests/unit/utility.h:343,1
    - Dst: geos::geom::CoordinateSequence*::getOrdinate
      Src: /src/geos/tests/unit/utility.h:344,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:345,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:347,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/utility.h:347,1
    - Dst: tut::ensure_distance
      Src: /src/geos/tests/unit/utility.h:352,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - seq1
    - seq2
    - dims
    - tolerance
    argTypes:
    - geos::geom::CoordinateSequence*
    - geos::geom::CoordinateSequence*
    - unsigned int
    - double
    assertStmts:
    - condition: (nullptr != seq1)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != seq2)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 358
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 358
    functionName: tut::ensure_equals_dims
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 2
    functionsReached:
    - geos::geom::CoordinateSequence*::size
    - tut::ensure
    - geos::geom::CoordinateSequence*::getOrdinate
    - tut::ensure_equals
    - geos::geom::CoordinateSequence*::getDimension
    - std::isnan
    - tut::ensure_distance
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_dims(const geos::geom::CoordinateSequence* seq1,\n
      \                  const geos::geom::CoordinateSequence* seq2,\n                   unsigned
      int dims, double tolerance)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:368,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:369,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:377,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:378,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:378,1
    - Dst: dynamic_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:381,1
    - Dst: static_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:382,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:383,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:383,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:383,1
    - Dst: dynamic_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:385,1
    - Dst: static_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:386,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:387,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:387,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:387,1
    - Dst: dynamic_cast<const Polygon *>
      Src: /src/geos/tests/unit/utility.h:389,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:390,1
    - Dst: dynamic_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:392,1
    - Dst: static_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:393,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:394,1
    - Dst: tut::ensure_equals_exact_geometry_xyz
      Src: /src/geos/tests/unit/utility.h:395,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:395,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - lhs_in
    - rhs_in
    - tolerance
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::Geometry*
    - double
    assertStmts:
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 398
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 398
    functionName: tut::ensure_equals_exact_geometry_xyz
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 3
    functionsReached:
    - tut::ensure
    - dynamic_cast<const Polygon *>
    - dynamic_cast<const GeometryCollection *>
    - GeometryCollection*::getNumGeometries
    - dynamic_cast<const Point *>
    - geos::geom::Geometry*::getGeometryTypeId
    - tut::ensure_equals
    - tut::ensure_equals_dims
    - GeometryCollection*::getGeometryN
    - static_cast<const Point *>
    - static_cast<const GeometryCollection *>
    - Point*::getCoordinatesRO
    - static_cast<const LineString *>
    - tut::ensure_equals_exact_geometry_xyz
    - assert
    - dynamic_cast<const LineString *>
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_geometry_xyz(const geos::geom::Geometry *lhs_in,\n
      \                                const geos::geom::Geometry *rhs_in,\n                                 double
      tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:405,1
    - Dst: geos::geom::CoordinateSequence*::hasZ
      Src: /src/geos/tests/unit/utility.h:405,1
    - Dst: geos::geom::CoordinateSequence*::hasZ
      Src: /src/geos/tests/unit/utility.h:405,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:406,1
    - Dst: geos::geom::CoordinateSequence*::hasM
      Src: /src/geos/tests/unit/utility.h:406,1
    - Dst: geos::geom::CoordinateSequence*::hasM
      Src: /src/geos/tests/unit/utility.h:406,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:407,1
    - Dst: geos::geom::CoordinateSequence*::getSize
      Src: /src/geos/tests/unit/utility.h:407,1
    - Dst: geos::geom::CoordinateSequence*::getSize
      Src: /src/geos/tests/unit/utility.h:407,1
    - Dst: geos::geom::CoordinateSequence*::getSize
      Src: /src/geos/tests/unit/utility.h:410,1
    - Dst: geos::geom::CoordinateSequence*::getAt
      Src: /src/geos/tests/unit/utility.h:411,1
    - Dst: geos::geom::CoordinateSequence*::getAt
      Src: /src/geos/tests/unit/utility.h:412,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:414,1
    - Dst: geos::geom::CoordinateXYZM::distance
      Src: /src/geos/tests/unit/utility.h:414,1
    - Dst: tut::ensure_same
      Src: /src/geos/tests/unit/utility.h:415,1
    - Dst: tut::ensure_same
      Src: /src/geos/tests/unit/utility.h:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - seq1
    - seq2
    - tol
    argTypes:
    - geos::geom::CoordinateSequence*
    - geos::geom::CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 418
    functionName: tut::ensure_equals_exact_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 1
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - geos::geom::CoordinateSequence*::hasM
    - geos::geom::CoordinateSequence*::getAt
    - tut::ensure_same
    - geos::geom::CoordinateSequence*::hasZ
    - geos::geom::CoordinateSequence*::getSize
    - geos::geom::CoordinateXYZM::distance
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_xyzm(const geos::geom::CoordinateSequence*
      seq1,\n             const geos::geom::CoordinateSequence* seq2,\n             double
      tol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:425,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:426,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:434,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:435,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:435,1
    - Dst: dynamic_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:437,1
    - Dst: static_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:438,1
    - Dst: tut::ensure_equals_exact_xyzm
      Src: /src/geos/tests/unit/utility.h:439,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:439,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:439,1
    - Dst: dynamic_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:441,1
    - Dst: static_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:442,1
    - Dst: tut::ensure_equals_exact_xyzm
      Src: /src/geos/tests/unit/utility.h:443,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:443,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:443,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/tests/unit/utility.h:445,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/tests/unit/utility.h:446,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/utility.h:447,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/utility.h:448,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:450,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:452,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:453,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:454,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/tests/unit/utility.h:456,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:457,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/tests/unit/utility.h:457,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/tests/unit/utility.h:458,1
    - Dst: dynamic_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:462,1
    - Dst: static_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:463,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:464,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:465,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:465,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - lhs_in
    - rhs_in
    - tolerance
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::Geometry*
    - double
    assertStmts:
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 468
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 468
    functionName: tut::ensure_equals_exact_geometry_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 3
    functionsReached:
    - tut::ensure_equals
    - static_cast<const Polygon*>
    - Point*::getCoordinatesRO
    - assert
    - Polygon*::getInteriorRingN
    - dynamic_cast<const LineString *>
    - LineString*::getCoordinatesRO
    - GeometryCollection*::getNumGeometries
    - tut::ensure_equals_exact_xyzm
    - dynamic_cast<const GeometryCollection *>
    - dynamic_cast<const Point *>
    - static_cast<const LineString *>
    - dynamic_cast<const Polygon*>
    - Polygon*::getNumInteriorRing
    - static_cast<const GeometryCollection *>
    - GeometryCollection*::getGeometryN
    - geos::geom::Geometry*::getGeometryTypeId
    - static_cast<const Point *>
    - tut::ensure_equals_exact_geometry_xyzm
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_geometry_xyzm(const geos::geom::Geometry
      *lhs_in,\n                                  const geos::geom::Geometry *rhs_in,\n
      \                                 double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:476,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:477,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:478,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:479,1
    - Dst: tut::ensure_equals_exact_geometry_xyz
      Src: /src/geos/tests/unit/utility.h:480,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:480,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lhs_in
    - rhs_in
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: tut::ensure_equals_geometry_xyz
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr::normalize
    - tut::ensure_equals_exact_geometry_xyz
    - std::unique_ptr::get
    - T*::clone
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry_xyz(const T *lhs_in,\n                           const
      T *rhs_in,\n                           double tolerance=0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:489,1
    - Dst: T*::hasZ
      Src: /src/geos/tests/unit/utility.h:489,1
    - Dst: T*::hasZ
      Src: /src/geos/tests/unit/utility.h:489,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:490,1
    - Dst: T*::hasM
      Src: /src/geos/tests/unit/utility.h:490,1
    - Dst: T*::hasM
      Src: /src/geos/tests/unit/utility.h:490,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:492,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:493,1
    - Dst: T*::clone
      Src: /src/geos/tests/unit/utility.h:494,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/utility.h:495,1
    - Dst: tut::ensure_equals_exact_geometry_xyzm
      Src: /src/geos/tests/unit/utility.h:497,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:497,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/utility.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lhs_in
    - rhs_in
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: tut::ensure_equals_geometry_xyzm
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - T*::hasZ
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - T*::clone
    - tut::ensure_equals
    - tut::ensure_equals_exact_geometry_xyzm
    - T*::hasM
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_geometry_xyzm(const T *lhs_in,\n                           const
      T *rhs_in,\n                           double tolerance=0.0)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:512,1
    - Dst: assert
      Src: /src/geos/tests/unit/utility.h:513,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/utility.h:521,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:522,1
    - Dst: geos::geom::Geometry*::getGeometryTypeId
      Src: /src/geos/tests/unit/utility.h:522,1
    - Dst: dynamic_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:524,1
    - Dst: static_cast<const Point *>
      Src: /src/geos/tests/unit/utility.h:525,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:526,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:526,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:526,1
    - Dst: dynamic_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:528,1
    - Dst: static_cast<const LineString *>
      Src: /src/geos/tests/unit/utility.h:529,1
    - Dst: tut::ensure_equals_dims
      Src: /src/geos/tests/unit/utility.h:530,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:530,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/utility.h:530,1
    - Dst: dynamic_cast<const Polygon *>
      Src: /src/geos/tests/unit/utility.h:532,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/utility.h:533,1
    - Dst: dynamic_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:535,1
    - Dst: static_cast<const GeometryCollection *>
      Src: /src/geos/tests/unit/utility.h:536,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/tests/unit/utility.h:537,1
    - Dst: tut::ensure_equals_exact_geometry
      Src: /src/geos/tests/unit/utility.h:538,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:538,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/tests/unit/utility.h:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - lhs_in
    - rhs_in
    - tolerance
    argTypes:
    - geos::geom::Geometry*
    - geos::geom::Geometry*
    - double
    assertStmts:
    - condition: (nullptr != rhs_in)
      pos:
        line_end: 512
        line_start: 512
        source_file: /src/geos/tests/unit/utility.h
    - condition: (nullptr != lhs_in)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/geos/tests/unit/utility.h
    constantsTouched: []
    func_position:
      end: 541
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 541
    functionName: tut::ensure_equals_exact_geometry
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 2
    functionsReached:
    - tut::ensure
    - dynamic_cast<const Polygon *>
    - dynamic_cast<const GeometryCollection *>
    - GeometryCollection*::getNumGeometries
    - dynamic_cast<const Point *>
    - geos::geom::Geometry*::getGeometryTypeId
    - tut::ensure_equals
    - tut::ensure_equals_dims
    - GeometryCollection*::getGeometryN
    - static_cast<const Point *>
    - static_cast<const GeometryCollection *>
    - Point*::getCoordinatesRO
    - static_cast<const LineString *>
    - assert
    - dynamic_cast<const LineString *>
    - tut::ensure_equals_exact_geometry
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_exact_geometry(const geos::geom::Geometry *lhs_in,\n
      \                                const geos::geom::Geometry *rhs_in,\n                                 double
      tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/utility.h:555,1
    - Dst: size
      Src: /src/geos/tests/unit/utility.h:556,1
    - Dst: substr
      Src: /src/geos/tests/unit/utility.h:557,1
    - Dst: push_back
      Src: /src/geos/tests/unit/utility.h:560,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/tests/unit/utility.h:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' hexstr'
    - ' bytes'
    argTypes:
    - std::string
    - binary_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: tut::decode
    functionSourceFile: /src/geos/tests/unit/utility.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - size
    - push_back
    - clear
    - substr
    linkageType: ''
    returnType: void
    signature: void decode(std::string const& hexstr, binary_type& bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: tut::test_packedrtree_data
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_packedrtree_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:37,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:38,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:39,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:39,1
    - Dst: add
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: VertexSequencePackedRtree::VertexSequencePackedRtree
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' multipointwkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: tut::createSPRtree
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - auto::getGeometryN
    - auto::getX
    - VertexSequencePackedRtree::VertexSequencePackedRtree
    - read
    - add
    - clear
    - auto::getY
    - auto::getNumGeometries
    - Coordinate
    linkageType: ''
    returnType: std::unique_ptr<VertexSequencePackedRtree>
    signature: std::unique_ptr<VertexSequencePackedRtree> createSPRtree(std::string&
      multipointwkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - minx
    - miny
    - maxx
    - maxy
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: tut::getEnvelope
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope
    linkageType: ''
    returnType: Envelope
    signature: Envelope getEnvelope(double minx, double miny, double maxx, double
      maxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' expectedIds'
    - ' resultIds'
    argTypes:
    - std::vector<std::size_t>
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: tut::isEqualResult
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: "bool isEqualResult(std::vector<std::size_t>& expectedIds,\n        std::vector<std::size_t>&
      resultIds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::createSPRtree
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:68,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:71,1
    - Dst: size
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:71,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:72,1
    - Dst: tut::isEqualResult
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt'
    - ' queryEnv'
    - expectedIds
    argTypes:
    - std::string
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: tut::checkQuery
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - size
    - tut::createSPRtree
    - std::vector::size
    - tut::isEqualResult
    - auto::query
    linkageType: ''
    returnType: void
    signature: "void checkQuery(std::string& wkt,\n        const Envelope& queryEnv,\n
      \       std::vector<std::size_t> expectedIds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:92,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:103,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:116,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:116,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:119,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:131,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:131,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:134,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:134,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:137,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:149,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:149,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:152,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:165,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: tut::test_packedrtree_data
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_packedrtree_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:37,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:38,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:39,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:39,1
    - Dst: add
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:40,1
    - Dst: VertexSequencePackedRtree::VertexSequencePackedRtree
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' multipointwkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: tut::createSPRtree
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const Point*>
    - auto::getGeometryN
    - auto::getX
    - VertexSequencePackedRtree::VertexSequencePackedRtree
    - read
    - add
    - clear
    - auto::getY
    - auto::getNumGeometries
    - Coordinate
    linkageType: ''
    returnType: std::unique_ptr<VertexSequencePackedRtree>
    signature: std::unique_ptr<VertexSequencePackedRtree> createSPRtree(std::string&
      multipointwkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - minx
    - miny
    - maxx
    - maxy
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: tut::getEnvelope
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope
    linkageType: ''
    returnType: Envelope
    signature: Envelope getEnvelope(double minx, double miny, double maxx, double
      maxy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' expectedIds'
    - ' resultIds'
    argTypes:
    - std::vector<std::size_t>
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: tut::isEqualResult
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: "bool isEqualResult(std::vector<std::size_t>& expectedIds,\n        std::vector<std::size_t>&
      resultIds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::createSPRtree
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:68,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:71,1
    - Dst: size
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:71,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:72,1
    - Dst: tut::isEqualResult
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt'
    - ' queryEnv'
    - expectedIds
    argTypes:
    - std::string
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: tut::checkQuery
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - size
    - tut::createSPRtree
    - std::vector::size
    - tut::isEqualResult
    - auto::query
    linkageType: ''
    returnType: void
    signature: "void checkQuery(std::string& wkt,\n        const Envelope& queryEnv,\n
      \       std::vector<std::size_t> expectedIds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:92,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:103,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:116,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:116,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:119,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:131,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:131,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:134,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:134,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:137,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:149,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:149,1
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:152,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkQuery
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:165,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/VertexSequencePackedRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - checkQuery
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: tut::test_monotonechain_data
    functionSourceFile: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_monotonechain_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:41,1
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:45,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - ensure_equals
    - geos::index::chain::MonotoneChainBuilder::getChains
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: tut::test_monotonechain_data
    functionSourceFile: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_monotonechain_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:41,1
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:45,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/chain/MonotoneChainBuilderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - ensure_equals
    - geos::index::chain::MonotoneChainBuilder::getChains
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:20,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:21,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:22,1
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:23,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:23,1
    - Dst: read
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:26,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:27,1
    - Dst: auto::toVector
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:29,1
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:31,1
    - Dst: KdTree::query
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:31,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:33,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:33,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:33,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:34,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:34,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:36,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:36,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ' wktInput'
    - tolerance
    - ' queryEnv'
    - ' wktExpected'
    - includeRepeated
    argTypes:
    - std::string
    - double
    - Envelope
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: tut::testQuery
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::sort
    - read
    - std::unique_ptr::getAt
    - KdTree::insert
    - geos::index::kdtree::KdTree::toCoordinates
    - std::vector::begin
    - auto::toVector
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::size
    - auto::getCoordinates
    - std::vector::end
    - std::vector::size
    - KdTree::query
    linkageType: ''
    returnType: void
    signature: void testQuery(std::string& wktInput, double tolerance, const Envelope&
      queryEnv, std::string& wktExpected, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wktInput'
    - tolerance
    - ' queryEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::testQuery
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 1
    functionsReached:
    - tut::testQuery
    linkageType: ''
    returnType: void
    signature: void testQuery(std::string& wktInput, double tolerance, const Envelope&
      queryEnv, std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wktInput'
    - tolerance
    - ' queryEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tut::testQueryRepeated
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::testQuery
    linkageType: ''
    returnType: void
    signature: void testQueryRepeated(std::string& wktInput, double tolerance, const
      Envelope& queryEnv, std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:64,1
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:65,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:67,1
    - Dst: KdTree::query
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:72,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:72,1
    - Dst: std::unique_ptr::at
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:75,1
    - Dst: KdNode*::getCount
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:76,1
    - Dst: KdNode*::isRepeated
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - KdTree::insert
    - std::unique_ptr::at
    - KdNode*::isRepeated
    - ensure
    - std::unique_ptr::size
    - KdNode*::getCount
    - Coordinate
    - KdTree::query
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQueryRepeated
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQueryRepeated
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:177,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:177,1
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:178,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:180,1
    - Dst: KdTree::query
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:185,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:188,1
    - Dst: KdNode*::getCount
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:188,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:189,1
    - Dst: KdNode*::isRepeated
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - KdTree::insert
    - KdNode*::isRepeated
    - ensure
    - std::unique_ptr::size
    - KdNode*::getCount
    - Coordinate
    - KdTree::query
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:20,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:21,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:22,1
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:23,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:23,1
    - Dst: read
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:26,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:27,1
    - Dst: auto::toVector
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:29,1
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:31,1
    - Dst: KdTree::query
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:31,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:33,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:33,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:33,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:34,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:34,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:36,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:36,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ' wktInput'
    - tolerance
    - ' queryEnv'
    - ' wktExpected'
    - includeRepeated
    argTypes:
    - std::string
    - double
    - Envelope
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 38
    functionName: tut::testQuery
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - tut::sort
    - read
    - std::unique_ptr::getAt
    - KdTree::insert
    - geos::index::kdtree::KdTree::toCoordinates
    - std::vector::begin
    - auto::toVector
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::size
    - auto::getCoordinates
    - std::vector::end
    - std::vector::size
    - KdTree::query
    linkageType: ''
    returnType: void
    signature: void testQuery(std::string& wktInput, double tolerance, const Envelope&
      queryEnv, std::string& wktExpected, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wktInput'
    - tolerance
    - ' queryEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::testQuery
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 3
    functionsReached:
    - tut::testQuery
    linkageType: ''
    returnType: void
    signature: void testQuery(std::string& wktInput, double tolerance, const Envelope&
      queryEnv, std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wktInput'
    - tolerance
    - ' queryEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: tut::testQueryRepeated
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::testQuery
    linkageType: ''
    returnType: void
    signature: void testQueryRepeated(std::string& wktInput, double tolerance, const
      Envelope& queryEnv, std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:64,1
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:65,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:67,1
    - Dst: KdTree::query
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:72,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:72,1
    - Dst: std::unique_ptr::at
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:75,1
    - Dst: KdNode*::getCount
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:76,1
    - Dst: KdNode*::isRepeated
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - KdTree::insert
    - std::unique_ptr::at
    - KdNode*::isRepeated
    - ensure
    - std::unique_ptr::size
    - KdNode*::getCount
    - Coordinate
    - KdTree::query
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQuery
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQuery
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testQueryRepeated
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - testQueryRepeated
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:177,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:177,1
    - Dst: KdTree::insert
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:178,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:180,1
    - Dst: KdTree::query
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:185,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:188,1
    - Dst: KdNode*::getCount
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:188,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:189,1
    - Dst: KdNode*::isRepeated
      Src: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/index/kdtree/KdTreeTest.cpp
    functionUses: 0
    functionsReached:
    - KdTree::insert
    - KdNode*::isRepeated
    - ensure
    - std::unique_ptr::size
    - KdNode*::getCount
    - Coordinate
    - KdTree::query
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SIRtreeTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SIRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - SIRtree::insert
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SIRtreeTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SIRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - SIRtree::insert
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:34,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:38,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:39,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:39,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:40,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:40,1
    - Dst: index::strtree::SimpleSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:48,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:48,1
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:63,1
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:64,1
    - Dst: index::strtree::SimpleSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - index::strtree::SimpleSTRtree::query
    - static_cast<geom::Point*>
    - ensure
    - auto::createPoint
    - std::vector::size
    - auto::get
    - index::strtree::SimpleSTRtree::insert
    - geom::Point*::isEmpty
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tut::SimpleTestVisitor::SimpleTestVisitor
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleTestVisitor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:63,1
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tut::SimpleTestVisitor::visitItem
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geom::Point*::isEmpty
    - static_cast<geom::Point*>
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:86,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:91,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:92,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:93,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:93,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:94,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:94,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:95,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:95,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:96,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:96,1
    - Dst: index::strtree::SimpleSTRtree::nearestNeighbour
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:102,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:104,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:110,1
    - Dst: geom::Point*::getX
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:111,1
    - Dst: geom::Point*::getY
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:112,1
    - Dst: geom::Point*::getX
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:113,1
    - Dst: geom::Point*::getY
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 114
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - static_cast<const geom::Point*>
    - geos::geom::GeometryFactory::create
    - geom::Point*::getY
    - index::strtree::SimpleSTRtree::nearestNeighbour
    - geom::Point*::getX
    - ensure_equals
    - auto::createPoint
    - auto::get
    - index::strtree::SimpleSTRtree::insert
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:122,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:126,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:126,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:127,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:127,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:127,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:128,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:128,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:128,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:129,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:129,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:129,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:132,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:135,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:140,1
    - Dst: index::strtree::SimpleSTRtree::remove
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:144,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:144,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:146,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 152
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - getEnvelopeInternal
    - geos::io::WKTReader::read
    - string
    - ensure_equals
    - get
    - index::strtree::SimpleSTRtree::remove
    - index::strtree::SimpleSTRtree::getRoot
    - index::strtree::SimpleSTRtree::insert
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:34,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:38,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:39,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:39,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:40,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:40,1
    - Dst: index::strtree::SimpleSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:48,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:48,1
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:63,1
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:64,1
    - Dst: index::strtree::SimpleSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - index::strtree::SimpleSTRtree::query
    - static_cast<geom::Point*>
    - ensure
    - auto::createPoint
    - std::vector::size
    - auto::get
    - index::strtree::SimpleSTRtree::insert
    - geom::Point*::isEmpty
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tut::SimpleTestVisitor::SimpleTestVisitor
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleTestVisitor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:63,1
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: tut::SimpleTestVisitor::visitItem
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geom::Point*::isEmpty
    - static_cast<geom::Point*>
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:86,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:91,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:92,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:93,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:93,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:94,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:94,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:95,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:95,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:96,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:96,1
    - Dst: index::strtree::SimpleSTRtree::nearestNeighbour
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:102,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:104,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:110,1
    - Dst: geom::Point*::getX
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:111,1
    - Dst: geom::Point*::getY
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:112,1
    - Dst: geom::Point*::getX
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:113,1
    - Dst: geom::Point*::getY
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 114
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - static_cast<const geom::Point*>
    - geos::geom::GeometryFactory::create
    - geom::Point*::getY
    - index::strtree::SimpleSTRtree::nearestNeighbour
    - geom::Point*::getX
    - ensure_equals
    - auto::createPoint
    - auto::get
    - index::strtree::SimpleSTRtree::insert
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:122,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:126,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:126,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:127,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:127,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:127,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:128,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:128,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:128,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:129,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:129,1
    - Dst: string
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:129,1
    - Dst: index::strtree::SimpleSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:132,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:135,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:140,1
    - Dst: index::strtree::SimpleSTRtree::remove
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:144,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:144,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:146,1
    - Dst: index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 152
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/SimpleSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - getEnvelopeInternal
    - geos::io::WKTReader::read
    - string
    - ensure_equals
    - get
    - index::strtree::SimpleSTRtree::remove
    - index::strtree::SimpleSTRtree::getRoot
    - index::strtree::SimpleSTRtree::insert
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:27,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: tut::getEnvelope
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope getEnvelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:35,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:38,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:39,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:40,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:41,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' grid'
    argTypes:
    - Grid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: tut::pointGrid
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - auto::createPoint
    - std::move
    - static_cast<double>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Point>>
    signature: std::vector<std::unique_ptr<geom::Point>> pointGrid(const Grid & grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:51,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:54,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:55,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:56,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:57,1
    - Dst: auto::toGeometry
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:61,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:63,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' grid'
    argTypes:
    - Grid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: tut::boxGrid
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - auto::toGeometry
    - std::move
    - static_cast<double>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> boxGrid(const Grid & grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:74,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' items'
    argTypes:
    - std::vector<VectorItemType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tut::makeTree
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - get
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: TemplateSTRtree<TreeItemType>
    signature: TemplateSTRtree<TreeItemType> makeTree(const std::vector<VectorItemType>
      & items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:96,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:97,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:103,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - std::vector::size
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:114,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:115,1
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:129,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:130,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<geom::Point*>
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - auto::isEmpty
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: tut::SimpleTestVisitor::SimpleTestVisitor
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleTestVisitor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:129,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: tut::SimpleTestVisitor::visitItem
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isEmpty
    - static_cast<geom::Point*>
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:154,1
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:155,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:157,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:158,1
    - Dst: distance
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:162,1
    - Dst: auto::nearestNeighbour
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:167,1
    - Dst: auto::first::getX
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:168,1
    - Dst: auto::first::getY
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:169,1
    - Dst: auto::second::getX
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:170,1
    - Dst: auto::second::getY
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::nearestNeighbour
    - auto::first::getY
    - auto::second::getY
    - auto::first::getX
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure_equals
    - distance
    - auto::second::getX
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::distance
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: operator()(const Geometry* a, const Geometry* b)
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::distance
    linkageType: ''
    returnType: double
    signature: double operator()(const Geometry* a, const Geometry* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:178,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:181,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:181,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:182,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:182,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:183,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:183,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:184,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:184,1
    - Dst: makeTree<Geometry*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:186,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:188,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:189,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:190,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:191,1
    - Dst: auto::remove
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:193,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:193,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:193,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:195,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::remove
    - makeTree<Geometry*>
    - geos::geom::GeometryFactory::create
    - getEnvelopeInternal
    - geos::io::WKTReader::read
    - ensure_equals
    - get
    - auto::getRoot
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:211,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:215,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:216,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:216,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:223,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:223,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:227,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:228,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:228,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:228,1
    - Dst: TemplateSTRtree::remove
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:233,1
    - Dst: Grid::getEnvelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:233,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:234,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:235,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:236,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:236,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - TemplateSTRtree::query
    - auto::size
    - TemplateSTRtree::items
    - Grid::getEnvelope
    - getEnvelopeInternal
    - pointGrid
    - ensure_equals
    - ensure
    - std::vector::size
    - TemplateSTRtree::remove
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:252,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:257,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:259,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - TemplateSTRtree::query
    - ensure_equals
    - std::vector::size
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:267,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:268,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:269,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:270,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:272,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:275,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:278,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:281,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:287,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:288,1
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:289,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:290,1
    - Dst: intersects
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:316,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:320,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:324,1
    - Dst: expandToInclude
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:328,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:345,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:350,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:352,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 353
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - TemplateSTRtree::query
    - std::numeric_limits<float>::infinity
    - std::nextafter
    - expandToInclude
    - std::vector::size
    - ensure_equals
    - static_cast<float>
    - std::min
    - std::max
    - static_cast<double>
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:267,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:268,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:269,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:270,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:272,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:275,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:278,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:281,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - p_xmin
    - p_xmax
    - p_ymin
    - p_ymax
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: tut::FloatBox
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<float>::infinity
    - std::nextafter
    - static_cast<double>
    - static_cast<float>
    linkageType: ''
    returnType: void
    signature: void FloatBox(double p_xmin, double p_xmax, double p_ymin, double p_ymax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:287,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:288,1
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:289,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FloatBox
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: tut::expandToInclude
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void expandToInclude(const FloatBox & other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FloatBox
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: tut::intersects
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersects(const FloatBox & other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tut::doNothing
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TwoDimensional
    signature: TwoDimensional doNothing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BoundsType
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: tut::intersects
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 1
    functionsReached:
    - tut::intersects
    linkageType: ''
    returnType: bool
    signature: bool intersects(const BoundsType & a, const BoundsType & b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: tut::getX
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double getX(const BoundsType& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: tut::getY
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double getY(const BoundsType& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::expandToInclude
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BoundsType
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: tut::expandToInclude
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 1
    functionsReached:
    - tut::expandToInclude
    linkageType: ''
    returnType: void
    signature: void expandToInclude(BoundsType& a, const BoundsType& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: tut::isNull
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull(const BoundsType & a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:364,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:365,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:369,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:370,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:375,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:376,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 377
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - std::vector::size
    - std::vector::push_back
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:390,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:391,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:397,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:402,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 403
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - std::vector::size
    - std::vector::push_back
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:415,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:415,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:420,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:420,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:424,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:424,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:425,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:429,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - TemplateSTRtree::query
    - geos::geom::Envelope
    - ensure_equals
    - std::vector::size
    - std::vector::push_back
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: boxGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:441,1
    - Dst: makeTree<const geom::Geometry*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:442,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:449,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:449,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:450,1
    - Dst: auto::queryPairs
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:458,1
    - Dst: auto::queryPairs
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:465,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 473
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::queryPairs
    - getEnvelopeInternal
    - ensure_equals
    - get
    - boxGrid
    - makeTree<const geom::Geometry*>
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:27,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: tut::getEnvelope
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope getEnvelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:35,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:38,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:39,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:40,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:41,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' grid'
    argTypes:
    - Grid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: tut::pointGrid
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - auto::createPoint
    - std::move
    - static_cast<double>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Point>>
    signature: std::vector<std::unique_ptr<geom::Point>> pointGrid(const Grid & grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:51,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:54,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:55,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:56,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:57,1
    - Dst: auto::toGeometry
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:61,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:63,1
    - Dst: std::move
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' grid'
    argTypes:
    - Grid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: tut::boxGrid
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - auto::toGeometry
    - std::move
    - static_cast<double>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> boxGrid(const Grid & grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:74,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' items'
    argTypes:
    - std::vector<VectorItemType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tut::makeTree
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - get
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: TemplateSTRtree<TreeItemType>
    signature: TemplateSTRtree<TreeItemType> makeTree(const std::vector<VectorItemType>
      & items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:96,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:97,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:103,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - std::vector::size
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:114,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:115,1
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:129,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:130,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<geom::Point*>
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - auto::isEmpty
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: tut::SimpleTestVisitor::SimpleTestVisitor
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleTestVisitor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:129,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: tut::SimpleTestVisitor::visitItem
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isEmpty
    - static_cast<geom::Point*>
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:154,1
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:155,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:157,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:158,1
    - Dst: distance
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:162,1
    - Dst: auto::nearestNeighbour
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:167,1
    - Dst: auto::first::getX
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:168,1
    - Dst: auto::first::getY
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:169,1
    - Dst: auto::second::getX
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:170,1
    - Dst: auto::second::getY
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::nearestNeighbour
    - auto::first::getY
    - auto::second::getY
    - auto::first::getX
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure_equals
    - distance
    - auto::second::getX
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::distance
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: operator()(const Geometry* a, const Geometry* b)
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::distance
    linkageType: ''
    returnType: double
    signature: double operator()(const Geometry* a, const Geometry* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:178,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:181,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:181,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:182,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:182,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:183,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:183,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:184,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:184,1
    - Dst: makeTree<Geometry*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:186,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:188,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:189,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:190,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:191,1
    - Dst: auto::remove
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:193,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:193,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:193,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:195,1
    - Dst: auto::getRoot
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::remove
    - makeTree<Geometry*>
    - geos::geom::GeometryFactory::create
    - getEnvelopeInternal
    - geos::io::WKTReader::read
    - ensure_equals
    - get
    - auto::getRoot
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:211,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:215,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:216,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:216,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:223,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:223,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:227,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:228,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:228,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:228,1
    - Dst: TemplateSTRtree::remove
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:233,1
    - Dst: Grid::getEnvelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:233,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:234,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:235,1
    - Dst: TemplateSTRtree::items
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:236,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:236,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - TemplateSTRtree::query
    - auto::size
    - TemplateSTRtree::items
    - Grid::getEnvelope
    - getEnvelopeInternal
    - pointGrid
    - ensure_equals
    - ensure
    - std::vector::size
    - TemplateSTRtree::remove
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:252,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:257,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:259,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - TemplateSTRtree::query
    - ensure_equals
    - std::vector::size
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:267,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:268,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:269,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:270,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:272,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:275,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:278,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:281,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:287,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:288,1
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:289,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:290,1
    - Dst: intersects
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:316,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:320,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:324,1
    - Dst: expandToInclude
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:328,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:345,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:350,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:352,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 353
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - TemplateSTRtree::query
    - std::numeric_limits<float>::infinity
    - std::nextafter
    - expandToInclude
    - std::vector::size
    - ensure_equals
    - static_cast<float>
    - std::min
    - std::max
    - static_cast<double>
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:267,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:268,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:269,1
    - Dst: static_cast<float>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:270,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:272,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:273,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:275,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:276,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:278,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:279,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:281,1
    - Dst: std::nextafter
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - p_xmin
    - p_xmax
    - p_ymin
    - p_ymax
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: tut::FloatBox
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<float>::infinity
    - std::nextafter
    - static_cast<double>
    - static_cast<float>
    linkageType: ''
    returnType: void
    signature: void FloatBox(double p_xmin, double p_xmax, double p_ymin, double p_ymax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:287,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:288,1
    - Dst: std::min
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:289,1
    - Dst: std::max
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FloatBox
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: tut::expandToInclude
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void expandToInclude(const FloatBox & other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FloatBox
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: tut::intersects
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersects(const FloatBox & other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tut::doNothing
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TwoDimensional
    signature: TwoDimensional doNothing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BoundsType
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: tut::intersects
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 2
    functionsReached:
    - tut::intersects
    linkageType: ''
    returnType: bool
    signature: bool intersects(const BoundsType & a, const BoundsType & b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: tut::getX
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double getX(const BoundsType& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: tut::getY
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double getY(const BoundsType& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::expandToInclude
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - BoundsType
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: tut::expandToInclude
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 2
    functionsReached:
    - tut::expandToInclude
    linkageType: ''
    returnType: void
    signature: void expandToInclude(BoundsType& a, const BoundsType& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - BoundsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: tut::isNull
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull(const BoundsType & a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:364,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:365,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:369,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:370,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:375,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:376,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 377
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - std::vector::size
    - std::vector::push_back
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:390,1
    - Dst: makeTree<const geom::Point*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:391,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:397,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:402,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 403
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - makeTree<const geom::Point*>
    - pointGrid
    - ensure
    - std::vector::size
    - std::vector::push_back
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:415,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:415,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:420,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:420,1
    - Dst: TemplateSTRtree::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:424,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:424,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:425,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:429,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - TemplateSTRtree::query
    - geos::geom::Envelope
    - ensure_equals
    - std::vector::size
    - std::vector::push_back
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: boxGrid
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:441,1
    - Dst: makeTree<const geom::Geometry*>
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:442,1
    - Dst: auto::query
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:449,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:449,1
    - Dst: get
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:450,1
    - Dst: auto::queryPairs
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:458,1
    - Dst: auto::queryPairs
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:465,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 473
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/index/strtree/TemplateSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::queryPairs
    - getEnvelopeInternal
    - ensure_equals
    - get
    - boxGrid
    - makeTree<const geom::Geometry*>
    - auto::query
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:35,1
    - Dst: get
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tut::test_geojsonreader_data
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geojsonreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:54,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:55,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:55,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:66,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:67,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:67,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:78,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:79,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:79,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:90,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:91,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:91,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:102,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:103,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:103,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:114,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:115,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:115,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:126,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:127,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:127,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:138,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:139,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:139,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:150,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:151,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:151,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:162,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:163,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:163,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:174,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:174,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:175,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:175,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:185,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:186,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:187,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:187,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:198,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:199,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:199,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:210,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:211,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:211,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:222,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:223,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:223,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:234,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:234,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:235,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:246,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:246,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:247,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:247,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:257,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:258,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:258,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:258,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:260,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:260,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:261,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:261,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:261,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:262,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:262,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:262,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:263,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:263,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getGeometry
    - readFeatures
    - ensure_equals
    - getProperties
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:274,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:274,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:276,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:276,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:277,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:277,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:278,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:278,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:278,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:279,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:279,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:279,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:280,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:280,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:281,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:281,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:281,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:282,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:283,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:284,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:284,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:285,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 286
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getGeometry
    - getId
    - readFeatures
    - ensure_equals
    - getProperties
    - std::vector::size
    - geos::io::GeoJSONFeatureCollection::getFeatures
    - getNumber
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:300,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:300,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:302,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:302,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:303,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:303,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:303,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:304,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:304,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:304,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:305,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:305,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:305,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:306,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:306,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:306,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:307,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:307,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getGeometry
    - readFeatures
    - ensure_equals
    - getProperties
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:317,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:318,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:318,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:319,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:319,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:332,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:335,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:337,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:351,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:356,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:357,1
    - Dst: std::string::find
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - std::string::find
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:370,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:373,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:375,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 377
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:389,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:392,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:394,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:408,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:411,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:413,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:424,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:425,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:425,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:426,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:426,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:436,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:437,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:437,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:438,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:438,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:451,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:456,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:470,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:473,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:475,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:476,1
    - Dst: std::string::find
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - std::string::find
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:494,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:495,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:495,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:495,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:496,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:496,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:496,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:497,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:497,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:497,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:498,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:498,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:499,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:499,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:499,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:500,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:500,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:500,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:501,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:501,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:502,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:502,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:502,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:503,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:503,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:503,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:504,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:504,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 505
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getId
    - readFeatures
    - ensure_equals
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:517,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:520,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:522,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:533,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:534,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:535,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:535,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:545,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:546,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:546,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:547,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:547,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:557,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:558,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:558,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:559,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:559,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:569,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:570,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:570,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:571,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:571,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:581,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:582,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:582,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:583,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:583,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:593,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:594,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:594,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:595,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:595,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:606,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:606,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:607,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:607,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:617,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:618,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:618,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:619,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:619,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 620
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:35,1
    - Dst: get
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: tut::test_geojsonreader_data
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geojsonreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:54,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:55,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:55,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:66,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:67,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:67,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:78,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:79,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:79,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:90,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:91,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:91,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:102,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:103,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:103,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:114,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:115,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:115,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:126,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:127,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:127,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:138,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:139,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:139,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:150,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:151,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:151,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:162,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:163,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:163,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:174,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:174,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:175,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:175,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:185,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:186,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:187,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:187,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:198,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:199,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:199,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:210,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:211,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:211,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:222,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:223,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:223,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:234,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:234,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:235,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:246,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:246,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:247,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:247,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:257,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:258,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:258,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:258,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:260,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:260,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:261,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:261,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:261,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:262,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:262,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:262,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:263,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:263,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getGeometry
    - readFeatures
    - ensure_equals
    - getProperties
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:274,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:274,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:276,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:276,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:277,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:277,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:278,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:278,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:278,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:279,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:279,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:279,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:280,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:280,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:281,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:281,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:281,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:282,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:283,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:284,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:284,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:285,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 286
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getGeometry
    - getId
    - readFeatures
    - ensure_equals
    - getProperties
    - std::vector::size
    - geos::io::GeoJSONFeatureCollection::getFeatures
    - getNumber
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:300,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:300,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:301,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:302,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:302,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:303,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:303,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:303,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:304,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:304,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:304,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:305,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:305,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:305,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:306,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:306,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:306,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:307,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:307,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getGeometry
    - readFeatures
    - ensure_equals
    - getProperties
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:317,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:318,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:318,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:319,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:319,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:332,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:335,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:337,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:351,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:356,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:357,1
    - Dst: std::string::find
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - std::string::find
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:370,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:373,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:375,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 377
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:389,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:392,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:394,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:408,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:411,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:413,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:424,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:425,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:425,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:426,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:426,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:436,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:437,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:437,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:438,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:438,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:451,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:456,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:470,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:473,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:475,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:476,1
    - Dst: std::string::find
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - std::string::find
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:494,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:495,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:495,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:495,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:496,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:496,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:496,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:497,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:497,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:497,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:498,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:498,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:499,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:499,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:499,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:500,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:500,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:500,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:501,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:501,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:502,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:502,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:502,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:503,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:503,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:503,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:504,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:504,1
    - Dst: getId
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 505
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - getId
    - readFeatures
    - ensure_equals
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:517,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:520,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:522,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:533,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:534,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:535,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:535,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:545,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:546,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:546,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:547,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:547,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:557,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:558,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:558,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:559,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:559,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:569,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:570,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:570,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:571,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:571,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:581,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:582,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:582,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:583,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:583,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:593,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:594,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:594,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:595,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:595,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:606,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:606,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:607,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:607,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:617,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:618,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:618,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:619,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:619,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 620
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::toText
    - read
    - static_cast<size_t>
    - ensure_equals
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:48,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: tut::test_wkbreader_data
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_wkbreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:65,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:66,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:71,1
    - Dst: std::string::empty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:71,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' hexwkb'
    - ' errstr'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: tut::testParseError
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - tut::ensure
    - tut::ensure_equals
    - readHEX
    - tut::fail
    - tut::what
    linkageType: ''
    returnType: void
    signature: void testParseError(const std::string& hexwkb, const std::string& errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hexwkb'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: tut::readHex
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - readHEX
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readHex(const std::string& hexwkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:89,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:91,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:92,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:93,1
    - Dst: c_str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hexwkb'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: tut::testInput
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - tut::ensure_equals
    - readHEX
    - writeHEX
    - c_str
    linkageType: ''
    returnType: void
    signature: "void testInput(const std::string& hexwkb,\n              const std::string&
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:100,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:103,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:104,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' WKT'
    - ' ndrWKB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: tut::testInputNdr
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - GeomPtr::get
    - readHEX
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: "void testInputNdr(const std::string& WKT,\n                 const
      std::string& ndrWKB)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:112,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:116,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:117,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:118,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:118,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:122,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:123,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:124,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:124,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:127,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:127,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:127,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:131,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:132,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:133,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:133,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:137,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:138,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:139,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' WKT'
    - ' ndrWKB'
    - ' xdrWKB'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 141
    functionName: tut::testInputOutput
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::stringstream::str
    - read
    - tut::ensure_equals
    - GeomPtr::get
    - readHEX
    - writeHEX
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: "void testInputOutput(const std::string& WKT,\n                    const
      std::string& ndrWKB,\n                    const std::string& xdrWKB)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:318,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:323,1
    - Dst: std::string::empty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:323,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - std::string::empty
    - readHEX
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:340,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:340,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:341,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::getCoordinateDimension
    - readHEX
    - ensure_equals
    - GeomPtr::getSRID
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 445
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:510,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:512,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:514,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:514,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:515,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:515,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:516,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:516,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:519,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:520,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:521,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:522,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:523,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 524
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:532,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:536,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:536,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:537,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:537,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:538,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:538,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:541,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:543,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:544,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 546
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:554,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:556,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:558,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:558,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:559,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:560,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:560,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:563,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:565,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:566,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:567,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:567,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:569,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:570,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:571,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:572,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:573,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 574
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:582,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:584,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:586,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:586,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:587,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:588,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:588,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:591,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:592,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:593,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:594,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:595,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:597,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:598,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:599,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:600,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 602
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:613,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:613,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:614,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:614,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:615,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:615,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:618,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:618,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:619,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:619,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:620,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:620,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:623,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:623,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:624,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:624,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:625,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:625,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:628,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:628,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:629,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:629,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:630,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:630,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:633,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:633,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:634,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:634,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:635,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:635,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:638,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:638,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:639,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:639,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:640,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:640,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:643,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:643,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:644,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:644,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:645,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:645,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:648,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:648,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:649,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:649,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:650,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:650,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:653,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:653,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:654,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:654,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:655,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:655,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:658,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:658,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:659,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:659,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:660,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:660,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:663,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:663,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:664,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:664,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:665,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:665,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:668,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:668,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:669,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:669,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:670,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 671
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::isEmpty
    - readHex
    - string
    - ensure_equals
    - ensure
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 695
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInput
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:753,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:755,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:755,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:756,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 757
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getNumPoints
    - ensure_equals
    - auto::getGeometryTypeId
    - readHex
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:766,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:768,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:768,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:769,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:769,1
    - Dst: static_cast<const geos::geom::CompoundCurve*>
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:771,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:771,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:772,1
    - Dst: auto*::getNumCurves
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:772,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:773,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:773,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:774,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:774,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:776,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:776,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:777,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 778
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geos::geom::CompoundCurve*>
    - auto*::getNumCurves
    - auto*::getCurveN
    - readHex
    - ensure_equals
    - auto::getSRID
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:788,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:790,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:790,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:791,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:791,1
    - Dst: static_cast<const geos::geom::CurvePolygon*>
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:793,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:793,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:794,1
    - Dst: auto*::getExteriorRing
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:794,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:795,1
    - Dst: auto*::getNumInteriorRing
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:795,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:796,1
    - Dst: auto*::getInteriorRingN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 797
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto*::getExteriorRing
    - static_cast<const geos::geom::CurvePolygon*>
    - readHex
    - auto*::getNumInteriorRing
    - ensure_equals
    - auto*::getInteriorRingN
    - auto::getSRID
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:808,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:809,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:809,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:810,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:810,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:811,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:811,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:812,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:812,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:813,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 814
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - readHex
    - ensure_equals
    - auto::getNumGeometries
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:824,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:825,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:825,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:826,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:826,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:827,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:827,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:828,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 829
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - readHex
    - ensure_equals
    - auto::getNumGeometries
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:48,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: tut::test_wkbreader_data
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_wkbreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:65,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:66,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:71,1
    - Dst: std::string::empty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:71,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' hexwkb'
    - ' errstr'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: tut::testParseError
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - tut::ensure
    - tut::ensure_equals
    - readHEX
    - tut::fail
    - tut::what
    linkageType: ''
    returnType: void
    signature: void testParseError(const std::string& hexwkb, const std::string& errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hexwkb'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: tut::readHex
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - readHEX
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readHex(const std::string& hexwkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:89,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:91,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:92,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:93,1
    - Dst: c_str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' hexwkb'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: tut::testInput
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - tut::ensure_equals
    - readHEX
    - writeHEX
    - c_str
    linkageType: ''
    returnType: void
    signature: "void testInput(const std::string& hexwkb,\n              const std::string&
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:100,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:103,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:104,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' WKT'
    - ' ndrWKB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: tut::testInputNdr
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - GeomPtr::get
    - readHEX
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: "void testInputNdr(const std::string& WKT,\n                 const
      std::string& ndrWKB)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:112,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:116,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:117,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:118,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:118,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:122,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:123,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:124,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:124,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:127,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:127,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:127,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:131,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:132,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:133,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:133,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:137,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:138,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:139,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' WKT'
    - ' ndrWKB'
    - ' xdrWKB'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 141
    functionName: tut::testInputOutput
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::stringstream::str
    - read
    - tut::ensure_equals
    - GeomPtr::get
    - readHEX
    - writeHEX
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: "void testInputOutput(const std::string& WKT,\n                    const
      std::string& ndrWKB,\n                    const std::string& xdrWKB)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:318,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:323,1
    - Dst: std::string::empty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:323,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - std::string::empty
    - readHEX
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:340,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:340,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:341,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::getCoordinateDimension
    - readHEX
    - ensure_equals
    - GeomPtr::getSRID
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputNdr
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputNdr
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 445
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInputOutput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInputOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:510,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:512,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:514,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:514,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:515,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:515,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:516,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:516,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:519,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:520,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:521,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:522,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:523,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 524
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:532,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:536,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:536,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:537,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:537,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:538,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:538,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:541,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:543,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:544,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 546
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:554,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:556,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:558,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:558,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:559,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:560,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:560,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:563,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:565,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:566,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:567,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:567,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:569,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:570,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:571,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:572,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:573,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 574
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:582,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:584,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:586,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:586,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:587,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:588,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:588,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:591,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:592,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:593,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:594,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:595,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:597,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:598,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:599,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:600,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 602
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::hasM
    - auto::getAt
    - readHex
    - ensure_equals
    - ensure
    - auto::getCoordinates
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:613,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:613,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:614,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:614,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:615,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:615,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:618,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:618,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:619,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:619,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:620,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:620,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:623,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:623,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:624,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:624,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:625,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:625,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:628,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:628,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:629,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:629,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:630,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:630,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:633,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:633,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:634,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:634,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:635,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:635,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:638,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:638,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:639,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:639,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:640,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:640,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:643,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:643,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:644,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:644,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:645,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:645,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:648,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:648,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:649,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:649,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:650,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:650,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:653,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:653,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:654,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:654,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:655,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:655,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:658,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:658,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:659,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:659,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:660,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:660,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:663,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:663,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:664,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:664,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:665,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:665,1
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:668,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:668,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:669,1
    - Dst: GeomPtr::isEmpty
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:669,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:670,1
    - Dst: GeomPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 671
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::isEmpty
    - readHex
    - string
    - ensure_equals
    - ensure
    - GeomPtr::getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 695
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInput
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testInput
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:753,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:755,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:755,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:756,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 757
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getNumPoints
    - ensure_equals
    - auto::getGeometryTypeId
    - readHex
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:766,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:768,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:768,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:769,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:769,1
    - Dst: static_cast<const geos::geom::CompoundCurve*>
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:771,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:771,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:772,1
    - Dst: auto*::getNumCurves
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:772,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:773,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:773,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:774,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:774,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:776,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:776,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:777,1
    - Dst: auto*::getCurveN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 778
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geos::geom::CompoundCurve*>
    - auto*::getNumCurves
    - auto*::getCurveN
    - readHex
    - ensure_equals
    - auto::getSRID
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:788,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:790,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:790,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:791,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:791,1
    - Dst: static_cast<const geos::geom::CurvePolygon*>
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:793,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:793,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:794,1
    - Dst: auto*::getExteriorRing
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:794,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:795,1
    - Dst: auto*::getNumInteriorRing
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:795,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:796,1
    - Dst: auto*::getInteriorRingN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 797
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto*::getExteriorRing
    - static_cast<const geos::geom::CurvePolygon*>
    - readHex
    - auto*::getNumInteriorRing
    - ensure_equals
    - auto*::getInteriorRingN
    - auto::getSRID
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:808,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:809,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:809,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:810,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:810,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:811,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:811,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:812,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:812,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:813,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 814
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - readHex
    - ensure_equals
    - auto::getNumGeometries
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHex
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:824,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:825,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:825,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:826,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:826,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:827,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:827,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:828,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 829
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - readHex
    - ensure_equals
    - auto::getNumGeometries
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testParseError
      Src: /src/geos/tests/unit/io/WKBReaderTest.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - testParseError
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:33,1
    - Dst: get
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: tut::test_geojson_feature_data
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geojson_feature_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:49,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:50,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:53,1
    - Dst: geos::io::GeoJSONFeature::getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:54,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:55,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:58,1
    - Dst: geos::io::GeoJSONFeature::getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:59,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:60,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::io::GeoJSONValue
    - geos::io::GeoJSONFeature::getGeometry
    - ensure_equals
    - geos::io::GeoJSONFeature::getProperties
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:70,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:71,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:72,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:74,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:75,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:79,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:79,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:80,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:81,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:81,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:82,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:82,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:83,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:83,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:84,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:84,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:85,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:85,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - static_cast<size_t>
    - geos::io::GeoJSONValue
    - getGeometry
    - ensure_equals
    - getProperties
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:33,1
    - Dst: get
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: tut::test_geojson_feature_data
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geojson_feature_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:49,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:50,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:53,1
    - Dst: geos::io::GeoJSONFeature::getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:54,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:55,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:58,1
    - Dst: geos::io::GeoJSONFeature::getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:59,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:60,1
    - Dst: geos::io::GeoJSONFeature::getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::io::GeoJSONValue
    - geos::io::GeoJSONFeature::getGeometry
    - ensure_equals
    - geos::io::GeoJSONFeature::getProperties
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:70,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:71,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:72,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:74,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:75,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:79,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:79,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:80,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:81,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:81,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:82,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:82,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:83,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:83,1
    - Dst: getGeometry
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:84,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:84,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:85,1
    - Dst: geos::io::GeoJSONFeatureCollection::getFeatures
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:85,1
    - Dst: getProperties
      Src: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONFeatureTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - static_cast<size_t>
    - geos::io::GeoJSONValue
    - getGeometry
    - ensure_equals
    - getProperties
    - geos::io::GeoJSONFeatureCollection::getFeatures
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:43,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::test_wkbwriter_data
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_wkbwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:50,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:51,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:52,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:53,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' wkt'
    - ' hex'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::checkHexOutput
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - read
    - tut::ensure_equals
    - writeHEX
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: void checkHexOutput(const std::string& wkt, const std::string& hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:58,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:59,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:60,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:61,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:63,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' wkt'
    - srid
    - ' hex'
    argTypes:
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: tut::checkHexOutputWithSRID
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - read
    - tut::ensure_equals
    - auto::setSRID
    - writeHEX
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: void checkHexOutputWithSRID(const std::string& wkt, int srid, const
      std::string& hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:84,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:87,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:90,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:90,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:92,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:97,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:98,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:99,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:99,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:102,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:102,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - std::stringstream::seekg
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:111,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:114,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:117,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:117,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:119,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:122,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:123,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:124,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:124,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:127,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - std::stringstream::seekg
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:136,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:139,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:142,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:142,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:144,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:145,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:147,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:148,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:149,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:149,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:152,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:152,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - std::stringstream::seekg
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:163,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:163,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:164,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:165,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:165,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:166,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:169,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:170,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:171,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:172,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:174,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::move
    - std::stringstream::str
    - read
    - std::vector::back
    - auto::setSRID
    - createGeometryCollection
    - writeHEX
    - ensure_equals
    - std::vector::push_back
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:187,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:188,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:191,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:192,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:193,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:194,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:197,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:211,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:212,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:215,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:216,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:217,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:218,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:221,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:235,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:236,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:239,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:240,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:241,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:242,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:245,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:256,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:257,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:260,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:261,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:262,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:263,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:266,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:277,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:278,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:281,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:282,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:283,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:284,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:286,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:287,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:299,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:302,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:303,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:304,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:305,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:307,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:307,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:309,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:312,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:312,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:313,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:313,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:314,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:314,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:317,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:317,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:319,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:320,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:321,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 331
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - setFlavor
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - writeHEX
    - std::stringstream::seekg
    - write
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:339,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:340,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:341,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:343,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:343,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:346,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:347,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:348,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:351,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:352,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:356,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:357,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:359,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 363
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - setFlavor
    - std::stringstream::str
    - writeHEX
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - createLineString
    - setByteOrder
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:371,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:372,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:373,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:375,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:375,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:378,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:379,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:380,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:381,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:383,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:384,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:388,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:391,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - setFlavor
    - std::stringstream::str
    - writeHEX
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - createLineString
    - setByteOrder
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:402,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:415,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:428,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:441,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:454,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutputWithSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutputWithSRID
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutputWithSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutputWithSRID
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:43,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::test_wkbwriter_data
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_wkbwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:50,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:51,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:52,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:53,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' wkt'
    - ' hex'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::checkHexOutput
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - read
    - tut::ensure_equals
    - writeHEX
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: void checkHexOutput(const std::string& wkt, const std::string& hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:58,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:59,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:60,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:61,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:63,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' wkt'
    - srid
    - ' hex'
    argTypes:
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: tut::checkHexOutputWithSRID
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - read
    - tut::ensure_equals
    - auto::setSRID
    - writeHEX
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: void checkHexOutputWithSRID(const std::string& wkt, int srid, const
      std::string& hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:84,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:87,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:90,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:90,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:92,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:97,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:98,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:99,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:99,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:102,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:102,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - std::stringstream::seekg
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:111,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:114,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:117,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:117,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:119,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:122,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:123,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:124,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:124,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:127,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - std::stringstream::seekg
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:136,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:139,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:142,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:142,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:144,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:145,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:147,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:148,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:149,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:149,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:152,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:152,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - std::isnan
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - std::stringstream::seekg
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:163,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:163,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:164,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:165,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:165,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:166,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:169,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:170,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:171,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:172,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:174,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::move
    - std::stringstream::str
    - read
    - std::vector::back
    - auto::setSRID
    - createGeometryCollection
    - writeHEX
    - ensure_equals
    - std::vector::push_back
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:187,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:188,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:191,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:192,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:193,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:194,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:197,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:211,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:212,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:215,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:216,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:217,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:218,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:221,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:235,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:236,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:239,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:240,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:241,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:242,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:245,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:256,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:257,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:260,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:261,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:262,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:263,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:266,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:277,1
    - Dst: auto::setSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:278,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:281,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:282,1
    - Dst: setIncludeSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:283,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:284,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:286,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:287,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - std::stringstream::str
    - read
    - readHEX
    - auto::setSRID
    - writeHEX
    - ensure_equals
    - setIncludeSRID
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:299,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:302,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:303,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:304,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:305,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:307,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:307,1
    - Dst: std::stringstream::seekg
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:309,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:312,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:312,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:313,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:313,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:314,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:314,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:317,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:317,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:319,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:320,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:321,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 331
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - setFlavor
    - std::stringstream::str
    - auto::getCoordinate
    - read
    - auto::getAt
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - writeHEX
    - std::stringstream::seekg
    - write
    - setByteOrder
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:339,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:340,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:341,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:343,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:343,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:346,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:347,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:348,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:351,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:352,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:356,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:357,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:359,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 363
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - setFlavor
    - std::stringstream::str
    - writeHEX
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - createLineString
    - setByteOrder
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:371,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:372,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:373,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:375,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:375,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:378,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:379,1
    - Dst: setByteOrder
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:380,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:381,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:383,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:384,1
    - Dst: setFlavor
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:388,1
    - Dst: writeHEX
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:391,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - setFlavor
    - std::stringstream::str
    - writeHEX
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - createLineString
    - setByteOrder
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:402,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:415,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:428,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:441,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:454,1
    - Dst: checkHexOutput
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutput
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutputWithSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutputWithSRID
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOutputWithSRID
      Src: /src/geos/tests/unit/io/WKBWriterTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOutputWithSRID
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:55,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: tut::test_wktwriter_data
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_wktwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:77,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:80,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:81,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:83,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:85,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:86,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - read
    - GeomPtr::get
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:97,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:100,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:101,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:102,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:104,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:105,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:106,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:108,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:109,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:110,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:111,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:112,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:114,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:115,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:116,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:118,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:119,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setRoundingPrecision
    - read
    - GeomPtr::get
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:130,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:133,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:134,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:135,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:137,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:139,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:139,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:141,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:142,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:144,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - read
    - GeomPtr::get
    - string
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:154,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:157,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:158,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:159,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:161,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:163,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - read
    - GeomPtr::get
    - string
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:173,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:174,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:175,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:177,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:178,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - string
    - ensure_equals
    - GeometryFactory::Ptr::get
    - WKTReader::read
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:189,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:190,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:191,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:195,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:197,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:197,1
    - Dst: GeometryFactory::Ptr::createMultiPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:201,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:202,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:203,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:203,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:205,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:206,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:207,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:208,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 209
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setRoundingPrecision
    - std::unique_ptr::get
    - GeometryFactory::Ptr::createMultiPoint
    - geos::geom::GeometryFactory::create
    - GeometryFactory::Ptr::createPoint
    - string
    - ensure_equals
    - ensure
    - std::unique_ptr::getCoordinate
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:222,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:223,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:224,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:226,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:226,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:227,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:227,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:229,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:230,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::geom::GeometryFactory::create
    - string
    - ensure_equals
    - ensure
    - auto::createPoint
    - auto::get
    - std::move
    - Coordinate
    - write
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:242,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:243,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:244,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:245,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:246,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - string
    - ensure_equals
    - GeometryFactory::Ptr::get
    - WKTReader::read
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:255,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:256,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:256,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:257,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:257,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:259,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:259,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:261,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:262,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:264,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:264,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:265,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:268,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:268,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:269,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:273,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:276,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:276,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:277,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:279,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:280,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:280,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 282
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - CoordinateXYZM
    - string
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - write
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:290,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:291,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:291,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:292,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:292,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:294,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:294,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:296,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:297,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:299,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:299,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:300,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:303,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:304,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:304,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - CoordinateXYM
    - string
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - write
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:314,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:315,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:315,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:316,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:316,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:318,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:318,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:320,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:322,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:322,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:323,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:327,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:327,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOld3D
    - string
    - CoordinateXY
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - write
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:338,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:344,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:344,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:345,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:345,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:346,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:348,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:348,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:348,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:349,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:349,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:350,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:350,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:350,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:352,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:352,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:353,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:353,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:354,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:356,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:356,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:356,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:357,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:357,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:357,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:358,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:358,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:358,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:360,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:360,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:361,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:361,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:362,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:362,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:364,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:364,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:365,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:365,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:366,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:368,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:368,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:368,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:369,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:369,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:369,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:370,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:370,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - createPoint
    - createPolygon
    - string
    - ensure_equals
    - createLinearRing
    - std::move
    - write
    - createLineString
    - CoordinateSequence::clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:380,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:381,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:384,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:384,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:384,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:385,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:385,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:387,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:387,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:387,1
    - Dst: setRemoveEmptyDimensions
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:391,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:391,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setRemoveEmptyDimensions
    - CoordinateSequence::setAt
    - createPoint
    - std::numeric_limits<double>::quiet_NaN
    - string
    - ensure_equals
    - std::move
    - Coordinate
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:400,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:401,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:405,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:405,1
    - Dst: setRemoveEmptyDimensions
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:407,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:409,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setRemoveEmptyDimensions
    - read
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:427,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:428,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:428,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:429,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:429,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:454,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:455,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:455,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:456,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:456,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:477,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:478,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:478,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:479,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 482
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - write
    - read
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:492,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:493,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:496,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:499,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:500,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:501,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:501,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:502,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:503,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:503,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:505,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:507,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:507,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:508,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:509,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:509,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:511,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:512,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:513,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:513,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:514,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:515,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:515,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:517,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:518,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:519,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:519,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:520,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:521,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:521,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:523,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:524,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:525,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:525,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:526,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:527,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:527,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:529,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:530,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:531,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:531,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:532,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:533,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:533,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:536,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:539,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:540,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:541,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:541,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:543,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:543,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:545,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:546,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:547,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:547,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:548,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:549,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:549,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:551,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:552,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:553,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:553,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:554,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:555,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:555,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:557,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:558,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:559,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:559,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:560,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:561,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:561,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:563,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:565,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:565,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:567,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:567,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:569,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:570,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:571,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:571,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:572,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:573,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:573,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:576,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:577,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:578,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:579,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:579,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:585,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:587,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:588,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 593
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setRoundingPrecision
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - GeometryFactory::Ptr::get
    - WKTReader::read
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:601,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:602,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:603,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:605,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:607,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 608
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - CoordinateXY
    - ensure_equals
    - std::move
    - write
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:617,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:617,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:618,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:619,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:620,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:623,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:623,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:624,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:625,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:628,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:628,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:630,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 631
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - ensure_equals
    - std::move
    - write
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:641,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:642,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:643,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:644,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:645,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:646,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:647,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:649,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:650,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:651,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:652,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:653,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:654,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:657,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:657,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:659,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:659,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:660,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:661,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:662,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:663,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:664,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:667,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:667,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:667,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:669,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 670
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - createCurvePolygon
    - ensure_equals
    - std::move
    - write
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:681,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:682,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:683,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:684,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:685,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:686,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:687,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:689,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:690,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:691,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:692,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:693,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:694,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:697,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:697,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:697,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:703,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:703,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:704,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:705,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:706,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:707,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:708,1
    - Dst: createMultiCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:711,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:711,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:713,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 714
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - ensure_equals
    - createMultiCurve
    - std::move
    - write
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:723,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:724,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:725,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:726,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:727,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:728,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:729,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:730,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:733,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:734,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:735,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:736,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:737,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:738,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:739,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:740,1
    - Dst: createMultiSurface
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:743,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:743,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:745,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 746
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - createPolygon
    - createMultiSurface
    - CoordinateXY
    - createCurvePolygon
    - ensure_equals
    - createLinearRing
    - std::move
    - write
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:753,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:754,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:754,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:754,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:756,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:757,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:757,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:757,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:759,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:760,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:760,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:760,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:762,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:763,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:763,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:763,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:765,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:766,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:766,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:766,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:770,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:771,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:771,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:771,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:775,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:776,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:776,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:776,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:780,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:781,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:781,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:781,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:783,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:784,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:784,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:784,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:788,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:789,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:789,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:789,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:795,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:796,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:796,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:796,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:801,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:802,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:802,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:802,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:807,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:808,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:808,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 814
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - writeFormatted
    - auto::get
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:55,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: tut::test_wktwriter_data
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_wktwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:77,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:80,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:81,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:83,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:85,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:86,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - read
    - GeomPtr::get
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:97,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:100,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:101,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:102,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:104,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:105,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:106,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:108,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:109,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:110,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:111,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:112,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:114,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:115,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:116,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:118,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:119,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setRoundingPrecision
    - read
    - GeomPtr::get
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:130,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:133,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:134,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:135,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:137,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:139,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:139,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:141,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:142,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:144,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - read
    - GeomPtr::get
    - string
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:154,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:157,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:158,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:159,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:161,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:163,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - read
    - GeomPtr::get
    - string
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:173,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:174,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:175,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:177,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:178,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - string
    - ensure_equals
    - GeometryFactory::Ptr::get
    - WKTReader::read
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:189,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:190,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:191,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:195,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:197,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:197,1
    - Dst: GeometryFactory::Ptr::createMultiPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:201,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:202,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:203,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:203,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:205,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:206,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:207,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:208,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 209
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setRoundingPrecision
    - std::unique_ptr::get
    - GeometryFactory::Ptr::createMultiPoint
    - geos::geom::GeometryFactory::create
    - GeometryFactory::Ptr::createPoint
    - string
    - ensure_equals
    - ensure
    - std::unique_ptr::getCoordinate
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:222,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:223,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:224,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:226,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:226,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:227,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:227,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:229,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:230,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::geom::GeometryFactory::create
    - string
    - ensure_equals
    - ensure
    - auto::createPoint
    - auto::get
    - std::move
    - Coordinate
    - write
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:242,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:243,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:244,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:245,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:246,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - string
    - ensure_equals
    - GeometryFactory::Ptr::get
    - WKTReader::read
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:255,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:256,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:256,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:257,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:257,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:259,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:259,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:261,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:262,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:264,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:264,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:265,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:268,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:268,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:269,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:273,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:276,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:276,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:277,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:279,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:280,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:280,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 282
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - CoordinateXYZM
    - string
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - write
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:290,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:291,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:291,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:292,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:292,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:294,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:294,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:296,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:297,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:299,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:299,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:300,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:303,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:304,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:304,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setOld3D
    - CoordinateXYM
    - string
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - write
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:314,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:315,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:315,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:316,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:316,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:318,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:318,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:320,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:322,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:322,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:323,1
    - Dst: setOld3D
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:327,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:327,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOld3D
    - string
    - CoordinateXY
    - ensure_equals
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - write
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:338,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:344,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:344,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:345,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:345,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:346,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:348,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:348,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:348,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:349,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:349,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:350,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:350,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:350,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:352,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:352,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:353,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:353,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:354,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:356,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:356,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:356,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:357,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:357,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:357,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:358,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:358,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:358,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:360,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:360,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:361,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:361,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:362,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:362,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:364,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:364,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:365,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:365,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:366,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:368,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:368,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:368,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:369,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:369,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:369,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:370,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:370,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - createPoint
    - createPolygon
    - string
    - ensure_equals
    - createLinearRing
    - std::move
    - write
    - createLineString
    - CoordinateSequence::clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:380,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:381,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:384,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:384,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:384,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:385,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:385,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:387,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:387,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:387,1
    - Dst: setRemoveEmptyDimensions
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:391,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:391,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setRemoveEmptyDimensions
    - CoordinateSequence::setAt
    - createPoint
    - std::numeric_limits<double>::quiet_NaN
    - string
    - ensure_equals
    - std::move
    - Coordinate
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:400,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:401,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:405,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:405,1
    - Dst: setRemoveEmptyDimensions
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:407,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:409,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setOutputDimension
    - setRemoveEmptyDimensions
    - read
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:427,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:428,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:428,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:429,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:429,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:454,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:455,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:455,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:456,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:456,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:477,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:478,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:478,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:479,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 482
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - write
    - read
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:492,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:493,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:496,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:499,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:500,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:501,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:501,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:502,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:503,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:503,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:505,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:507,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:507,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:508,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:509,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:509,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:511,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:512,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:513,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:513,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:514,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:515,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:515,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:517,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:518,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:519,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:519,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:520,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:521,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:521,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:523,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:524,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:525,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:525,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:526,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:527,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:527,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:529,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:530,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:531,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:531,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:532,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:533,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:533,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:536,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:539,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:540,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:541,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:541,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:543,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:543,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:545,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:546,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:547,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:547,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:548,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:549,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:549,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:551,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:552,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:553,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:553,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:554,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:555,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:555,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:557,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:558,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:559,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:559,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:560,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:561,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:561,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:563,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:565,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:565,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:567,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:567,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:569,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:570,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:571,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:571,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:572,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:573,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:573,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:576,1
    - Dst: setRoundingPrecision
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:577,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:578,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:579,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:579,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:585,1
    - Dst: setTrim
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:587,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:588,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 593
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setTrim
    - setRoundingPrecision
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - GeometryFactory::Ptr::get
    - WKTReader::read
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:601,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:602,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:603,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:605,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:607,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 608
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - CoordinateXY
    - ensure_equals
    - std::move
    - write
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:617,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:617,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:618,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:619,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:620,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:623,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:623,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:624,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:625,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:628,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:628,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:630,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 631
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - ensure_equals
    - std::move
    - write
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:641,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:642,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:643,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:644,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:645,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:646,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:647,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:649,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:650,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:651,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:652,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:653,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:654,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:657,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:657,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:659,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:659,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:660,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:661,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:662,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:663,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:664,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:667,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:667,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:667,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:669,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 670
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - createCurvePolygon
    - ensure_equals
    - std::move
    - write
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:681,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:682,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:683,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:684,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:685,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:686,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:687,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:689,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:690,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:691,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:692,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:693,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:694,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:697,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:697,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:697,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:700,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:703,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:703,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:704,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:705,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:706,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:707,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:708,1
    - Dst: createMultiCurve
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:711,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:711,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:713,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 714
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - ensure_equals
    - createMultiCurve
    - std::move
    - write
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:723,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:724,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:725,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:726,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:727,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:728,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:729,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:730,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:733,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:734,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:735,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:736,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:737,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:738,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:739,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:740,1
    - Dst: createMultiSurface
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:743,1
    - Dst: std::move
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:743,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:745,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 746
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - createPolygon
    - createMultiSurface
    - CoordinateXY
    - createCurvePolygon
    - ensure_equals
    - createLinearRing
    - std::move
    - write
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:753,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:754,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:754,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:754,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:756,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:757,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:757,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:757,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:759,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:760,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:760,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:760,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:762,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:763,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:763,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:763,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:765,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:766,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:766,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:766,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:770,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:771,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:771,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:771,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:775,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:776,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:776,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:776,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:780,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:781,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:781,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:781,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:783,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:784,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:784,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:784,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:788,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:789,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:789,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:789,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:795,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:796,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:796,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:796,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:801,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:802,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:802,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:802,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:807,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:808,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:808,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/io/WKTWriterTest.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 814
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/io/WKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - writeFormatted
    - auto::get
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:31,1
    - Dst: geos::io::GeoJSONValue::isNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:32,1
    - Dst: geos::io::GeoJSONValue::getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::getNumber
    - geos::io::GeoJSONValue::isNumber
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:42,1
    - Dst: geos::io::GeoJSONValue::isBoolean
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:43,1
    - Dst: geos::io::GeoJSONValue::getBoolean
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::isBoolean
    - geos::io::GeoJSONValue::getBoolean
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:53,1
    - Dst: geos::io::GeoJSONValue::isNull
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:54,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - ensure
    - geos::io::GeoJSONValue::isNull
    - geos::io::GeoJSONValue::GeoJSONValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:64,1
    - Dst: geos::io::GeoJSONValue::isString
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:65,1
    - Dst: geos::io::GeoJSONValue::getString
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getString
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::isString
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:78,1
    - Dst: geos::io::GeoJSONValue::isObject
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:79,1
    - Dst: geos::io::GeoJSONValue::getObject
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getObject
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::isObject
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:94,1
    - Dst: geos::io::GeoJSONValue::isArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:95,1
    - Dst: geos::io::GeoJSONValue::getArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:95,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:96,1
    - Dst: geos::io::GeoJSONValue::getArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:96,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:97,1
    - Dst: geos::io::GeoJSONValue::getArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:97,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::isArray
    - geos::io::GeoJSONValue::getArray
    - ensure_equals
    - ensure
    - getNumber
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:31,1
    - Dst: geos::io::GeoJSONValue::isNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:32,1
    - Dst: geos::io::GeoJSONValue::getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::getNumber
    - geos::io::GeoJSONValue::isNumber
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:42,1
    - Dst: geos::io::GeoJSONValue::isBoolean
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:43,1
    - Dst: geos::io::GeoJSONValue::getBoolean
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::isBoolean
    - geos::io::GeoJSONValue::getBoolean
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:53,1
    - Dst: geos::io::GeoJSONValue::isNull
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:54,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - ensure
    - geos::io::GeoJSONValue::isNull
    - geos::io::GeoJSONValue::GeoJSONValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:64,1
    - Dst: geos::io::GeoJSONValue::isString
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:65,1
    - Dst: geos::io::GeoJSONValue::getString
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getString
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::isString
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:78,1
    - Dst: geos::io::GeoJSONValue::isObject
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:79,1
    - Dst: geos::io::GeoJSONValue::getObject
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getObject
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::isObject
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:94,1
    - Dst: geos::io::GeoJSONValue::isArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:95,1
    - Dst: geos::io::GeoJSONValue::getArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:95,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:96,1
    - Dst: geos::io::GeoJSONValue::getArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:96,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:97,1
    - Dst: geos::io::GeoJSONValue::getArray
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:97,1
    - Dst: getNumber
      Src: /src/geos/tests/unit/io/GeoJSONValueTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONValueTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::isArray
    - geos::io::GeoJSONValue::getArray
    - ensure_equals
    - ensure
    - getNumber
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: tut::test_writer_data
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_writer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:38,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:40,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:42,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:50,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:52,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:53,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:55,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:63,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:65,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:66,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:68,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:76,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:78,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:79,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:81,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: tut::test_writer_data
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_writer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:38,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:40,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:42,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:50,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:52,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:53,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:55,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:63,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:65,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:66,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:68,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::Writer
      Src: /src/geos/tests/unit/io/WriterTest.cpp:76,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:78,1
    - Dst: geos::io::Writer::write
      Src: /src/geos/tests/unit/io/WriterTest.cpp:79,1
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/tests/unit/io/WriterTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WriterTest.cpp:81,1
    - Dst: geos::io::Writer::toString
      Src: /src/geos/tests/unit/io/WriterTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::Writer::write
    - ensure_equals
    - geos::io::Writer::Writer
    - geos::io::Writer::toString
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: tut::test_geojsonwriter_data
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geojsonwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:54,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:55,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:65,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:76,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:77,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:87,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:88,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:98,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:99,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:109,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:110,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:120,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:121,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:131,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:142,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:143,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:153,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:154,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:164,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:165,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 187
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - writeFormatted
    - GeomPtr::get
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:195,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:196,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 218
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - writeFormatted
    - GeomPtr::get
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:226,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:227,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:228,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:230,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - write
    - read
    - geos::io::GeoJSONValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:241,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:242,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:243,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:245,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:246,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:247,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:250,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 252
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - write
    - read
    - geos::io::GeoJSONValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:260,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:261,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:261,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:271,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:272,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:272,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:282,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:283,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:293,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:294,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:294,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:304,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:305,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:305,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:316,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:317,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:317,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:327,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:328,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:328,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:338,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:339,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:349,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:350,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:350,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:360,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:361,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:371,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:372,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:372,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:381,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:382,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:382,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:399,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:402,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - setOutputDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:416,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:417,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:418,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - read
    - GeomPtr::get
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:428,1
    - Dst: std::vector<geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:429,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:432,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:433,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:435,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::io::GeoJSONValue
    - ensure_equals
    - write
    - std::vector<geos::io::GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:445,1
    - Dst: string
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:445,1
    - Dst: std::map<std::string, geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:446,1
    - Dst: string
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:446,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:449,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:450,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:452,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::io::GeoJSONValue
    - string
    - std::map<std::string, geos::io::GeoJSONValue>
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForceCCW
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:462,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:463,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:464,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:464,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - setForceCCW
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForceCCW
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:474,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:475,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:476,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:476,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - setForceCCW
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForceCCW
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:486,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:487,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:488,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:488,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - setForceCCW
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: tut::test_geojsonwriter_data
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geojsonwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:54,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:55,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:65,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:76,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:77,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:87,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:88,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:98,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:99,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:109,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:110,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:120,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:121,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:131,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:142,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:143,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:153,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:154,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:164,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:165,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 187
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - writeFormatted
    - GeomPtr::get
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:195,1
    - Dst: writeFormatted
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:196,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 218
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - writeFormatted
    - GeomPtr::get
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:226,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:227,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:228,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:230,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - write
    - read
    - geos::io::GeoJSONValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:241,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:242,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:243,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:245,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:246,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:247,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:250,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 252
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - write
    - read
    - geos::io::GeoJSONValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:260,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:261,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:261,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:271,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:272,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:272,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:282,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:283,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:293,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:294,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:294,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:304,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:305,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:305,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:316,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:317,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:317,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:327,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:328,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:328,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:338,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:339,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:349,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:350,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:350,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:360,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:361,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:371,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:372,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:372,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:381,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:382,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:382,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - write
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:399,1
    - Dst: what
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:402,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - setOutputDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:416,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:417,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:418,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - setOutputDimension
    - read
    - GeomPtr::get
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:428,1
    - Dst: std::vector<geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:429,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:432,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:433,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:435,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::io::GeoJSONValue
    - ensure_equals
    - write
    - std::vector<geos::io::GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:445,1
    - Dst: string
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:445,1
    - Dst: std::map<std::string, geos::io::GeoJSONValue>
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:446,1
    - Dst: string
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:446,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:449,1
    - Dst: geos::io::GeoJSONValue
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:450,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:452,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::io::GeoJSONValue
    - string
    - std::map<std::string, geos::io::GeoJSONValue>
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForceCCW
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:462,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:463,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:464,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:464,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - setForceCCW
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForceCCW
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:474,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:475,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:476,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:476,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - setForceCCW
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setForceCCW
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:486,1
    - Dst: read
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:487,1
    - Dst: write
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:488,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:488,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/GeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - setForceCCW
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:39,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:40,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: tut::test_wktreader_data
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - setOutputDimension
    linkageType: ''
    returnType: void
    signature: void test_wktreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:47,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:48,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - dim
    argTypes:
    - std::string
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: tut::ensure_dimension
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    - auto::getCoordinateDimension
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_dimension(const std::string & wkt, std::size_t dim) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:54,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:54,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:55,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - has_z
    - has_m
    argTypes:
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: tut::ensure_dimension
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::hasZ
    - read
    - auto::hasM
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_dimension(const std::string & wkt, bool has_z, bool has_m)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:60,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: tut::ensure_parseexception
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::fail
    - read
    linkageType: ''
    returnType: void
    signature: void ensure_parseexception(const std::string & wkt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:83,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:86,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:87,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:88,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getX
    - read
    - auto::getY
    - ensure
    - GeomPtr::getCoordinates
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:105,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:108,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:109,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:110,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:111,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::hasM
    - ensure
    - GeomPtr::getCoordinates
    - auto::getDimension
    - auto::getOrdinate
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_dimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:130,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:133,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:133,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:139,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getAt
    - ensure_equals
    - auto::getCoordinatesRO
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:155,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:155,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:155,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - string
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:166,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:170,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:171,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:191,1
    - Dst: ggm::GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:192,1
    - Dst: gio::WKTReader::read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:194,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:197,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:197,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:198,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:198,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:199,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:202,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:203,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - auto::getX
    - ggm::GeometryFactory::Ptr::get
    - geos::geom::GeometryFactory::create
    - ensure_distance
    - ensure_equals
    - auto::getY
    - ensure
    - GeomPtr::getCoordinates
    - fail
    - auto::getDimension
    - gio::WKTReader::read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:219,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:220,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:222,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:225,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fail
    - read
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:240,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:241,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:242,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:243,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:244,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:245,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:246,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:248,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:249,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:250,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:251,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:252,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:253,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:254,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:256,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:257,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:258,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:259,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:260,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:261,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_dimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:272,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:273,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:274,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:275,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:286,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:287,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:291,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:292,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:294,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:294,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:294,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:299,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:302,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:302,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - read
    - string
    - ensure_equals
    - ensure
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:313,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:314,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:314,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:315,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:315,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:317,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:318,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:318,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:319,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:319,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:322,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:323,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - ensure
    - read
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFixStructure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:331,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:332,1
    - Dst: geos::detail::down_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:333,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:334,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - std::unique_ptr::getExteriorRing
    - ensure
    - auto::release
    - setFixStructure
    - geos::detail::down_cast<geos::geom::Polygon*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:343,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:344,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:344,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:347,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getCoordinateDimension
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:356,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:358,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getCoordinateDimension
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:367,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:368,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:378,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:380,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - read
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:408,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:409,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:421,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:422,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:424,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:436,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:437,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:438,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:439,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:441,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:442,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:443,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 445
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_dimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:453,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:456,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:456,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:457,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:457,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:458,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:458,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:458,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:459,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:459,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getX
    - read
    - std::isnan
    - auto::getY
    - ensure
    - auto::isEmpty
    - GeomPtr::getCoordinates
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:468,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:470,1
    - Dst: GeomPtr::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::getNumGeometries
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:479,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:480,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:481,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:482,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:483,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:484,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:485,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:486,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:487,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:488,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:489,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:490,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:491,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:492,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:493,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:494,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:495,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:497,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:498,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 500
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:39,1
    - Dst: get
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:40,1
    - Dst: setOutputDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: tut::test_wktreader_data
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - setOutputDimension
    linkageType: ''
    returnType: void
    signature: void test_wktreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:47,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:48,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - dim
    argTypes:
    - std::string
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: tut::ensure_dimension
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    - auto::getCoordinateDimension
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_dimension(const std::string & wkt, std::size_t dim) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:54,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:54,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:55,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - has_z
    - has_m
    argTypes:
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: tut::ensure_dimension
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::hasZ
    - read
    - auto::hasM
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_dimension(const std::string & wkt, bool has_z, bool has_m)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:60,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: tut::ensure_parseexception
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::fail
    - read
    linkageType: ''
    returnType: void
    signature: void ensure_parseexception(const std::string & wkt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:83,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:86,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:87,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:88,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getX
    - read
    - auto::getY
    - ensure
    - GeomPtr::getCoordinates
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:105,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:108,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:109,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:110,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:111,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::hasM
    - ensure
    - GeomPtr::getCoordinates
    - auto::getDimension
    - auto::getOrdinate
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_dimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:130,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:133,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:133,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:139,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getAt
    - ensure_equals
    - auto::getCoordinatesRO
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:155,1
    - Dst: write
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:155,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:155,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - string
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:166,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:170,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:171,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:191,1
    - Dst: ggm::GeometryFactory::Ptr::get
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:192,1
    - Dst: gio::WKTReader::read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:194,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:197,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:197,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:198,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:198,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:199,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:202,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:203,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - auto::getX
    - ggm::GeometryFactory::Ptr::get
    - geos::geom::GeometryFactory::create
    - ensure_distance
    - ensure_equals
    - auto::getY
    - ensure
    - GeomPtr::getCoordinates
    - fail
    - auto::getDimension
    - gio::WKTReader::read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:219,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:220,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:222,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:225,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fail
    - read
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:240,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:241,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:242,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:243,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:244,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:245,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:246,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:248,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:249,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:250,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:251,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:252,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:253,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:254,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:256,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:257,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:258,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:259,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:260,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:261,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_dimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:272,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:273,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:274,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:275,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:286,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:287,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:291,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:292,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:294,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:294,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:294,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:299,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:302,1
    - Dst: string
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:302,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - read
    - string
    - ensure_equals
    - ensure
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:313,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:314,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:314,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:315,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:315,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:317,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:318,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:318,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:319,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:319,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:322,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:323,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - ensure
    - read
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFixStructure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:331,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:332,1
    - Dst: geos::detail::down_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:333,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:334,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - std::unique_ptr::getExteriorRing
    - ensure
    - auto::release
    - setFixStructure
    - geos::detail::down_cast<geos::geom::Polygon*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:343,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:344,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:344,1
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:347,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getCoordinateDimension
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:356,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:358,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getCoordinateDimension
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:367,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:368,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:378,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:380,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - read
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:408,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:409,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:421,1
    - Dst: fail
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:422,1
    - Dst: what
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:424,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure_equals
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:436,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:437,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:438,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:439,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:441,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:442,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:443,1
    - Dst: ensure_dimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 445
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_dimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:453,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:456,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:456,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:457,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:457,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:458,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:458,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:458,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:459,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:459,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getX
    - read
    - std::isnan
    - auto::getY
    - ensure
    - auto::isEmpty
    - GeomPtr::getCoordinates
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:468,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:470,1
    - Dst: GeomPtr::getNumGeometries
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::getNumGeometries
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:479,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:480,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:481,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:482,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:483,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:484,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:485,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:486,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:487,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:488,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:489,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:490,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:491,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:492,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:493,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:494,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:495,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:497,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:498,1
    - Dst: ensure_parseexception
      Src: /src/geos/tests/unit/io/WKTReaderTest.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 500
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/WKTReaderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_parseexception
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:45,1
    - Dst: geos::io::ByteOrderValues::getInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:49,1
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:55,1
    - Dst: geos::io::ByteOrderValues::getInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ByteOrderValues::getInt
    - ensure
    - ensure_equals
    - geos::io::ByteOrderValues::putInt
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:83,1
    - Dst: geos::io::ByteOrderValues::getDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:87,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:98,1
    - Dst: geos::io::ByteOrderValues::getDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 103
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::ByteOrderValues::getDouble
    - geos::io::ByteOrderValues::putDouble
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:126,1
    - Dst: static_cast<long>
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:128,1
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:129,1
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:137,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:140,1
    - Dst: static_cast<long>
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:142,1
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ByteOrderValues::putLong
    - geos::io::ByteOrderValues::getLong
    - ensure_equals
    - ensure
    - static_cast<long>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:161,1
    - Dst: geos::io::ByteOrderValues::getUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:163,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:165,1
    - Dst: geos::io::ByteOrderValues::putUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:171,1
    - Dst: geos::io::ByteOrderValues::getUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::ByteOrderValues::putUnsigned
    - geos::io::ByteOrderValues::getUnsigned
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:45,1
    - Dst: geos::io::ByteOrderValues::getInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:49,1
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:55,1
    - Dst: geos::io::ByteOrderValues::getInt
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ByteOrderValues::getInt
    - ensure
    - ensure_equals
    - geos::io::ByteOrderValues::putInt
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:83,1
    - Dst: geos::io::ByteOrderValues::getDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:87,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:98,1
    - Dst: geos::io::ByteOrderValues::getDouble
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 103
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::ByteOrderValues::getDouble
    - geos::io::ByteOrderValues::putDouble
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:126,1
    - Dst: static_cast<long>
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:128,1
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:129,1
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:137,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:140,1
    - Dst: static_cast<long>
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:142,1
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 144
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ByteOrderValues::putLong
    - geos::io::ByteOrderValues::getLong
    - ensure_equals
    - ensure
    - static_cast<long>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:161,1
    - Dst: geos::io::ByteOrderValues::getUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:163,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:165,1
    - Dst: geos::io::ByteOrderValues::putUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:171,1
    - Dst: geos::io::ByteOrderValues::getUnsigned
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/io/ByteOrderValuesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - geos::io::ByteOrderValues::putUnsigned
    - geos::io::ByteOrderValues::getUnsigned
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: tut::test_angle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_angle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:48,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:48,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:49,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:49,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:50,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:50,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:51,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:51,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:52,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:52,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:53,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:53,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:54,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:54,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Angle::angle
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:63,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:63,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:65,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:65,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:66,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:66,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:68,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:69,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:69,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:69,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:70,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:70,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:71,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:71,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:71,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:72,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:72,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::isAcute
    - Coordinate
    - ensure
    - ensure_not
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:82,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:84,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:85,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:86,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:87,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:88,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:89,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:90,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:92,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:93,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:94,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:95,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:96,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:97,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:98,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Angle::normalizePositive
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:107,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:109,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:110,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:111,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:112,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:113,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:114,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:115,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:117,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:118,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:119,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:120,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:121,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:122,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:123,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::normalize
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:136,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:138,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:140,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:142,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:144,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:146,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:149,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:151,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:153,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:155,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:157,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:159,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Angle::toDegrees
    - geos::algorithm::Angle::interiorAngle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::toRadians
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:173,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:175,1
    - Dst: std::sin
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:177,1
    - Dst: std::cos
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:181,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:181,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:182,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:182,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:184,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:185,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:185,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:193,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:195,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:195,1
    - Dst: std::sin
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:195,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:196,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:196,1
    - Dst: std::cos
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 200
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - std::sin
    - ensure_equals
    - ensure
    - std::cos
    - std::fabs
    - geos::algorithm::sinCosSnap
    - geos::algorithm::Angle::toRadians
    - to_string
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: tut::test_angle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_angle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:48,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:48,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:49,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:49,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:50,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:50,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:51,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:51,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:52,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:52,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:53,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:53,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:54,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:54,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Angle::angle
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:63,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:63,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:65,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:65,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:66,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:66,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:68,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:69,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:69,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:69,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:70,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:70,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:71,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:71,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:71,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:72,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:72,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::isAcute
    - Coordinate
    - ensure
    - ensure_not
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:82,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:84,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:85,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:86,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:87,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:88,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:89,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:90,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:92,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:93,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:94,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:95,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:96,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:97,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:98,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Angle::normalizePositive
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:107,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:109,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:110,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:111,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:112,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:113,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:114,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:115,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:117,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:118,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:119,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:120,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:121,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:122,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:123,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::normalize
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:136,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:138,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:140,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:142,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:144,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:146,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:149,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:151,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:153,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:155,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:157,1
    - Dst: geos::algorithm::Angle::toDegrees
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:159,1
    - Dst: geos::algorithm::Angle::interiorAngle
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Angle::toDegrees
    - geos::algorithm::Angle::interiorAngle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::toRadians
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:173,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:175,1
    - Dst: std::sin
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:177,1
    - Dst: std::cos
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:181,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:181,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:182,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:182,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:184,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:185,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:185,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:193,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:195,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:195,1
    - Dst: std::sin
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:195,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:196,1
    - Dst: to_string
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:196,1
    - Dst: std::cos
      Src: /src/geos/tests/unit/algorithm/AngleTest.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 200
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AngleTest.cpp
    functionUses: 0
    functionsReached:
    - std::sin
    - ensure_equals
    - ensure
    - std::cos
    - std::fabs
    - geos::algorithm::sinCosSnap
    - geos::algorithm::Angle::toRadians
    - to_string
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:37,1
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == geom_)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/geos/tests/unit/algorithm/AreaTest.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: tut::test_area_data
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_area_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ~test_area_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - destroyGeometry
    linkageType: ''
    returnType: void
    signature: void ~test_area_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:51,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:53,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:54,1
    - Dst: CoordinateSequence*::toVector
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:57,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:59,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:60,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:63,1
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wkt
    - expectedArea
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: tut::checkAreaOfRing
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::toVector
    - read
    - tut::ensure_equals
    - geos::algorithm::Area::ofRing
    - geos::algorithm::Area::ofClosedCurve
    - dynamic_cast<const LineString*>
    - auto::get
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void checkAreaOfRing(std::string wkt, double expectedArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:73,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:74,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:74,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:75,1
    - Dst: CoordinateSequence*::toVector
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:78,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:80,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:81,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:83,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wkt
    - expectedArea
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: tut::checkAreaOfRingSigned
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - CoordinateSequence*::toVector
    - read
    - tut::ensure_equals
    - auto::getCoordinatesRO
    - geos::algorithm::Area::ofRingSigned
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkAreaOfRingSigned(std::string wkt, double expectedArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:152,1
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:37,1
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == geom_)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/geos/tests/unit/algorithm/AreaTest.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: tut::test_area_data
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_area_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ~test_area_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - destroyGeometry
    linkageType: ''
    returnType: void
    signature: void ~test_area_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:51,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:53,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:54,1
    - Dst: CoordinateSequence*::toVector
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:57,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:59,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:60,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:63,1
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wkt
    - expectedArea
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: tut::checkAreaOfRing
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::toVector
    - read
    - tut::ensure_equals
    - geos::algorithm::Area::ofRing
    - geos::algorithm::Area::ofClosedCurve
    - dynamic_cast<const LineString*>
    - auto::get
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void checkAreaOfRing(std::string wkt, double expectedArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:73,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:74,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:74,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:75,1
    - Dst: CoordinateSequence*::toVector
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:78,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:80,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:81,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:83,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wkt
    - expectedArea
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: tut::checkAreaOfRingSigned
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - CoordinateSequence*::toVector
    - read
    - tut::ensure_equals
    - auto::getCoordinatesRO
    - geos::algorithm::Area::ofRingSigned
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkAreaOfRingSigned(std::string wkt, double expectedArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRingSigned
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:152,1
    - Dst: checkAreaOfRing
      Src: /src/geos/tests/unit/algorithm/AreaTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/AreaTest.cpp
    functionUses: 0
    functionsReached:
    - checkAreaOfRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:35,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:35,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:40,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::zInterpolate
    - ensure_equals
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:60,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:60,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:65,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mInterpolate
    - ensure_equals
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:81,1
    - Dst: geos::algorithm::zGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:82,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:82,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:85,1
    - Dst: geos::algorithm::zGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:86,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:86,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mGet
    - std::isnan
    - ensure_equals
    - ensure
    - geos::algorithm::zGet
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:98,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:98,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:99,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:99,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mGet
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:117,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:117,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:118,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:121,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:121,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mInterpolate
    - ensure_equals
    - geos::algorithm::zInterpolate
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:35,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:35,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:40,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::zInterpolate
    - ensure_equals
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:60,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:60,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:65,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mInterpolate
    - ensure_equals
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:81,1
    - Dst: geos::algorithm::zGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:82,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:82,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:85,1
    - Dst: geos::algorithm::zGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:86,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:86,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mGet
    - std::isnan
    - ensure_equals
    - ensure
    - geos::algorithm::zGet
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:98,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:98,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:99,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:99,1
    - Dst: geos::algorithm::mGet
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mGet
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:117,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:117,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:118,1
    - Dst: geos::algorithm::mInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:121,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:121,1
    - Dst: geos::algorithm::zInterpolate
      Src: /src/geos/tests/unit/algorithm/InterpolateTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::mInterpolate
    - ensure_equals
    - geos::algorithm::zInterpolate
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: tut::test_minimumdiameter_data
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_minimumdiameter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:68,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:70,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:73,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:85,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:85,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:87,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:89,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:89,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:92,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:106,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:108,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:108,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:111,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:123,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:123,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:125,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:127,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:127,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:130,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:142,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:142,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:144,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:146,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:146,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:149,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:161,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:161,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:163,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:164,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:164,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:167,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:169,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:169,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:179,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:179,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:181,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:182,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:182,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:185,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:187,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:187,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:197,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:197,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:199,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:200,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:200,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:203,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:205,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:205,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:215,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:215,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:217,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:218,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:218,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:221,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:223,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:223,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:233,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:234,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:234,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:236,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:237,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:237,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:240,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:242,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:242,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: tut::test_minimumdiameter_data
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_minimumdiameter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:68,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:70,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:73,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:85,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:85,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:87,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:89,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:89,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:92,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:106,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:108,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:108,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:111,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:123,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:123,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:125,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:127,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:127,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:130,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:142,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:142,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:144,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:146,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:146,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:149,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:161,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:161,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:163,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:164,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:164,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:167,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:169,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:169,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:179,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:179,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:181,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:182,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:182,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:185,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:187,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:187,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:197,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:197,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:199,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:200,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:200,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:203,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:205,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:205,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:215,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:215,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:217,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:218,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:218,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:221,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:223,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:223,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:233,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:234,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:234,1
    - Dst: geos::algorithm::MinimumDiameter::getMinimumDiameter
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:236,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:237,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:237,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:240,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:242,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:242,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumDiameterTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure
    - read
    - geos::algorithm::MinimumDiameter::getMinimumDiameter
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:52,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:53,1
    - Dst: auto::isNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: tut::checkIntersectionNull
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isNull
    - tut::ensure
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionNull(\n        double p1x, double p1y, double
      p2x, double p2y,\n        double q1x, double q1y, double q2x, double q2y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:66,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:67,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    - expectedx
    - expectedy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::algorithm::Intersection::intersection
    - auto::distance
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(\n        double p1x, double p1y, double p2x,
      double p2y,\n        double q1x, double q1y, double q2x, double q2y,\n        double
      expectedx, double expectedy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:83,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    - expectedx
    - expectedy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: tut::checkIntersectionLineSegment
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - Coordinate::distance
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionLineSegment(\n        double p1x, double p1y,
      double p2x, double p2y,\n        double q1x, double q1y, double q2x, double
      q2y,\n        double expectedx, double expectedy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:96,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: tut::checkIntersectionLineSegmentNull
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - Coordinate::isNull
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionLineSegmentNull(\n        double p1x, double
      p1y, double p2x, double p2y,\n        double q1x, double q1y, double q2x, double
      q2y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: tut::test_intersection_data
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_intersection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp: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: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNull
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNull
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:162,1
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegment
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:171,1
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegment
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegment
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegmentNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:188,1
    - Dst: checkIntersectionLineSegmentNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:189,1
    - Dst: checkIntersectionLineSegmentNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegmentNull
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:52,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:53,1
    - Dst: auto::isNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: tut::checkIntersectionNull
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isNull
    - tut::ensure
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionNull(\n        double p1x, double p1y, double
      p2x, double p2y,\n        double q1x, double q1y, double q2x, double q2y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:66,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:67,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    - expectedx
    - expectedy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::algorithm::Intersection::intersection
    - auto::distance
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(\n        double p1x, double p1y, double p2x,
      double p2y,\n        double q1x, double q1y, double q2x, double q2y,\n        double
      expectedx, double expectedy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:83,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    - expectedx
    - expectedy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: tut::checkIntersectionLineSegment
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - Coordinate::distance
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionLineSegment(\n        double p1x, double p1y,
      double p2x, double p2y,\n        double q1x, double q1y, double q2x, double
      q2y,\n        double expectedx, double expectedy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:96,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: tut::checkIntersectionLineSegmentNull
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - Coordinate::isNull
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionLineSegmentNull(\n        double p1x, double
      p1y, double p2x, double p2y,\n        double q1x, double q1y, double q2x, double
      q2y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: tut::test_intersection_data
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_intersection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp: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: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNull
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNull
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:162,1
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegment
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:171,1
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegment
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegment
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegment
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionLineSegmentNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:188,1
    - Dst: checkIntersectionLineSegmentNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:189,1
    - Dst: checkIntersectionLineSegmentNull
      Src: /src/geos/tests/unit/algorithm/IntersectionTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/IntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionLineSegmentNull
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - distanceTolerance
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: tut::equals
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: bool
    signature: "bool equals(const Coordinate& p0, const Coordinate& p1,\n           double
      distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:45,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:45,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' q'
    - distanceTolerance
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::checkIntPoints
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::equals
    - toString
    linkageType: ''
    returnType: void
    signature: "void checkIntPoints(const Coordinate& p, const Coordinate& q,\n                   double
      distanceTolerance)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:64,1
    - Dst: geos::algorithm::LineIntersector::getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:67,1
    - Dst: empty
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:69,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:73,1
    - Dst: size
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:73,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:78,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:78,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:82,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:82,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:84,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:84,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:88,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:88,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:90,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:90,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:91,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:91,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:93,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:93,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:98,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:98,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:100,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:100,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:101,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:101,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:103,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - ' pt'
    - expectedIntersectionNum
    - ' intPt'
    - distanceTolerance
    argTypes:
    - std::vector<Coordinate>
    - std::size_t
    - std::vector<Coordinate>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::LineIntersector::getIntersection
    - size
    - tut::ensure_equals
    - tut::equals
    - geos::algorithm::LineIntersector::computeIntersection
    - tut::checkIntPoints
    - geos::algorithm::LineIntersector::getIntersectionNum
    - empty
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const std::vector<Coordinate>& pt,\n                      std::size_t
      expectedIntersectionNum,\n                      const std::vector<Coordinate>&
      intPt,\n                      double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:118,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:119,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:121,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:128,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:128,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:129,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:129,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:130,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:130,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:131,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:131,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:133,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:135,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:138,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:139,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:139,1
    - Dst: tut::checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedIntersectionNum
    - ' expectedWKT'
    - distanceTolerance
    argTypes:
    - std::string
    - std::string
    - std::size_t
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - read
    - std::unique_ptr::getAt
    - getCoordinateN
    - std::unique_ptr::size
    - GeomPtr::getCoordinates
    - tut::checkIntersection
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const std::string& wkt1,\n                      const
      std::string& wkt2,\n                      std::size_t expectedIntersectionNum,\n
      \                     const std::string& expectedWKT,\n                      double
      distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:154,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:155,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:157,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:164,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:165,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:165,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:166,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:166,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:167,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:167,1
    - Dst: tut::checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedIntersectionNum
    - ' intPt'
    - distanceTolerance
    argTypes:
    - std::string
    - std::string
    - std::size_t
    - std::vector<Coordinate>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 171
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - read
    - getCoordinateN
    - tut::checkIntersection
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const std::string& wkt1,\n                      const
      std::string& wkt2,\n                      std::size_t expectedIntersectionNum,\n
      \                     const std::vector<Coordinate>& intPt,\n                      double
      distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:178,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:179,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:181,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:182,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:188,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:189,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:190,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:190,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:191,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:191,1
    - Dst: tut::checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' wkt1'
    - ' wkt2'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: tut::checkIntersectionNone
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - getCoordinateN
    - tut::checkIntersection
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionNone(const std::string& wkt1,\n                          const
      std::string& wkt2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:200,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:201,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:203,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:210,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:210,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:211,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:211,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:212,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:212,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:213,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:213,1
    - Dst: tut::checkInputNotAltered
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: tut::checkInputNotAltered
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - read
    - getCoordinateN
    - tut::checkInputNotAltered
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkInputNotAltered(const std::string& wkt1, const std::string&
      wkt2, int scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::setPrecisionModel
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:225,1
    - Dst: geos::algorithm::LineIntersector::computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:226,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt'
    - scaleFactor
    argTypes:
    - std::vector<Coordinate>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: tut::checkInputNotAltered
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntersection
    - geos::algorithm::LineIntersector::setPrecisionModel
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkInputNotAltered(const std::vector<Coordinate>& pt, int scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:239,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tut::test_robustlineintersection_data
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_robustlineintersection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:301,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:301,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Coordinate
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:317,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:317,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 324
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Coordinate
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:334,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:334,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:335,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:335,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:336,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:336,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:337,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:337,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:340,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:340,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Coordinate
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNone
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNone
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNone
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNone
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInputNotAltered
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkInputNotAltered
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - distanceTolerance
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: tut::equals
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 2
    functionsReached:
    - distance
    linkageType: ''
    returnType: bool
    signature: "bool equals(const Coordinate& p0, const Coordinate& p1,\n           double
      distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:45,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:45,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' q'
    - distanceTolerance
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::checkIntPoints
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - tut::equals
    - toString
    linkageType: ''
    returnType: void
    signature: "void checkIntPoints(const Coordinate& p, const Coordinate& q,\n                   double
      distanceTolerance)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:64,1
    - Dst: geos::algorithm::LineIntersector::getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:67,1
    - Dst: empty
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:69,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:73,1
    - Dst: size
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:73,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:78,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:78,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:82,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:82,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:84,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:84,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:88,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:88,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:90,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:90,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:91,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:91,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:93,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:93,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:98,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:98,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:100,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:100,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:101,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:101,1
    - Dst: tut::checkIntPoints
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:103,1
    - Dst: geos::algorithm::LineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - ' pt'
    - expectedIntersectionNum
    - ' intPt'
    - distanceTolerance
    argTypes:
    - std::vector<Coordinate>
    - std::size_t
    - std::vector<Coordinate>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::LineIntersector::getIntersection
    - size
    - tut::ensure_equals
    - tut::equals
    - geos::algorithm::LineIntersector::computeIntersection
    - tut::checkIntPoints
    - geos::algorithm::LineIntersector::getIntersectionNum
    - empty
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const std::vector<Coordinate>& pt,\n                      std::size_t
      expectedIntersectionNum,\n                      const std::vector<Coordinate>&
      intPt,\n                      double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:118,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:119,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:121,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:128,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:128,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:129,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:129,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:130,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:130,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:131,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:131,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:133,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:135,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:138,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:139,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:139,1
    - Dst: tut::checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedIntersectionNum
    - ' expectedWKT'
    - distanceTolerance
    argTypes:
    - std::string
    - std::string
    - std::size_t
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure
    - read
    - std::unique_ptr::getAt
    - getCoordinateN
    - std::unique_ptr::size
    - GeomPtr::getCoordinates
    - tut::checkIntersection
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const std::string& wkt1,\n                      const
      std::string& wkt2,\n                      std::size_t expectedIntersectionNum,\n
      \                     const std::string& expectedWKT,\n                      double
      distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:154,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:155,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:157,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:164,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:165,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:165,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:166,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:166,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:167,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:167,1
    - Dst: tut::checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedIntersectionNum
    - ' intPt'
    - distanceTolerance
    argTypes:
    - std::string
    - std::string
    - std::size_t
    - std::vector<Coordinate>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 171
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 5
    functionsReached:
    - tut::ensure
    - read
    - getCoordinateN
    - tut::checkIntersection
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const std::string& wkt1,\n                      const
      std::string& wkt2,\n                      std::size_t expectedIntersectionNum,\n
      \                     const std::vector<Coordinate>& intPt,\n                      double
      distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:178,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:179,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:181,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:182,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:188,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:188,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:189,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:190,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:190,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:191,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:191,1
    - Dst: tut::checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ' wkt1'
    - ' wkt2'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: tut::checkIntersectionNone
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - getCoordinateN
    - tut::checkIntersection
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionNone(const std::string& wkt1,\n                          const
      std::string& wkt2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:200,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:201,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:203,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:210,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:210,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:211,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:211,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:212,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:212,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:213,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:213,1
    - Dst: tut::checkInputNotAltered
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: tut::checkInputNotAltered
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - read
    - getCoordinateN
    - tut::checkInputNotAltered
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkInputNotAltered(const std::string& wkt1, const std::string&
      wkt2, int scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::setPrecisionModel
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:225,1
    - Dst: geos::algorithm::LineIntersector::computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:226,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt'
    - scaleFactor
    argTypes:
    - std::vector<Coordinate>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: tut::checkInputNotAltered
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntersection
    - geos::algorithm::LineIntersector::setPrecisionModel
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkInputNotAltered(const std::vector<Coordinate>& pt, int scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:239,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: tut::test_robustlineintersection_data
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_robustlineintersection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:301,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:301,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Coordinate
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:317,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:317,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 324
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Coordinate
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:334,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:334,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:335,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:335,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:336,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:336,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:337,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:337,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:340,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:340,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Coordinate
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNone
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNone
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectionNone
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectionNone
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInputNotAltered
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - checkInputNotAltered
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: tut::test_orientation_data
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_orientation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:30,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:31,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' c3'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: tut::checkOrientation
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int checkOrientation(Coordinate& c1, Coordinate& c2, Coordinate& c3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:51,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:52,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:54,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:54,1
    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: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:62,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:63,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:65,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:74,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:76,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:76,1
    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: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:84,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:85,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:87,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:95,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:96,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:98,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:106,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:107,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:109,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:117,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:120,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:128,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:129,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:131,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: tut::test_orientation_data
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_orientation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:30,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:31,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' c3'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: tut::checkOrientation
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int checkOrientation(Coordinate& c1, Coordinate& c2, Coordinate& c3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:51,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:52,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:54,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:54,1
    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: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:62,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:63,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:65,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:74,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:76,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:76,1
    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: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:84,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:85,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:87,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:95,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:96,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:98,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:106,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:107,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:109,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:117,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:120,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:128,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:129,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:131,1
    - Dst: checkOrientation
      Src: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/OrientationIndexFailureTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - ensure_equals
    - checkOrientation
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:36,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:36,1
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == geom_)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/geos/tests/unit/algorithm/LengthTest.cpp
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: tut::test_length_data
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_length_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ~test_length_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - destroyGeometry
    linkageType: ''
    returnType: void
    signature: void ~test_length_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:50,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:51,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:51,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:52,1
    - Dst: geos::algorithm::Length::ofLine
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wkt
    - expectedLength
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: tut::checkLengthOfLine
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::algorithm::Length::ofLine
    - read
    - tut::ensure_equals
    - auto::getCoordinatesRO
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkLengthOfLine(std::string wkt, double expectedLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLengthOfLine
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - checkLengthOfLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:36,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:36,1
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == geom_)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/geos/tests/unit/algorithm/LengthTest.cpp
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: tut::test_length_data
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_length_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ~test_length_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - destroyGeometry
    linkageType: ''
    returnType: void
    signature: void ~test_length_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:50,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:51,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:51,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:52,1
    - Dst: geos::algorithm::Length::ofLine
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wkt
    - expectedLength
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: tut::checkLengthOfLine
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::algorithm::Length::ofLine
    - read
    - tut::ensure_equals
    - auto::getCoordinatesRO
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkLengthOfLine(std::string wkt, double expectedLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLengthOfLine
      Src: /src/geos/tests/unit/algorithm/LengthTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LengthTest.cpp
    functionUses: 0
    functionsReached:
    - checkLengthOfLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:33,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:34,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - ' wktLine'
    - isExpected
    argTypes:
    - double
    - double
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: tut::checkOnLine
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::algorithm::PointLocation::isOnLine
    - tut::readPts
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkOnLine(double x, double y, const std::string& wktLine, bool
      isExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:42,1
    - Dst: geos::algorithm::PointLocation::isOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:44,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:44,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - ' wktLine'
    - isExpected
    argTypes:
    - double
    - double
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: tut::checkOnSegment
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::readPts
    - geos::algorithm::PointLocation::isOnSegment
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: void
    signature: void checkOnSegment(double x, double y, const std::string& wktLine,
      bool isExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:51,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: tut::readPts
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 2
    functionsReached:
    - auto::getCoordinatesRO
    - read
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> readPts(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnLine
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:84,1
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnLine
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnLine
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:101,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:102,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnSegment
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:111,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:112,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnSegment
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:121,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnSegment
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:33,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:34,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - ' wktLine'
    - isExpected
    argTypes:
    - double
    - double
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: tut::checkOnLine
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::algorithm::PointLocation::isOnLine
    - tut::readPts
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkOnLine(double x, double y, const std::string& wktLine, bool
      isExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:42,1
    - Dst: geos::algorithm::PointLocation::isOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:44,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:44,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - ' wktLine'
    - isExpected
    argTypes:
    - double
    - double
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: tut::checkOnSegment
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::readPts
    - geos::algorithm::PointLocation::isOnSegment
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: void
    signature: void checkOnSegment(double x, double y, const std::string& wktLine,
      bool isExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:51,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: tut::readPts
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 4
    functionsReached:
    - auto::getCoordinatesRO
    - read
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> readPts(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnLine
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:84,1
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnLine
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnLine
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnLine
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:101,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:102,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnSegment
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:111,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:112,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnSegment
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:121,1
    - Dst: checkOnSegment
      Src: /src/geos/tests/unit/algorithm/PointLocationTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocationTest.cpp
    functionUses: 0
    functionsReached:
    - checkOnSegment
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:20,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:22,1
    - Dst: Envelope::getMinX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:22,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:23,1
    - Dst: Envelope::getMaxX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:23,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:24,1
    - Dst: Envelope::getMinY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:24,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:25,1
    - Dst: Envelope::getMaxY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:25,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:30,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:32,1
    - Dst: Envelope::getMinX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:32,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:33,1
    - Dst: Envelope::getMaxX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:33,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:34,1
    - Dst: Envelope::getMinY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:34,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:35,1
    - Dst: Envelope::getMaxY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 7
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - xmin
    - ymin
    - xmax
    - ymax
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 37
    functionName: tut::checkEnvelope
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::getMinX
    - tut::ensure_equals
    - Envelope::getMaxY
    - Envelope::getMaxX
    - geos::algorithm::CircularArcs::expandEnvelope
    - Envelope::getMinY
    linkageType: ''
    returnType: void
    signature: "void checkEnvelope(const CoordinateXY& p0, const CoordinateXY& p1,
      const CoordinateXY& p2,\n                       double xmin, double ymin, double
      xmax, double ymax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:81,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:109,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:110,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:118,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:118,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:120,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:120,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:122,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:131,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:131,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:133,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:144,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:145,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:145,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:146,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:148,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:149,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:170,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:170,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:172,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:172,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:174,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:20,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:22,1
    - Dst: Envelope::getMinX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:22,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:23,1
    - Dst: Envelope::getMaxX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:23,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:24,1
    - Dst: Envelope::getMinY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:24,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:25,1
    - Dst: Envelope::getMaxY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:25,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:30,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:32,1
    - Dst: Envelope::getMinX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:32,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:33,1
    - Dst: Envelope::getMaxX
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:33,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:34,1
    - Dst: Envelope::getMinY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:34,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:35,1
    - Dst: Envelope::getMaxY
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 7
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - xmin
    - ymin
    - xmax
    - ymax
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 37
    functionName: tut::checkEnvelope
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::getMinX
    - tut::ensure_equals
    - Envelope::getMaxY
    - Envelope::getMaxX
    - geos::algorithm::CircularArcs::expandEnvelope
    - Envelope::getMinY
    linkageType: ''
    returnType: void
    signature: "void checkEnvelope(const CoordinateXY& p0, const CoordinateXY& p1,
      const CoordinateXY& p2,\n                       double xmin, double ymin, double
      xmax, double ymax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:81,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:109,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:110,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CircularArcs::getCenter
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:118,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:118,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:120,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:120,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:122,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:131,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:131,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:133,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:144,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:145,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:145,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:146,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:148,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:149,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:170,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:170,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:172,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:172,1
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:174,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CircularArcsTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:70,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:71,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:72,1
    - Dst: getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:73,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:74,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - getIntersection
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:89,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:90,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:91,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:92,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:107,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:108,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:109,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:110,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:125,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:126,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:127,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:128,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:143,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:144,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:145,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:146,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:155,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:155,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:155,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:156,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:157,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:158,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:168,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:169,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:170,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:171,1
    - Dst: getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:171,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - getIntersection
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:180,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:180,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:180,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:181,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:182,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:183,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:192,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:192,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:192,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:193,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:194,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:195,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:196,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:206,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:207,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:208,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:208,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:209,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:218,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:218,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:219,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:220,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Orientation::index
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:230,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:230,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:231,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:232,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Orientation::index
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:250,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:251,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:252,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:255,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:255,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:256,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:256,1
    - Dst: GeometryFactory::Ptr::createLineString
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:258,1
    - Dst: std::move
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:258,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:259,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:260,1
    - Dst: auto::intersects
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:260,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 261
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - auto::intersects
    - geos::algorithm::Orientation::index
    - GeometryFactory::Ptr::createPoint
    - geos::algorithm::PointLocation::isOnLine
    - ensure
    - ensure_equals
    - GeometryFactory::Ptr::createLineString
    - auto::get
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:279,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:288,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:290,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:291,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:291,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - GeomPtr::get
    - GeomPtr::intersects
    - geos::io::WKBReader::readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:314,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:324,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:326,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:327,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:327,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - GeomPtr::intersects
    - geos::io::WKBReader::readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:70,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:71,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:72,1
    - Dst: getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:73,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:74,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - getIntersection
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:89,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:90,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:91,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:92,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:107,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:108,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:109,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:110,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:125,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:126,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:127,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:128,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:143,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:144,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:145,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:146,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - ensure
    - hasIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:155,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:155,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:155,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:156,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:157,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:158,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:168,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:169,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:170,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:171,1
    - Dst: getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:171,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - getIntersection
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:180,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:180,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:180,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:181,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:182,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:183,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:192,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:192,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:192,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:193,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:194,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:195,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:196,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:206,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:207,1
    - Dst: hasIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:208,1
    - Dst: getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:208,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:209,1
    - Dst: isProper
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - isProper
    - computeIntersection
    - ensure_equals
    - hasIntersection
    - ensure
    - Coordinate
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:218,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:218,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:219,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:220,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Orientation::index
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:230,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:230,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:231,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:232,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::algorithm::Orientation::index
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:250,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:251,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:252,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:255,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:255,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:256,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:256,1
    - Dst: GeometryFactory::Ptr::createLineString
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:258,1
    - Dst: std::move
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:258,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:259,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:260,1
    - Dst: auto::intersects
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:260,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 261
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - auto::intersects
    - geos::algorithm::Orientation::index
    - GeometryFactory::Ptr::createPoint
    - geos::algorithm::PointLocation::isOnLine
    - ensure
    - ensure_equals
    - GeometryFactory::Ptr::createLineString
    - auto::get
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:279,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:288,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:290,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:291,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:291,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - GeomPtr::get
    - GeomPtr::intersects
    - geos::io::WKBReader::readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:314,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:324,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:326,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:327,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:327,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - GeomPtr::intersects
    - geos::io::WKBReader::readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tut::test_rectangle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_rectangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:38,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:40,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:41,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:42,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:43,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:44,1
    - Dst: geos::algorithm::Rectangle::createFromSidePts
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:45,1
    - Dst: auto::getFactory
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:48,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:49,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:51,1
    - Dst: static_cast<Geometry*>
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: tut::checkRectangle
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - auto::getCoordinateN
    - read
    - static_cast<Geometry*>
    - geos::algorithm::Rectangle::createFromSidePts
    - auto::getFactory
    linkageType: ''
    returnType: void
    signature: void checkRectangle(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRectangle
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRectangle
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRectangle
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tut::test_rectangle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_rectangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:38,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:40,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:41,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:42,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:43,1
    - Dst: auto::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:44,1
    - Dst: geos::algorithm::Rectangle::createFromSidePts
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:45,1
    - Dst: auto::getFactory
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:48,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:49,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:51,1
    - Dst: static_cast<Geometry*>
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: tut::checkRectangle
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - auto::getCoordinateN
    - read
    - static_cast<Geometry*>
    - geos::algorithm::Rectangle::createFromSidePts
    - auto::getFactory
    linkageType: ''
    returnType: void
    signature: void checkRectangle(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRectangle
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRectangle
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRectangle
      Src: /src/geos/tests/unit/algorithm/RectangleTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/RectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: tut::checkCrossing
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkCrossing
    linkageType: ''
    returnType: void
    signature: void checkCrossing(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: tut::checkNonCrossing
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkCrossing
    linkageType: ''
    returnType: void
    signature: void checkNonCrossing(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:42,1
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:43,1
    - Dst: geos::algorithm::PolygonNodeTopology::isCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:45,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - isExpected
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: tut::checkCrossing
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isCrossing
    - tut::ensure
    - tut::readPts
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: void
    signature: void checkCrossing(const std::string& wktA, const std::string& wktB,
      bool isExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkInteriorSegment
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tut::checkInterior
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkInteriorSegment
    linkageType: ''
    returnType: void
    signature: void checkInterior(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkInteriorSegment
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: tut::checkExterior
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkInteriorSegment
    linkageType: ''
    returnType: void
    signature: void checkExterior(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:65,1
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:66,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:68,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - isExpected
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: tut::checkInteriorSegment
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - tut::readPts
    - std::unique_ptr::getAt
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    linkageType: ''
    returnType: void
    signature: void checkInteriorSegment(const std::string& wktA, const std::string&
      wktB, bool isExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:76,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: tut::readPts
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 6
    functionsReached:
    - auto::getCoordinatesRO
    - read
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> readPts(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrossing
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNonCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkNonCrossing
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNonCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkNonCrossing
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInterior
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkInterior
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExterior
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkExterior
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: tut::checkCrossing
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 3
    functionsReached:
    - tut::checkCrossing
    linkageType: ''
    returnType: void
    signature: void checkCrossing(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: tut::checkNonCrossing
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkCrossing
    linkageType: ''
    returnType: void
    signature: void checkNonCrossing(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:42,1
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:43,1
    - Dst: geos::algorithm::PolygonNodeTopology::isCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:45,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:46,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - isExpected
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: tut::checkCrossing
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isCrossing
    - tut::ensure
    - tut::readPts
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: void
    signature: void checkCrossing(const std::string& wktA, const std::string& wktB,
      bool isExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkInteriorSegment
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tut::checkInterior
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkInteriorSegment
    linkageType: ''
    returnType: void
    signature: void checkInterior(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkInteriorSegment
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktA'
    - ' wktB'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: tut::checkExterior
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkInteriorSegment
    linkageType: ''
    returnType: void
    signature: void checkExterior(const std::string& wktA, const std::string& wktB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:65,1
    - Dst: tut::readPts
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:66,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:68,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:69,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - isExpected
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: tut::checkInteriorSegment
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure
    - tut::readPts
    - std::unique_ptr::getAt
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    linkageType: ''
    returnType: void
    signature: void checkInteriorSegment(const std::string& wktA, const std::string&
      wktB, bool isExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:76,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: tut::readPts
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 8
    functionsReached:
    - auto::getCoordinatesRO
    - read
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> readPts(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrossing
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNonCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkNonCrossing
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNonCrossing
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkNonCrossing
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInterior
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkInterior
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExterior
      Src: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/PolygonNodeTopologyTest.cpp
    functionUses: 0
    functionsReached:
    - checkExterior
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: tut::test_interiorpointarea_data
    functionSourceFile: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_interiorpointarea_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:68,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:70,1
    - Dst: InteriorPointArea::getInteriorPoint
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - get
    - read
    - InteriorPointArea::getInteriorPoint
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: tut::test_interiorpointarea_data
    functionSourceFile: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_interiorpointarea_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:68,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:70,1
    - Dst: InteriorPointArea::getInteriorPoint
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/InteriorPointAreaTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - get
    - read
    - InteriorPointArea::getInteriorPoint
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:38,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:40,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:41,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:44,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' line1'
    - ' line2'
    - ' p1'
    argTypes:
    - Segment<C1>
    - Segment<C2>
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 6
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - tut::checkIntersectionDir
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const Segment<C1>& line1,\n                           const
      Segment<C2>& line2,\n                           const CoordinateXYZM& p1,\n
      \                          const CoordinateXYZM& p2 = CoordinateXYZM::getNull())"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RobustLineIntersector::computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:56,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:60,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:61,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:63,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:64,1
    - Dst: RobustLineIntersector::getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:64,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:66,1
    - Dst: RobustLineIntersector::getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:66,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:69,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:70,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:71,1
    - Dst: tut::ensure_equals_xyzm
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:75,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:76,1
    - Dst: tut::ensure_equals_xyzm
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' line1'
    - ' line2'
    - ' p1'
    - ' p2'
    argTypes:
    - Segment<C1>
    - Segment<C2>
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: tut::checkIntersectionDir
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals
    - tut::ensure_equals_xyzm
    - RobustLineIntersector::getIntersection
    - RobustLineIntersector::computeIntersection
    - tut::isNull
    - RobustLineIntersector::getIntersectionNum
    - auto::compareTo
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionDir(\n                const Segment<C1>& line1,\n
      \               const Segment<C2>& line2,\n                const CoordinateXYZM&
      p1,\n                const CoordinateXYZM& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:81,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tut::xyz
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - CoordinateXYZM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xyz(double x, double y, double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:85,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: tut::xy
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - CoordinateXYZM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xy(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:89,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - m
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tut::xym
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    - CoordinateXYM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xym(double x, double y, double m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - m
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tut::xyzm
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xyzm(double x, double y, double z, double m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Segment<C>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - C
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tut::line
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - Segment<C>
    linkageType: ''
    returnType: Segment<C>
    signature: Segment<C> line(const C& p0, const C& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:123,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:124,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:125,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:136,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:137,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:138,1
    - Dst: xy
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    - line<XY>
    - xy
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:148,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:149,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:150,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:160,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:161,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:162,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:173,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:174,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:175,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:185,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:186,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:187,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:197,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:198,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:199,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:210,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:211,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:212,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:223,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:224,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:225,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:236,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:237,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:238,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:249,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:250,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:251,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:261,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:262,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:263,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:264,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:273,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:274,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:275,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:276,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:285,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:286,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:287,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:298,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:299,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:300,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:310,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:311,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:312,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:313,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:324,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:325,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:326,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:327,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:337,1
    - Dst: line<XYM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:338,1
    - Dst: line<XYM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:339,1
    - Dst: xym
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - xym
    - checkIntersection
    - line<XYM>
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:349,1
    - Dst: line<XYZM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:350,1
    - Dst: line<XYZM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:351,1
    - Dst: xyzm
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZM>
    - xyzm
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:38,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:40,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:41,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:44,1
    - Dst: tut::checkIntersectionDir
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' line1'
    - ' line2'
    - ' p1'
    argTypes:
    - Segment<C1>
    - Segment<C2>
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 6
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - tut::checkIntersectionDir
    linkageType: ''
    returnType: void
    signature: "void checkIntersection(const Segment<C1>& line1,\n                           const
      Segment<C2>& line2,\n                           const CoordinateXYZM& p1,\n
      \                          const CoordinateXYZM& p2 = CoordinateXYZM::getNull())"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RobustLineIntersector::computeIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:56,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:60,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:61,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:63,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:64,1
    - Dst: RobustLineIntersector::getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:64,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:66,1
    - Dst: RobustLineIntersector::getIntersectionNum
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:66,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:69,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:70,1
    - Dst: RobustLineIntersector::getIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:71,1
    - Dst: tut::ensure_equals_xyzm
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:75,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:76,1
    - Dst: tut::ensure_equals_xyzm
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' line1'
    - ' line2'
    - ' p1'
    - ' p2'
    argTypes:
    - Segment<C1>
    - Segment<C2>
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: tut::checkIntersectionDir
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals
    - tut::ensure_equals_xyzm
    - RobustLineIntersector::getIntersection
    - RobustLineIntersector::computeIntersection
    - tut::isNull
    - RobustLineIntersector::getIntersectionNum
    - auto::compareTo
    linkageType: ''
    returnType: void
    signature: "void checkIntersectionDir(\n                const Segment<C1>& line1,\n
      \               const Segment<C2>& line2,\n                const CoordinateXYZM&
      p1,\n                const CoordinateXYZM& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:81,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: tut::xyz
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - CoordinateXYZM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xyz(double x, double y, double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:85,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: tut::xy
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - CoordinateXYZM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xy(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:89,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - m
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tut::xym
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    - CoordinateXYM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xym(double x, double y, double m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - z
    - m
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: tut::xyzm
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    linkageType: ''
    returnType: CoordinateXYZM
    signature: CoordinateXYZM xyzm(double x, double y, double z, double m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Segment<C>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - C
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tut::line
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - Segment<C>
    linkageType: ''
    returnType: Segment<C>
    signature: Segment<C> line(const C& p0, const C& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:123,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:124,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:125,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:136,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:137,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:138,1
    - Dst: xy
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    - line<XY>
    - xy
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:148,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:149,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:150,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:160,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:161,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:162,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:173,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:174,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:175,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:185,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:186,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:187,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:197,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:198,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:199,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:210,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:211,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:212,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:223,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:224,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:225,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:236,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:237,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:238,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:249,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:250,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:251,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:261,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:262,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:263,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:264,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:273,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:274,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:275,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:276,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:285,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:286,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:287,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:298,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:299,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:300,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:310,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:311,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:312,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:313,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:324,1
    - Dst: line<XYZ>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:325,1
    - Dst: line<XY>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:326,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:327,1
    - Dst: xyz
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZ>
    - xyz
    - checkIntersection
    - line<XY>
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:337,1
    - Dst: line<XYM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:338,1
    - Dst: line<XYM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:339,1
    - Dst: xym
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - xym
    - checkIntersection
    - line<XYM>
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:349,1
    - Dst: line<XYZM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:350,1
    - Dst: line<XYZM>
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:351,1
    - Dst: xyzm
      Src: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/RobustLineIntersectorZTest.cpp
    functionUses: 0
    functionsReached:
    - line<XYZM>
    - xyzm
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - loc
    argTypes:
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: tut::locationText
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string locationText(Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:51,1
    - Dst: dynamic_cast<Surface*>
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:52,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:53,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:54,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:57,1
    - Dst: tut::locationText
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:57,1
    - Dst: tut::locationText
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:57,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:58,1
    - Dst: tut::runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:62,1
    - Dst: Surface*::reverse
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - expected
    - ' pt'
    - ' wkt'
    argTypes:
    - Location
    - CoordinateXY
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: tut::runPtLocator
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 1
    functionsReached:
    - tut::runPtLocator
    - tut::fail
    - std::unique_ptr::get
    - read
    - dynamic_cast<Surface*>
    - Surface*::getExteriorRing
    - toString
    - Surface*::reverse
    - tut::locationText
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: void
    signature: "void runPtLocator(Location expected, const CoordinateXY& pt,\n             const
      std::string& wkt, bool checkReverse=true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:87,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:99,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:111,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:111,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:112,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:114,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:114,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:115,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:115,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:118,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:120,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:120,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:122,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:122,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:124,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:124,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:125,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:125,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:126,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:126,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:128,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:128,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:129,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:129,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:130,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:140,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:140,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:141,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:141,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:143,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:143,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:144,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:144,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:145,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:145,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:147,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:147,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:148,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:168,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:179,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:199,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:200,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:204,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:205,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:209,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:210,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:214,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:215,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:219,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:220,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:224,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:242,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:242,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:243,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:243,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:244,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:244,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:245,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:245,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:247,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:247,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:248,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:248,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:249,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:249,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:250,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:250,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:251,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:251,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:253,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:253,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:254,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:254,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:255,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:255,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:256,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:256,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:257,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:257,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:258,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:258,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:259,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:259,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:260,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:270,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:270,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:271,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:271,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:272,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:282,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:282,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:283,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:283,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:284,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - loc
    argTypes:
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: tut::locationText
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string locationText(Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:51,1
    - Dst: dynamic_cast<Surface*>
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:52,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:53,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:54,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:57,1
    - Dst: tut::locationText
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:57,1
    - Dst: tut::locationText
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:57,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:58,1
    - Dst: tut::runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:62,1
    - Dst: Surface*::reverse
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - expected
    - ' pt'
    - ' wkt'
    argTypes:
    - Location
    - CoordinateXY
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: tut::runPtLocator
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 2
    functionsReached:
    - tut::runPtLocator
    - tut::fail
    - std::unique_ptr::get
    - read
    - dynamic_cast<Surface*>
    - Surface*::getExteriorRing
    - toString
    - Surface*::reverse
    - tut::locationText
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: void
    signature: "void runPtLocator(Location expected, const CoordinateXY& pt,\n             const
      std::string& wkt, bool checkReverse=true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:87,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:99,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:111,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:111,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:112,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:114,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:114,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:115,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:115,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:118,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:120,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:120,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:122,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:122,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:124,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:124,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:125,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:125,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:126,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:126,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:128,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:128,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:129,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:129,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:130,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:140,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:140,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:141,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:141,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:143,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:143,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:144,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:144,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:145,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:145,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:147,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:147,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:148,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:168,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:179,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:199,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:200,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:204,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:205,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:209,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:210,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:214,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:215,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:219,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:220,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:224,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:242,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:242,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:243,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:243,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:244,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:244,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:245,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:245,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:247,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:247,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:248,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:248,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:249,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:249,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:250,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:250,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:251,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:251,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:253,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:253,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:254,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:254,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:255,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:255,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:256,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:256,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:257,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:257,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:258,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:258,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:259,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:259,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:260,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:270,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:270,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:271,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:271,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:272,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:282,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:282,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:283,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:283,1
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:284,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/LocatePointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: tut::test_minimumboundingcircle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_minimumboundingcircle_data()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:59,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:60,1
    - Dst: MinimumBoundingCircle::getExtremalPoints
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:61,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:62,1
    - Dst: std::move
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:62,1
    - Dst: MinimumBoundingCircle::getRadius
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:63,1
    - Dst: MinimumBoundingCircle::getCentre
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:64,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:66,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:67,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:67,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:70,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:70,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:75,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:76,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:78,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:80,1
    - Dst: distance
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:81,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:85,1
    - Dst: distance
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:85,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - wktIn
    - wktOut
    - ' centreOut'
    - radiusOut
    argTypes:
    - std::string
    - std::string
    - geos::geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: tut::doMinimumBoundingCircleTest
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - MinimumBoundingCircle::getRadius
    - tut::ensure
    - read
    - tut::ensure_equals
    - tut::equals
    - distance
    - toString
    - get
    - createMultiPoint
    - MinimumBoundingCircle::getExtremalPoints
    - tut::isNull
    - MinimumBoundingCircle::getCentre
    - std::move
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void doMinimumBoundingCircleTest(std::string wktIn, std::string wktOut,\n
      \                               geos::geom::Coordinate& centreOut, double radiusOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Coordinate::setNull
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:96,1
    - Dst: tut::doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wktIn
    - wktOut
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: tut::doMinimumBoundingCircleTest
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Coordinate::setNull
    - tut::doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: void doMinimumBoundingCircleTest(std::string wktIn, std::string wktOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: tut::test_minimumboundingcircle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_minimumboundingcircle_data()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:59,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:60,1
    - Dst: MinimumBoundingCircle::getExtremalPoints
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:61,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:62,1
    - Dst: std::move
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:62,1
    - Dst: MinimumBoundingCircle::getRadius
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:63,1
    - Dst: MinimumBoundingCircle::getCentre
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:64,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:66,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:67,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:67,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:70,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:70,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:75,1
    - Dst: toString
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:76,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:78,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:80,1
    - Dst: distance
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:81,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:85,1
    - Dst: distance
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:85,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - wktIn
    - wktOut
    - ' centreOut'
    - radiusOut
    argTypes:
    - std::string
    - std::string
    - geos::geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: tut::doMinimumBoundingCircleTest
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 1
    functionsReached:
    - MinimumBoundingCircle::getRadius
    - tut::ensure
    - read
    - tut::ensure_equals
    - tut::equals
    - distance
    - toString
    - get
    - createMultiPoint
    - MinimumBoundingCircle::getExtremalPoints
    - tut::isNull
    - MinimumBoundingCircle::getCentre
    - std::move
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void doMinimumBoundingCircleTest(std::string wktIn, std::string wktOut,\n
      \                               geos::geom::Coordinate& centreOut, double radiusOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Coordinate::setNull
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:96,1
    - Dst: tut::doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wktIn
    - wktOut
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: tut::doMinimumBoundingCircleTest
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Coordinate::setNull
    - tut::doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: void doMinimumBoundingCircleTest(std::string wktIn, std::string wktOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinimumBoundingCircleTest
      Src: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - doMinimumBoundingCircleTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: tut::test_convexhull_data
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_convexhull_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:46,1
    - Dst: std::unique_ptr::convexHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:48,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: tut::checkHull
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::convexHull
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkHull(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp: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: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:143,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:155,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:156,1
    - Dst: Geometry::Ptr::convexHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - ensure
    - Geometry::Ptr::convexHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: tut::test_convexhull_data
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_convexhull_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:46,1
    - Dst: std::unique_ptr::convexHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:48,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: tut::checkHull
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::convexHull
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkHull(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp: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: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:143,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:155,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:156,1
    - Dst: Geometry::Ptr::convexHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - ensure
    - Geometry::Ptr::convexHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/ConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHull
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:38,1
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == geom_)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: tut::test_centroid_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_centroid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: ~test_centroid_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_centroid_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:50,1
    - Dst: geos::algorithm::Centroid::getCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:52,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:55,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - inputWkt
    - expectResult
    - expectedX
    - expectedY
    argTypes:
    - std::string
    - bool
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: tut::checkCentroid
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - read
    - geos::algorithm::Centroid::getCentroid
    linkageType: ''
    returnType: void
    signature: void checkCentroid(std::string inputWkt, bool expectResult, double
      expectedX, double expectedY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - inputWkt
    - expectedX
    - expectedY
    argTypes:
    - std::string
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tut::checkCentroid
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkCentroid
    linkageType: ''
    returnType: void
    signature: void checkCentroid(std::string inputWkt, double expectedX, double expectedY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inputWkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: tut::checkCentroidFails
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkCentroid
    linkageType: ''
    returnType: void
    signature: void checkCentroidFails(std::string inputWkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroidFails
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroidFails
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:38,1
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == geom_)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: tut::test_centroid_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_centroid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: ~test_centroid_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_centroid_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:50,1
    - Dst: geos::algorithm::Centroid::getCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:52,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:55,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - inputWkt
    - expectResult
    - expectedX
    - expectedY
    argTypes:
    - std::string
    - bool
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: tut::checkCentroid
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals
    - read
    - geos::algorithm::Centroid::getCentroid
    linkageType: ''
    returnType: void
    signature: void checkCentroid(std::string inputWkt, bool expectResult, double
      expectedX, double expectedY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - inputWkt
    - expectedX
    - expectedY
    argTypes:
    - std::string
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: tut::checkCentroid
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 3
    functionsReached:
    - tut::checkCentroid
    linkageType: ''
    returnType: void
    signature: void checkCentroid(std::string inputWkt, double expectedX, double expectedY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inputWkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: tut::checkCentroidFails
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkCentroid
    linkageType: ''
    returnType: void
    signature: void checkCentroidFails(std::string inputWkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroidFails
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroidFails
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/algorithm/CentroidTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/CentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:30,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:31,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:32,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:46,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - CoordinateXY
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:30,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:31,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:32,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:46,1
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/TrianglePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - CoordinateXY
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:53,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:55,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:55,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - expected
    - ' pt'
    - ' wkt'
    argTypes:
    - Location
    - Coordinate
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tut::runPtLocator
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 2
    functionsReached:
    - GeomPtr::get
    - geos::algorithm::PointLocator::locate
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void runPtLocator(Location expected, const Coordinate& pt,\n             const
      std::string& wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:63,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:64,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - expected
    - ' pt'
    - ' wkt'
    argTypes:
    - Location
    - Coordinate
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: tut::runSimplePtLocator
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void runSimplePtLocator(Location expected, const Coordinate& pt,\n
      \            const std::string& wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:78,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:88,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:98,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:108,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runSimplePtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:128,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - runSimplePtLocator
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:53,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:55,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:55,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - expected
    - ' pt'
    - ' wkt'
    argTypes:
    - Location
    - Coordinate
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: tut::runPtLocator
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 2
    functionsReached:
    - GeomPtr::get
    - geos::algorithm::PointLocator::locate
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void runPtLocator(Location expected, const Coordinate& pt,\n             const
      std::string& wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:63,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:64,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - expected
    - ' pt'
    - ' wkt'
    argTypes:
    - Location
    - Coordinate
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: tut::runSimplePtLocator
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void runSimplePtLocator(Location expected, const Coordinate& pt,\n
      \            const std::string& wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:78,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:88,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:98,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:108,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runPtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - runPtLocator
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runSimplePtLocator
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:128,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/PointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - runSimplePtLocator
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: tut::test_minimumarearectangle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_minimumarearectangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:36,1
    - Dst: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:38,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tut::checkMinRectangle
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkMinRectangle(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: tut::test_minimumarearectangle_data
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_minimumarearectangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:36,1
    - Dst: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:38,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tut::checkMinRectangle
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkMinRectangle(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/MinimumAreaRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:44,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: tut::test_mic_data
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_mic_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ~test_mic_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - destroyGeometry
    linkageType: ''
    returnType: void
    signature: void ~test_mic_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:58,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - tolerance
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: tut::ensure_equals_coordinate
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_coordinate(const geos::geom::Coordinate &lhs,\n
      \                            const geos::geom::Coordinate &rhs, double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:70,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:71,1
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:72,1
    - Dst: std::unique_ptr::getBoundary
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:73,1
    - Dst: std::unique_ptr::distance
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:74,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:74,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wkt
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getBoundary
    - MaximumInscribedCircle::getCenter
    - std::unique_ptr::distance
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:83,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:84,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:86,1
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:87,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:88,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:89,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:90,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:91,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:97,1
    - Dst: MaximumInscribedCircle::getRadiusPoint
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:98,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - geom
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - Geometry*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - std::unique_ptr::getCoordinateN
    - MaximumInscribedCircle::getRadiusPoint
    - tut::ensure_equals_coordinate
    - MaximumInscribedCircle::getCenter
    - std::unique_ptr::getLength
    - MaximumInscribedCircle::getRadiusLine
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: void checkCircle(const Geometry *geom, double tolerance, double x,
      double y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:105,1
    - Dst: tut::checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:106,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wkt
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - std::string
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkCircle
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wkt, double tolerance, double x, double
      y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:145,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:146,1
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:148,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - std::unique_ptr::get
    - read
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:201,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:203,1
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:204,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:206,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:209,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:211,1
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:212,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - MaximumInscribedCircle::getCenter
    - geos::ignore_unused_variable_warning
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:44,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: tut::test_mic_data
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_mic_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ~test_mic_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - destroyGeometry
    linkageType: ''
    returnType: void
    signature: void ~test_mic_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:58,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - tolerance
    argTypes:
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: tut::ensure_equals_coordinate
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_coordinate(const geos::geom::Coordinate &lhs,\n
      \                            const geos::geom::Coordinate &rhs, double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:70,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:71,1
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:72,1
    - Dst: std::unique_ptr::getBoundary
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:73,1
    - Dst: std::unique_ptr::distance
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:74,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:74,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wkt
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getBoundary
    - MaximumInscribedCircle::getCenter
    - std::unique_ptr::distance
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:83,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:84,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:86,1
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:87,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:88,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:89,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:90,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:91,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:97,1
    - Dst: MaximumInscribedCircle::getRadiusPoint
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:98,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - geom
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - Geometry*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals
    - std::unique_ptr::getCoordinateN
    - MaximumInscribedCircle::getRadiusPoint
    - tut::ensure_equals_coordinate
    - MaximumInscribedCircle::getCenter
    - std::unique_ptr::getLength
    - MaximumInscribedCircle::getRadiusLine
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: void checkCircle(const Geometry *geom, double tolerance, double x,
      double y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:105,1
    - Dst: tut::checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:106,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wkt
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - std::string
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 2
    functionsReached:
    - tut::checkCircle
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wkt, double tolerance, double x, double
      y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:145,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:146,1
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:148,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - std::unique_ptr::get
    - read
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:201,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:203,1
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:204,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:206,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:209,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:211,1
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:212,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - MaximumInscribedCircle::getCenter
    - geos::ignore_unused_variable_warning
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:40,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxRadius
    - expected
    argTypes:
    - std::string
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: tut::checkRadiusWithin
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    - tut::ensure_equals
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkRadiusWithin(const std::string& wkt, double maxRadius, bool
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:60,1
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkRadiusWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:72,1
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkRadiusWithin
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:40,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxRadius
    - expected
    argTypes:
    - std::string
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: tut::checkRadiusWithin
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    - tut::ensure_equals
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkRadiusWithin(const std::string& wkt, double maxRadius, bool
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:60,1
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkRadiusWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:72,1
    - Dst: checkRadiusWithin
      Src: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/MaxInscribedCircleRadiusWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkRadiusWithin
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:32,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tut::test_data_LargestEmptyCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_data_LargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: ~test_data_LargestEmptyCircle()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_data_LargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - tolerance
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::ensure_equals_coordinate
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_coordinate(const Coordinate &lhs,\n                             const
      Coordinate &rhs, double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:57,1
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:58,1
    - Dst: std::unique_ptr::distance
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:59,1
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:61,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:62,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:63,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wktObstacles
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - read
    - LargestEmptyCircle::getCenter
    - std::unique_ptr::getLength
    - std::unique_ptr::distance
    - std::abs
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wktObstacles, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:71,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:72,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:74,1
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:75,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:76,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:77,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:78,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:79,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:85,1
    - Dst: LargestEmptyCircle::getRadiusPoint
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:86,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - obstacles
    - boundary
    - build_tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - Geometry*
    - Geometry*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals
    - std::unique_ptr::getCoordinateN
    - LargestEmptyCircle::getCenter
    - LargestEmptyCircle::getRadiusPoint
    - tut::ensure_equals_coordinate
    - std::unique_ptr::getLength
    - std::unique_ptr::getCoordinate
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: void
    signature: void checkCircle(const Geometry *obstacles, const Geometry *boundary,
      double build_tolerance, double x, double y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:94,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:95,1
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:96,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:97,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:98,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:100,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:101,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:103,1
    - Dst: LargestEmptyCircle::getRadiusPoint
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:104,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: tut::checkCircleZeroRadius
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - std::unique_ptr::getCoordinateN
    - LargestEmptyCircle::getCenter
    - LargestEmptyCircle::getRadiusPoint
    - tut::ensure_equals_coordinate
    - std::unique_ptr::getLength
    - std::unique_ptr::getCoordinate
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: void
    signature: void checkCircleZeroRadius(const Geometry *geom, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:111,1
    - Dst: tut::checkCircleZeroRadius
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:112,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wkt
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: tut::checkCircleZeroRadius
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - tut::checkCircleZeroRadius
    - read
    linkageType: ''
    returnType: void
    signature: void checkCircleZeroRadius(std::string wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:118,1
    - Dst: tut::checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:119,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wkt
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - std::string
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 3
    functionsReached:
    - tut::checkCircle
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wkt, double tolerance, double x, double
      y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:126,1
    - Dst: tut::checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:127,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:127,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wktObstacles
    - wktBoundary
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - std::string
    - std::string
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 4
    functionsReached:
    - tut::checkCircle
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wktObstacles, std::string wktBoundary,
      double tolerance, double x, double y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircleZeroRadius
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircleZeroRadius
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircleZeroRadius
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircleZeroRadius
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:32,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tut::test_data_LargestEmptyCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_data_LargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: ~test_data_LargestEmptyCircle()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_data_LargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - tolerance
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::ensure_equals_coordinate
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals_coordinate(const Coordinate &lhs,\n                             const
      Coordinate &rhs, double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:57,1
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:58,1
    - Dst: std::unique_ptr::distance
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:59,1
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:61,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:62,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:63,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wktObstacles
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - read
    - LargestEmptyCircle::getCenter
    - std::unique_ptr::getLength
    - std::unique_ptr::distance
    - std::abs
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wktObstacles, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:71,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:72,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:74,1
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:75,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:76,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:77,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:78,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:79,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:85,1
    - Dst: LargestEmptyCircle::getRadiusPoint
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:86,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - obstacles
    - boundary
    - build_tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - Geometry*
    - Geometry*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals
    - std::unique_ptr::getCoordinateN
    - LargestEmptyCircle::getCenter
    - LargestEmptyCircle::getRadiusPoint
    - tut::ensure_equals_coordinate
    - std::unique_ptr::getLength
    - std::unique_ptr::getCoordinate
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: void
    signature: void checkCircle(const Geometry *obstacles, const Geometry *boundary,
      double build_tolerance, double x, double y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:94,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:95,1
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:96,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:97,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:98,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:100,1
    - Dst: std::unique_ptr::getCoordinateN
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:101,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:103,1
    - Dst: LargestEmptyCircle::getRadiusPoint
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:104,1
    - Dst: tut::ensure_equals_coordinate
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: tut::checkCircleZeroRadius
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals
    - std::unique_ptr::getCoordinateN
    - LargestEmptyCircle::getCenter
    - LargestEmptyCircle::getRadiusPoint
    - tut::ensure_equals_coordinate
    - std::unique_ptr::getLength
    - std::unique_ptr::getCoordinate
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: void
    signature: void checkCircleZeroRadius(const Geometry *geom, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:111,1
    - Dst: tut::checkCircleZeroRadius
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:112,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wkt
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: tut::checkCircleZeroRadius
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - tut::checkCircleZeroRadius
    - read
    linkageType: ''
    returnType: void
    signature: void checkCircleZeroRadius(std::string wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:118,1
    - Dst: tut::checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:119,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wkt
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - std::string
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 5
    functionsReached:
    - tut::checkCircle
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wkt, double tolerance, double x, double
      y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:126,1
    - Dst: tut::checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:127,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:127,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - wktObstacles
    - wktBoundary
    - tolerance
    - x
    - y
    - expectedRadius
    argTypes:
    - std::string
    - std::string
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: tut::checkCircle
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 6
    functionsReached:
    - tut::checkCircle
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkCircle(std::string wktObstacles, std::string wktBoundary,
      double tolerance, double x, double y, double expectedRadius)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircleZeroRadius
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircleZeroRadius
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircleZeroRadius
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircleZeroRadius
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircle
      Src: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/algorithm/construct/LargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircle
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: tut::test_isccw_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_isccw_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: ~test_isccw_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_isccw_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:45,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:46,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expectedCCW
    - ' wkt'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: tut::checkCCW
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getExteriorRing
    - tut::ensure
    - geos::algorithm::Orientation::isCCW
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkCCW(bool expectedCCW, const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:55,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:56,1
    - Dst: geos::algorithm::Orientation::isCCWArea
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:57,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expectedCCWArea
    - ' wkt'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: tut::checkCCWArea
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getExteriorRing
    - tut::ensure
    - read
    - tut::ensure_equals
    - geos::algorithm::Orientation::isCCWArea
    linkageType: ''
    returnType: void
    signature: void checkCCWArea(bool expectedCCWArea, const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:64,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:65,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:66,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expectedCCW
    - ' wkt'
    argTypes:
    - bool
    - std::istringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: tut::checkHexOrientationCCW
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - tut::ensure_equals
    - GeometryPtr::getCoordinates
    - readHEX
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkHexOrientationCCW(bool expectedCCW, std::istringstream& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOrientationCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOrientationCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOrientationCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOrientationCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:144,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: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: tut::test_isccw_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_isccw_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: ~test_isccw_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_isccw_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:45,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:46,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expectedCCW
    - ' wkt'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: tut::checkCCW
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getExteriorRing
    - tut::ensure
    - geos::algorithm::Orientation::isCCW
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkCCW(bool expectedCCW, const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:55,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:56,1
    - Dst: geos::algorithm::Orientation::isCCWArea
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:57,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expectedCCWArea
    - ' wkt'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: tut::checkCCWArea
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getExteriorRing
    - tut::ensure
    - read
    - tut::ensure_equals
    - geos::algorithm::Orientation::isCCWArea
    linkageType: ''
    returnType: void
    signature: void checkCCWArea(bool expectedCCWArea, const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:64,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:65,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:66,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expectedCCW
    - ' wkt'
    argTypes:
    - bool
    - std::istringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: tut::checkHexOrientationCCW
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - tut::ensure_equals
    - GeometryPtr::getCoordinates
    - readHEX
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkHexOrientationCCW(bool expectedCCW, std::istringstream& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOrientationCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOrientationCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHexOrientationCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkHexOrientationCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:144,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: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCCW
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/OrientationIsCCWTest.cpp
    functionUses: 0
    functionsReached:
    - checkCCW
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == cs_)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: tut::test_signedarea_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void test_signedarea_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ~test_signedarea_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_signedarea_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:60,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:62,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:63,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryPtr::getCoordinates
    - ensure_equals
    - get
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:75,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:77,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:78,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryPtr::getCoordinates
    - ensure_equals
    - get
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:90,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:92,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:93,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryPtr::getCoordinates
    - ensure_equals
    - get
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == cs_)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: tut::test_signedarea_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void test_signedarea_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ~test_signedarea_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_signedarea_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:60,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:62,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:63,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryPtr::getCoordinates
    - ensure_equals
    - get
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:75,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:77,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:78,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryPtr::getCoordinates
    - ensure_equals
    - get
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:90,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:92,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:93,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/signedAreaTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryPtr::getCoordinates
    - ensure_equals
    - get
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == cs_)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tut::test_ispointinring_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void test_ispointinring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: ~test_ispointinring_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_ispointinring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:57,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:61,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:62,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - get
    - GeomPtr::getCoordinates
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:76,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:80,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:81,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - get
    - GeomPtr::getCoordinates
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == cs_)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tut::test_ispointinring_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void test_ispointinring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: ~test_ispointinring_data()
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_ispointinring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:57,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:61,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:62,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - get
    - GeomPtr::getCoordinates
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:76,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:80,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:81,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/isPointInRingTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - get
    - GeomPtr::getCoordinates
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: tut::test_computeorientation_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_computeorientation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:48,1
    - Dst: Geometry::Ptr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:50,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - CoordinateSequence::Ptr::getAt
    - geos::algorithm::Orientation::index
    - ensure_equals
    - Geometry::Ptr::getCoordinates
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:70,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:71,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:72,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:73,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:75,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:76,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:96,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:108,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:109,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:110,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp: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: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: tut::test_computeorientation_data
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_computeorientation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:48,1
    - Dst: Geometry::Ptr::getCoordinates
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:50,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:52,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:53,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: CoordinateSequence::Ptr::getAt
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - CoordinateSequence::Ptr::getAt
    - geos::algorithm::Orientation::index
    - ensure_equals
    - Geometry::Ptr::getCoordinates
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:70,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:71,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:72,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:73,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:75,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:76,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:96,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:108,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:109,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp:110,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp: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: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/CGAlgorithms/computeOrientationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:43,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tut::test_DiscreteHausdorffDistance_data
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_DiscreteHausdorffDistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:53,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:54,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:56,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:57,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - tut::ensure
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:67,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:69,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:71,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - densifyFactor
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - tut::ensure
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      densifyFactor, double expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:100,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:105,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:114,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 129
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:161,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:178,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:179,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:181,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - ensure
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:194,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:200,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::feclearexcept
    - ensure
    - runTest
    - std::fetestexcept
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:210,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:211,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:212,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:214,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:214,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:43,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tut::test_DiscreteHausdorffDistance_data
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_DiscreteHausdorffDistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:53,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:54,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:56,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:57,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - tut::ensure
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:67,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:69,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:71,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - densifyFactor
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - tut::ensure
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      densifyFactor, double expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:100,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:105,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:114,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 129
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:161,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:178,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:179,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:181,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - ensure
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:194,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:200,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::feclearexcept
    - ensure
    - runTest
    - std::fetestexcept
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:210,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:211,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:212,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:214,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:214,1
    - Dst: geos::algorithm::distance::DiscreteHausdorffDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - read
    - geos::algorithm::distance::DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:42,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tut::test_DiscreteFrechetDistance_data
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_DiscreteFrechetDistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:53,1
    - Dst: geos::algorithm::distance::DiscreteFrechetDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:55,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:56,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - geos::algorithm::distance::DiscreteFrechetDistance::distance
    - read
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:66,1
    - Dst: geos::algorithm::distance::DiscreteFrechetDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:68,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - densifyFactor
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - geos::algorithm::distance::DiscreteFrechetDistance::distance
    - read
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      densifyFactor, double expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:99,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:103,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:107,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:112,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:116,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:121,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:157,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:176,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:177,1
    - Dst: geos::algorithm::distance::DiscreteFrechetDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:180,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - geos::algorithm::distance::DiscreteFrechetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:42,1
    - Dst: get
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: tut::test_DiscreteFrechetDistance_data
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_DiscreteFrechetDistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:53,1
    - Dst: geos::algorithm::distance::DiscreteFrechetDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:55,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:56,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - geos::algorithm::distance::DiscreteFrechetDistance::distance
    - read
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:66,1
    - Dst: geos::algorithm::distance::DiscreteFrechetDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:68,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - densifyFactor
    - expectedDistance
    argTypes:
    - std::string
    - std::string
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - geos::algorithm::distance::DiscreteFrechetDistance::distance
    - read
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: "void runTest(const std::string& wkt1, const std::string& wkt2,\n            double
      densifyFactor, double expectedDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:99,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:103,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:107,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:112,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:116,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:121,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:157,1
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:176,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:177,1
    - Dst: geos::algorithm::distance::DiscreteFrechetDistance::distance
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:180,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/distance/DiscreteFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - geos::algorithm::distance::DiscreteFrechetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tut::test_concavehull_data
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_concavehull_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:38,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:40,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::checkHullByLengthRatio
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkHullByLengthRatio(const std::string& wkt, double threshold,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:47,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:48,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:49,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: tut::checkHullByLengthRatioXYZ
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkHullByLengthRatioXYZ(const std::string& wkt, double threshold,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:56,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:58,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: tut::checkHullByLength
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    - read
    linkageType: ''
    returnType: void
    signature: void checkHullByLength(const std::string& wkt, double threshold, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:65,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:67,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:70,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:70,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: tut::checkHullWithHolesByLength
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    - read
    linkageType: ''
    returnType: void
    signature: void checkHullWithHolesByLength(const std::string& wkt, double threshold,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:76,1
    - Dst: geos::algorithm::hull::ConcaveHull::alphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:77,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:77,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:78,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - alpha
    - isHolesAllowed
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: tut::checkAlphaShape
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHull::alphaShape
    linkageType: ''
    returnType: void
    signature: void checkAlphaShape(const std::string& wkt, double alpha, bool isHolesAllowed,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - alpha
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: tut::checkAlphaShape
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void checkAlphaShape(const std::string& wkt, double alpha, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullWithHolesByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullWithHolesByLength
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullWithHolesByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullWithHolesByLength
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: tut::test_concavehull_data
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_concavehull_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:38,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:40,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::checkHullByLengthRatio
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkHullByLengthRatio(const std::string& wkt, double threshold,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:47,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:48,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:49,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: tut::checkHullByLengthRatioXYZ
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkHullByLengthRatioXYZ(const std::string& wkt, double threshold,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:56,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:58,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: tut::checkHullByLength
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    - read
    linkageType: ''
    returnType: void
    signature: void checkHullByLength(const std::string& wkt, double threshold, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:65,1
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:67,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:70,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:70,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - threshold
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: tut::checkHullWithHolesByLength
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    - read
    linkageType: ''
    returnType: void
    signature: void checkHullWithHolesByLength(const std::string& wkt, double threshold,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:76,1
    - Dst: geos::algorithm::hull::ConcaveHull::alphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:77,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:77,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:78,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - alpha
    - isHolesAllowed
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: tut::checkAlphaShape
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHull::alphaShape
    linkageType: ''
    returnType: void
    signature: void checkAlphaShape(const std::string& wkt, double alpha, bool isHolesAllowed,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - alpha
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: tut::checkAlphaShape
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 2
    functionsReached:
    - tut::checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void checkAlphaShape(const std::string& wkt, double alpha, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullWithHolesByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullWithHolesByLength
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullWithHolesByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullWithHolesByLength
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLength
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAlphaShape
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkAlphaShape
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLengthRatio
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_concavehullofpolygons_data
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_concavehullofpolygons_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:33,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:34,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:35,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxLen
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: tut::checkHull
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: void
    signature: void checkHull(const std::string& wkt, double maxLen, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:42,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:43,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:44,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - lenRatio
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: tut::checkHullByLenRatio
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkHullByLenRatio(const std::string& wkt, double lenRatio, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:51,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:53,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxLen
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tut::checkHullTight
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: void
    signature: void checkHullTight(const std::string& wkt, double maxLen, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:60,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:62,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxLen
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tut::checkHullWithHoles
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: void
    signature: void checkHullWithHoles(const std::string& wkt, double maxLen, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:98,1
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    - checkHull
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:113,1
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    - checkHull
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:128,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:129,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp: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: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:157,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:158,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:160,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:162,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:165,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:166,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:168,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    - checkHullByLenRatio
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:182,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:183,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:185,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:187,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullWithHoles
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLenRatio
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLenRatio
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_concavehullofpolygons_data
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_concavehullofpolygons_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:33,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:34,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:35,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxLen
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: tut::checkHull
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: void
    signature: void checkHull(const std::string& wkt, double maxLen, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:42,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:43,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:44,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - lenRatio
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: tut::checkHullByLenRatio
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkHullByLenRatio(const std::string& wkt, double lenRatio, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:51,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:53,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxLen
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tut::checkHullTight
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: void
    signature: void checkHullTight(const std::string& wkt, double maxLen, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:60,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:62,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - maxLen
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tut::checkHullWithHoles
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: void
    signature: void checkHullWithHoles(const std::string& wkt, double maxLen, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:98,1
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    - checkHull
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:113,1
    - Dst: checkHull
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    - checkHull
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:128,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:129,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp: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: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:157,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:158,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:160,1
    - Dst: checkHullTight
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:162,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:165,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:166,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:168,1
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullTight
    - checkHullByLenRatio
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:182,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:183,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:185,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:187,1
    - Dst: checkHullWithHoles
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullWithHoles
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLenRatio
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByLenRatio
      Src: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/algorithm/hull/ConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByLenRatio
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:19,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - g
    - ' pt'
    - loc
    argTypes:
    - geos::geom::Geometry
    - geos::geom::CoordinateXY
    - geos::geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: tut::checkLocation
    functionSourceFile: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkLocation(const geos::geom::Geometry&g,\n                              const
      geos::geom::CoordinateXY& pt,\n                              geos::geom::Location
      loc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:33,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:35,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:36,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:37,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:38,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:19,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - g
    - ' pt'
    - loc
    argTypes:
    - geos::geom::Geometry
    - geos::geom::CoordinateXY
    - geos::geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: tut::checkLocation
    functionSourceFile: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkLocation(const geos::geom::Geometry&g,\n                              const
      geos::geom::CoordinateXY& pt,\n                              geos::geom::Location
      loc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:33,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:35,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:36,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:37,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:38,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/algorithm/locate/SimplePointInAreaLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:38,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:39,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:40,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:41,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:42,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:43,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:44,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:51,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:52,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:53,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:53,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:56,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:57,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:58,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:61,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:62,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:63,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:63,1
    - Dst: geos::io::createXYM
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:66,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:67,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:68,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:71,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:72,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:73,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:73,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:76,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:77,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:78,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:81,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:82,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:83,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 84
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - IndexedPointInAreaLocator::locate
    - geos::io::createXYM
    - ensure_equals
    - tut::checkHullByLengthRatioXYZ
    - createLineString
    - geos::io::createXYZM
    - CoordinateSequence::clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:38,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:39,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:40,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:41,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:42,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:43,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:44,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:51,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:52,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:53,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:53,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:56,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:57,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:58,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:61,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:62,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:63,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:63,1
    - Dst: geos::io::createXYM
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:66,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:67,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:68,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:71,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:72,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:73,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:73,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:76,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:77,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:78,1
    - Dst: CoordinateSequence::clone
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:81,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:82,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:83,1
    - Dst: IndexedPointInAreaLocator::locate
      Src: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 84
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/algorithm/locate/IndexedPointInAreaLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - IndexedPointInAreaLocator::locate
    - geos::io::createXYM
    - ensure_equals
    - tut::checkHullByLengthRatioXYZ
    - createLineString
    - geos::io::createXYZM
    - CoordinateSequence::clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tut::test_linedissolver_data
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linedissolver_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:27,1
    - Dst: tut::checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - ' wkt_expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: tut::checkDissolve
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - tut::checkDissolve
    linkageType: ''
    returnType: void
    signature: void checkDissolve(const std::string& wkt, const std::string& wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:37,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:38,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:40,1
    - Dst: tut::checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' wkt_vec'
    - ' wkt_expected'
    argTypes:
    - std::vector<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: tut::checkDissolve
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::checkDissolve
    - std::unique_ptr::release
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void checkDissolve(std::vector<std::string>& wkt_vec, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineDissolver::add
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:49,1
    - Dst: LineDissolver::getResult
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' geoms'
    - geom_expected
    argTypes:
    - std::vector<const Geometry*>
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tut::checkDissolve
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals_geometry
    - LineDissolver::getResult
    - std::unique_ptr::get
    - LineDissolver::add
    linkageType: ''
    returnType: void
    signature: "void checkDissolve(\n        std::vector<const Geometry*>& geoms,\n
      \       const Geometry* geom_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tut::test_linedissolver_data
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linedissolver_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:27,1
    - Dst: tut::checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - ' wkt_expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: tut::checkDissolve
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - tut::checkDissolve
    linkageType: ''
    returnType: void
    signature: void checkDissolve(const std::string& wkt, const std::string& wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:37,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:38,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:40,1
    - Dst: tut::checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' wkt_vec'
    - ' wkt_expected'
    argTypes:
    - std::vector<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: tut::checkDissolve
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::checkDissolve
    - std::unique_ptr::release
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void checkDissolve(std::vector<std::string>& wkt_vec, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineDissolver::add
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:49,1
    - Dst: LineDissolver::getResult
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' geoms'
    - geom_expected
    argTypes:
    - std::vector<const Geometry*>
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tut::checkDissolve
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - LineDissolver::getResult
    - std::unique_ptr::get
    - LineDissolver::add
    linkageType: ''
    returnType: void
    signature: "void checkDissolve(\n        std::vector<const Geometry*>& geoms,\n
      \       const Geometry* geom_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDissolve
      Src: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/dissolve/LineDissolverTest.cpp
    functionUses: 0
    functionsReached:
    - checkDissolve
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' graph'
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: tut::addEdge
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 1
    functionsReached:
    - tut::addEdge
    - Coordinate
    - CoordinateXYZM
    linkageType: ''
    returnType: HalfEdge
    signature: HalfEdge * addEdge(EdgeGraph& graph, double p0x, double p0y, double
      p1x, double p1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:24,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:25,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:25,1
    - Dst: geos::edgegraph::EdgeGraphBuilder::build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:26,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: tut::build
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - tut::ensure
    - read
    - geos::edgegraph::EdgeGraphBuilder::build
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> build(std::string wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::isEdgesSorted
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:30,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: tut::checkNodeValid
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::isEdgesSorted
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkNodeValid(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:35,1
    - Dst: HalfEdge*::isEdgesSorted
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' graph'
    - ' p0'
    - ' p1'
    argTypes:
    - EdgeGraph
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: tut::checkNodeValid
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::isEdgesSorted
    - tut::ensure
    - tut::findEdge
    linkageType: ''
    returnType: void
    signature: void checkNodeValid(EdgeGraph& graph, Coordinate& p0, Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:41,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' graph'
    - ' p0'
    - ' p1'
    argTypes:
    - EdgeGraph
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tut::checkEdge
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    linkageType: ''
    returnType: void
    signature: void checkEdge(EdgeGraph& graph, Coordinate& p0, Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:46,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:50,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:50,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' graph'
    - ' p'
    - ' dest'
    argTypes:
    - EdgeGraph
    - Coordinate
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: tut::checkEdgeRing
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    - HalfEdge*::oNext
    - HalfEdge*::dest
    linkageType: ''
    returnType: void
    signature: void checkEdgeRing(EdgeGraph& graph, Coordinate& p, std::vector<Coordinate>&
      dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVertexEdges
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:57,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:59,1
    - Dst: next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - EdgeGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tut::checkNextPrev
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - getVertexEdges
    - next
    linkageType: ''
    returnType: void
    signature: void checkNextPrev(EdgeGraph& graph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' graph'
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: tut::findEdge
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 4
    functionsReached:
    - tut::findEdge
    - Coordinate
    linkageType: ''
    returnType: HalfEdge
    signature: HalfEdge * findEdge(EdgeGraph& graph, double x1, double y1, double
      x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:68,1
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:69,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:70,1
    - Dst: HalfEdge*::next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:71,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' graph'
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: tut::checkNext
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    - HalfEdge*::prev
    - HalfEdge*::next
    linkageType: ''
    returnType: void
    signature: void checkNext(EdgeGraph& graph, double x1, double y1, double x2, double
      y2, double x3, double y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:75,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:76,1
    - Dst: HalfEdge*::next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' graph'
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tut::checkNextPrev
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    - HalfEdge*::next
    linkageType: ''
    returnType: void
    signature: void checkNextPrev(EdgeGraph& graph, double x1, double y1, double x2,
      double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:93,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:94,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:94,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:94,1
    - Dst: checkEdgeRing
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:98,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:99,1
    - Dst: checkEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:100,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:102,1
    - Dst: checkNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:104,1
    - Dst: checkNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:105,1
    - Dst: checkNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:106,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:108,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:109,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:112,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdgeRing
    - build
    - checkEdge
    - checkNodeValid
    - ensure
    - checkNext
    - Coordinate
    - findEdge
    - checkNextPrev
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:123,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:124,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:125,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:137,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:138,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:139,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:150,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:151,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:153,1
    - Dst: HalfEdge*::next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:153,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:154,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:154,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:157,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:158,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:158,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:159,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:159,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:159,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::dest
    - HalfEdge*::prev
    - HalfEdge*::next
    - build
    - HalfEdge*::sym
    - ensure
    - Coordinate
    - HalfEdge*::orig
    - findEdge
    - checkNextPrev
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:169,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNextPrev
    - build
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' graph'
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: tut::addEdge
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 2
    functionsReached:
    - tut::addEdge
    - Coordinate
    - CoordinateXYZM
    linkageType: ''
    returnType: HalfEdge
    signature: HalfEdge * addEdge(EdgeGraph& graph, double p0x, double p0y, double
      p1x, double p1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:24,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:25,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:25,1
    - Dst: geos::edgegraph::EdgeGraphBuilder::build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:26,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: tut::build
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - tut::ensure
    - read
    - geos::edgegraph::EdgeGraphBuilder::build
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> build(std::string wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::isEdgesSorted
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:30,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: tut::checkNodeValid
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::isEdgesSorted
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkNodeValid(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:35,1
    - Dst: HalfEdge*::isEdgesSorted
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' graph'
    - ' p0'
    - ' p1'
    argTypes:
    - EdgeGraph
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: tut::checkNodeValid
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::isEdgesSorted
    - tut::ensure
    - tut::findEdge
    linkageType: ''
    returnType: void
    signature: void checkNodeValid(EdgeGraph& graph, Coordinate& p0, Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:41,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' graph'
    - ' p0'
    - ' p1'
    argTypes:
    - EdgeGraph
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tut::checkEdge
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    linkageType: ''
    returnType: void
    signature: void checkEdge(EdgeGraph& graph, Coordinate& p0, Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:46,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:50,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:50,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' graph'
    - ' p'
    - ' dest'
    argTypes:
    - EdgeGraph
    - Coordinate
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: tut::checkEdgeRing
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    - HalfEdge*::oNext
    - HalfEdge*::dest
    linkageType: ''
    returnType: void
    signature: void checkEdgeRing(EdgeGraph& graph, Coordinate& p, std::vector<Coordinate>&
      dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVertexEdges
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:57,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:59,1
    - Dst: next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' graph'
    argTypes:
    - EdgeGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tut::checkNextPrev
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - getVertexEdges
    - next
    linkageType: ''
    returnType: void
    signature: void checkNextPrev(EdgeGraph& graph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' graph'
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: tut::findEdge
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 10
    functionsReached:
    - tut::findEdge
    - Coordinate
    linkageType: ''
    returnType: HalfEdge
    signature: HalfEdge * findEdge(EdgeGraph& graph, double x1, double y1, double
      x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:68,1
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:69,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:70,1
    - Dst: HalfEdge*::next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:71,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ' graph'
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: tut::checkNext
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    - HalfEdge*::prev
    - HalfEdge*::next
    linkageType: ''
    returnType: void
    signature: void checkNext(EdgeGraph& graph, double x1, double y1, double x2, double
      y2, double x3, double y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:75,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:76,1
    - Dst: HalfEdge*::next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' graph'
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - EdgeGraph
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tut::checkNextPrev
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::findEdge
    - HalfEdge*::next
    linkageType: ''
    returnType: void
    signature: void checkNextPrev(EdgeGraph& graph, double x1, double y1, double x2,
      double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:93,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:94,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:94,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:94,1
    - Dst: checkEdgeRing
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:98,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:99,1
    - Dst: checkEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:100,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:102,1
    - Dst: checkNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:104,1
    - Dst: checkNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:105,1
    - Dst: checkNext
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:106,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:108,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:109,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:112,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdgeRing
    - build
    - checkEdge
    - checkNodeValid
    - ensure
    - checkNext
    - Coordinate
    - findEdge
    - checkNextPrev
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:123,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:124,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:125,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:137,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:138,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:139,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:150,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:151,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:153,1
    - Dst: HalfEdge*::next
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:153,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:154,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:154,1
    - Dst: findEdge
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:157,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:158,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:158,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:159,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:159,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:159,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::dest
    - HalfEdge*::prev
    - HalfEdge*::next
    - build
    - HalfEdge*::sym
    - ensure
    - Coordinate
    - HalfEdge*::orig
    - findEdge
    - checkNextPrev
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:169,1
    - Dst: checkNextPrev
      Src: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/edgegraph/EdgeGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNextPrev
    - build
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:30,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - Geometry
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void printResult(const Geometry& actual, const Geometry& expected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:39,1
    - Dst: tut::toCoverage
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:40,1
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:41,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:45,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:45,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:45,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:46,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:46,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:46,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:48,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:49,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:55,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:58,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:59,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:64,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wkt_geoms
    - wkt_expected
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::readList
    - tut::toCoverage
    - tut::ensure_equals
    - std::ostringstream::str
    - get
    - geos::coverage::CoverageValidator::validate
    - Geometry*::toString
    - std::vector::size
    - tut::fail
    linkageType: ''
    returnType: void
    signature: "void checkInvalid(const std::vector<std::string> &wkt_geoms,\n                 const
      std::vector<std::string> &wkt_expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:74,1
    - Dst: tut::toCoverage
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:75,1
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:76,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:78,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:80,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:80,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:80,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:81,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:81,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:81,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:83,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:84,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:85,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:90,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:93,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:94,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:99,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - wkt_geoms
    - gapWidth
    - wkt_expected
    argTypes:
    - std::vector<std::string>
    - double
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 102
    functionName: tut::checkInvalidWithGaps
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::readList
    - tut::toCoverage
    - tut::ensure_equals
    - std::ostringstream::str
    - get
    - geos::coverage::CoverageValidator::validate
    - Geometry*::toString
    - std::vector::size
    - tut::fail
    linkageType: ''
    returnType: void
    signature: "void checkInvalidWithGaps(const std::vector<std::string> &wkt_geoms,\n
      \                        double gapWidth,\n                         const std::vector<std::string>
      &wkt_expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:109,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:110,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:113,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:118,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:118,1
    - Dst: geos::coverage::CoverageValidator::isValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:121,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - wkt_geoms
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: tut::checkValid
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - size
    - read
    - get
    - geos::coverage::CoverageValidator::isValid
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkValid(const std::vector<std::string> &wkt_geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:130,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:134,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wkt_geoms
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: tut::readList
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - size
    - read
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> readList(const std::vector<std::string>
      &wkt_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:145,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: tut::toCoverage
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - get
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toCoverage(std::vector<std::unique_ptr<Geometry>>
      &geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidWithGaps
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidWithGaps
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidWithGaps
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidWithGaps
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidWithGaps
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidWithGaps
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:30,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - Geometry
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void printResult(const Geometry& actual, const Geometry& expected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:39,1
    - Dst: tut::toCoverage
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:40,1
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:41,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:45,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:45,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:45,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:46,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:46,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:46,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:48,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:49,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:55,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:58,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:59,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:64,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wkt_geoms
    - wkt_expected
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::readList
    - tut::toCoverage
    - tut::ensure_equals
    - std::ostringstream::str
    - get
    - geos::coverage::CoverageValidator::validate
    - Geometry*::toString
    - std::vector::size
    - tut::fail
    linkageType: ''
    returnType: void
    signature: "void checkInvalid(const std::vector<std::string> &wkt_geoms,\n                 const
      std::vector<std::string> &wkt_expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:74,1
    - Dst: tut::toCoverage
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:75,1
    - Dst: tut::readList
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:76,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:78,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:80,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:80,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:80,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:81,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:81,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:81,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:83,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:84,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:85,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:90,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:93,1
    - Dst: Geometry*::toString
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:94,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:99,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - wkt_geoms
    - gapWidth
    - wkt_expected
    argTypes:
    - std::vector<std::string>
    - double
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 102
    functionName: tut::checkInvalidWithGaps
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::readList
    - tut::toCoverage
    - tut::ensure_equals
    - std::ostringstream::str
    - get
    - geos::coverage::CoverageValidator::validate
    - Geometry*::toString
    - std::vector::size
    - tut::fail
    linkageType: ''
    returnType: void
    signature: "void checkInvalidWithGaps(const std::vector<std::string> &wkt_geoms,\n
      \                        double gapWidth,\n                         const std::vector<std::string>
      &wkt_expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:109,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:110,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:113,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:113,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:118,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:118,1
    - Dst: geos::coverage::CoverageValidator::isValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:121,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - wkt_geoms
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: tut::checkValid
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - size
    - read
    - get
    - geos::coverage::CoverageValidator::isValid
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkValid(const std::vector<std::string> &wkt_geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:130,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:134,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - wkt_geoms
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: tut::readList
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - size
    - read
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> readList(const std::vector<std::string>
      &wkt_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:145,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: tut::toCoverage
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - get
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toCoverage(std::vector<std::unique_ptr<Geometry>>
      &geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidWithGaps
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidWithGaps
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidWithGaps
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidWithGaps
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidWithGaps
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidWithGaps
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: tut::test_tpvwsimplifier_data
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_tpvwsimplifier_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:32,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:33,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:33,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:34,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: tut::checkNoop
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::coverage::TPVWSimplifier::simplify
    - static_cast<const MultiLineString*>
    linkageType: ''
    returnType: void
    signature: "void checkNoop(\n        const std::string& wkt,\n        double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:44,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:45,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:45,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:46,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: tut::checkSimplify
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::coverage::TPVWSimplifier::simplify
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void checkSimplify(\n        const std::string& wkt,\n        double
      tolerance,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - freeRingIndex
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - std::vector<std::size_t>
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: tut::checkSimplify
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkSimplify
    linkageType: ''
    returnType: void
    signature: "void checkSimplify(\n        const std::string& wkt,\n        const
      std::vector<std::size_t> freeRingIndex,\n        double tolerance,\n        const
      std::string& wktExpected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:68,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:70,1
    - Dst: length
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:75,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:76,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:79,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:79,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:80,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ' wkt'
    - freeRingIndex
    - ' wktConstraints'
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - std::vector<std::size_t>
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 88
    functionName: tut::checkSimplify
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - length
    - geos::coverage::TPVWSimplifier::simplify
    - auto::getNumGeometries
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void checkSimplify(\n        const std::string& wkt,\n        const
      std::vector<std::size_t> freeRingIndex,\n        const std::string& wktConstraints,\n
      \       double tolerance,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: tut::test_tpvwsimplifier_data
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_tpvwsimplifier_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:32,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:33,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:33,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:34,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: tut::checkNoop
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::coverage::TPVWSimplifier::simplify
    - static_cast<const MultiLineString*>
    linkageType: ''
    returnType: void
    signature: "void checkNoop(\n        const std::string& wkt,\n        double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:44,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:45,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:45,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:46,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: tut::checkSimplify
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::coverage::TPVWSimplifier::simplify
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void checkSimplify(\n        const std::string& wkt,\n        double
      tolerance,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - freeRingIndex
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - std::vector<std::size_t>
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: tut::checkSimplify
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 2
    functionsReached:
    - tut::checkSimplify
    linkageType: ''
    returnType: void
    signature: "void checkSimplify(\n        const std::string& wkt,\n        const
      std::vector<std::size_t> freeRingIndex,\n        double tolerance,\n        const
      std::string& wktExpected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:68,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:70,1
    - Dst: length
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:75,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:76,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:79,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:79,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:80,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ' wkt'
    - freeRingIndex
    - ' wktConstraints'
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - std::vector<std::size_t>
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 88
    functionName: tut::checkSimplify
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - length
    - geos::coverage::TPVWSimplifier::simplify
    - auto::getNumGeometries
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void checkSimplify(\n        const std::string& wkt,\n        const
      std::vector<std::size_t> freeRingIndex,\n        const std::string& wktConstraints,\n
      \       double tolerance,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSimplify
      Src: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/TPVWSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: tut::test_coveragesimplifier_data
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coveragesimplifier_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:30,1
    - Dst: tut::checkArrayEqual
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: tut::checkNoop
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkArrayEqual
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: void
    signature: "void checkNoop(\n        const std::vector<std::unique_ptr<Geometry>>&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:46,1
    - Dst: tut::checkArrayEqual
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - tolerance
    - ' expected'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: tut::checkResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkArrayEqual
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: void
    signature: "void checkResult(\n        const std::vector<std::unique_ptr<Geometry>>&
      input,\n        double tolerance,\n        const std::vector<std::unique_ptr<Geometry>>&
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplifyInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:55,1
    - Dst: tut::checkArrayEqual
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - tolerance
    - ' expected'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: tut::checkResultInner
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkArrayEqual
    - geos::coverage::CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: void
    signature: "void checkResultInner(\n        const std::vector<std::unique_ptr<Geometry>>&
      input,\n        double tolerance,\n        const std::vector<std::unique_ptr<Geometry>>&
      expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:64,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:66,1
    - Dst: std::move
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wkts
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: tut::readArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::move
    - read
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> readArray(std::vector<std::string>
      wkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:77,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:77,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:77,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:78,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:79,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:79,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: tut::checkArrayEqual
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 3
    functionsReached:
    - tut::ensure
    - size
    - tut::ensure_equals_geometry
    - get
    linkageType: ''
    returnType: void
    signature: "void checkArrayEqual(\n        const std::vector<std::unique_ptr<Geometry>>&
      input,\n        const std::vector<std::unique_ptr<Geometry>>& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:97,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:108,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:120,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:131,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:144,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:144,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:159,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:159,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:176,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:176,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:191,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:191,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:208,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:208,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:226,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:226,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:243,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:243,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:256,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:256,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:269,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:270,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:285,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:286,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:299,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:299,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:314,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:314,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:327,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:327,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:342,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:342,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:358,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:358,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:374,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:374,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:387,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:387,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:400,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:400,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 406
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:413,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:413,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:426,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:426,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:441,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:441,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:456,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:456,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 464
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:471,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:476,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:479,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageSimplifier::simplify
    - ensure
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:491,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 503
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageSimplifier::simplify
    - ensure
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: tut::test_coveragesimplifier_data
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coveragesimplifier_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:30,1
    - Dst: tut::checkArrayEqual
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: tut::checkNoop
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkArrayEqual
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: void
    signature: "void checkNoop(\n        const std::vector<std::unique_ptr<Geometry>>&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:46,1
    - Dst: tut::checkArrayEqual
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - tolerance
    - ' expected'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: tut::checkResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkArrayEqual
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: void
    signature: "void checkResult(\n        const std::vector<std::unique_ptr<Geometry>>&
      input,\n        double tolerance,\n        const std::vector<std::unique_ptr<Geometry>>&
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplifyInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:55,1
    - Dst: tut::checkArrayEqual
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - tolerance
    - ' expected'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: tut::checkResultInner
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkArrayEqual
    - geos::coverage::CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: void
    signature: "void checkResultInner(\n        const std::vector<std::unique_ptr<Geometry>>&
      input,\n        double tolerance,\n        const std::vector<std::unique_ptr<Geometry>>&
      expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:64,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:66,1
    - Dst: std::move
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wkts
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: tut::readArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::move
    - read
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> readArray(std::vector<std::string>
      wkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:77,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:77,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:77,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:78,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:79,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:79,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: tut::checkArrayEqual
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 6
    functionsReached:
    - tut::ensure
    - size
    - tut::ensure_equals_geometry
    - get
    linkageType: ''
    returnType: void
    signature: "void checkArrayEqual(\n        const std::vector<std::unique_ptr<Geometry>>&
      input,\n        const std::vector<std::unique_ptr<Geometry>>& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:97,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:108,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:120,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNoop
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:131,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkNoop
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:144,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:144,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:159,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:159,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:176,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:176,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:191,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:191,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:208,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:208,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:226,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:226,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:243,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:243,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:256,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:256,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:269,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:270,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:285,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:286,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:299,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:299,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:314,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:314,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:327,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:327,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:342,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:342,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResultInner
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:358,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:358,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResultInner
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:374,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:374,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:387,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:387,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:400,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:400,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 406
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:413,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:413,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:426,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:426,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:441,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:441,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:456,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:456,1
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 464
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkResult
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:471,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:476,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:479,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageSimplifier::simplify
    - ensure
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readArray
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:491,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 503
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageSimplifier::simplify
    - ensure
    - readArray
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:30,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:30,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:32,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: void printResult(std::unique_ptr<Geometry>& actual, std::unique_ptr<Geometry>&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:39,1
    - Dst: tut::extractPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:40,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:41,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:42,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktTarget'
    - ' wktAdj'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::get
    - read
    - tut::extractPolygons
    linkageType: ''
    returnType: void
    signature: void checkInvalid(const std::string& wktTarget, const std::string&
      wktAdj, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:52,1
    - Dst: tut::extractPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:53,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:55,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wktTarget'
    - ' wktAdj'
    - gapWidth
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: tut::checkInvalidGap
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::get
    - read
    - tut::extractPolygons
    linkageType: ''
    returnType: void
    signature: "void checkInvalidGap(const std::string& wktTarget, const std::string&
      wktAdj,\n        double gapWidth, const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:63,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:64,1
    - Dst: tut::extractPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:65,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:67,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:69,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:69,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktTarget'
    - ' wktAdj'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: tut::checkValid
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::get
    - read
    - tut::extractPolygons
    linkageType: ''
    returnType: void
    signature: void checkValid(const std::string& wktTarget, const std::string& wktAdj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:79,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: tut::extractPolygons
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - geos::geom::util::PolygonExtracter::getPolygons
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> extractPolygons(const std::unique_ptr<Geometry>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidGap
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidGap
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:30,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:30,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:32,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: void printResult(std::unique_ptr<Geometry>& actual, std::unique_ptr<Geometry>&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:39,1
    - Dst: tut::extractPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:40,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:41,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:42,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktTarget'
    - ' wktAdj'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::get
    - read
    - tut::extractPolygons
    linkageType: ''
    returnType: void
    signature: void checkInvalid(const std::string& wktTarget, const std::string&
      wktAdj, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:52,1
    - Dst: tut::extractPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:53,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:55,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wktTarget'
    - ' wktAdj'
    - gapWidth
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: tut::checkInvalidGap
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::get
    - read
    - tut::extractPolygons
    linkageType: ''
    returnType: void
    signature: "void checkInvalidGap(const std::string& wktTarget, const std::string&
      wktAdj,\n        double gapWidth, const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:63,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:64,1
    - Dst: tut::extractPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:65,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:67,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:69,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:69,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wktTarget'
    - ' wktAdj'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: tut::checkValid
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::get
    - read
    - tut::extractPolygons
    linkageType: ''
    returnType: void
    signature: void checkValid(const std::string& wktTarget, const std::string& wktAdj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:76,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:79,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: tut::extractPolygons
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - geos::geom::util::PolygonExtracter::getPolygons
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> extractPolygons(const std::unique_ptr<Geometry>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalidGap
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalidGap
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoveragePolygonValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:28,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:28,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:30,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: void printResult(std::unique_ptr<Geometry>& actual, std::unique_ptr<Geometry>&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:36,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:37,1
    - Dst: geos::coverage::CoverageGapFinder::findGaps
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:39,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktCoverage'
    - gapWidth
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: tut::checkGaps
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::coverage::CoverageGapFinder::findGaps
    linkageType: ''
    returnType: void
    signature: void checkGaps(const std::string& wktCoverage, double gapWidth, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 1
    functionsReached:
    - getNumGeometries
    - std::vector::push_back
    - getGeometryN
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const std::unique_ptr<Geometry>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkGaps
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 0
    functionsReached:
    - checkGaps
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:28,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:28,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:30,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: void printResult(std::unique_ptr<Geometry>& actual, std::unique_ptr<Geometry>&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:36,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:37,1
    - Dst: geos::coverage::CoverageGapFinder::findGaps
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:39,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktCoverage'
    - gapWidth
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: tut::checkGaps
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::coverage::CoverageGapFinder::findGaps
    linkageType: ''
    returnType: void
    signature: void checkGaps(const std::string& wktCoverage, double gapWidth, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 2
    functionsReached:
    - getNumGeometries
    - std::vector::push_back
    - getGeometryN
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const std::unique_ptr<Geometry>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkGaps
      Src: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageGapFinderTest.cpp
    functionUses: 0
    functionsReached:
    - checkGaps
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: tut::test_coverageringedges_data
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coverageringedges_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:33,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:34,1
    - Dst: CoverageRingEdges::getEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:36,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:37,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:38,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: tut::checkEdges
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - CoverageRingEdges::getEdges
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getFactory
    linkageType: ''
    returnType: void
    signature: void checkEdges(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:45,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:46,1
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:48,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:49,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:51,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ringCount
    - ' wktExpected'
    argTypes:
    - std::string
    - std::size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: tut::checkEdgesSelected
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getFactory
    - CoverageRingEdges::selectEdges
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkEdgesSelected(const std::string& wkt, std::size_t ringCount,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:59,1
    - Dst: toLineString
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:59,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:61,1
    - Dst: std::move
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - geomFactory
    argTypes:
    - std::vector<CoverageEdge*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - std::move
    - GeometryFactory*::createMultiLineString
    - toLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> toArray(std::vector<CoverageEdge*>& edges,
      const GeometryFactory* geomFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:69,1
    - Dst: getGeometryN
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 4
    functionsReached:
    - getNumGeometries
    - std::vector::push_back
    - getGeometryN
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:121,1
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdgesSelected
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:133,1
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdgesSelected
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: tut::test_coverageringedges_data
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coverageringedges_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:33,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:34,1
    - Dst: CoverageRingEdges::getEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:36,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:37,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:38,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: tut::checkEdges
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - CoverageRingEdges::getEdges
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getFactory
    linkageType: ''
    returnType: void
    signature: void checkEdges(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:45,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:46,1
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:48,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:49,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:51,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ringCount
    - ' wktExpected'
    argTypes:
    - std::string
    - std::size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: tut::checkEdgesSelected
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getFactory
    - CoverageRingEdges::selectEdges
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkEdgesSelected(const std::string& wkt, std::size_t ringCount,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:59,1
    - Dst: toLineString
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:59,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:61,1
    - Dst: std::move
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - geomFactory
    argTypes:
    - std::vector<CoverageEdge*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - std::move
    - GeometryFactory*::createMultiLineString
    - toLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> toArray(std::vector<CoverageEdge*>& edges,
      const GeometryFactory* geomFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:69,1
    - Dst: getGeometryN
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 6
    functionsReached:
    - getNumGeometries
    - std::vector::push_back
    - getGeometryN
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:121,1
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdgesSelected
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:133,1
    - Dst: checkEdgesSelected
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdgesSelected
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEdges
      Src: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageRingEdgesTest.cpp
    functionUses: 0
    functionsReached:
    - checkEdges
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:32,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:32,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:34,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: "void printResult(\n        const std::unique_ptr<Geometry>& expected,\n
      \       const std::unique_ptr<Geometry>& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:45,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:45,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:49,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: "void printResult(\n        const std::vector<std::unique_ptr<Geometry>>&
      expected,\n        const std::vector<std::unique_ptr<Geometry>>& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:60,1
    - Dst: getGeometryN
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 6
    functionsReached:
    - getNumGeometries
    - std::vector::push_back
    - getGeometryN
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const std::unique_ptr<Geometry>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:70,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cov'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - get
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const std::vector<std::unique_ptr<Geometry>>&
      cov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:78,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:78,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:78,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:79,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: tut::checkEqual
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - size
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkEqual(std::vector<const Geometry*>& expected, std::vector<const
      Geometry*>& actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:89,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:90,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: tut::checkEqual
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 1
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    linkageType: ''
    returnType: void
    signature: "void checkEqual(\n        std::vector<std::unique_ptr<Geometry>>&
      expected,\n        std::vector<std::unique_ptr<Geometry>>& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:97,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:98,1
    - Dst: geos::coverage::CoverageCleaner::cleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:99,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:100,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:101,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:102,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tut::checkClean
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - geos::coverage::CoverageCleaner::cleanGapWidth
    - read
    linkageType: ''
    returnType: void
    signature: void checkClean(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:109,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:110,1
    - Dst: geos::coverage::CoverageCleaner::cleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:111,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:112,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:113,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:114,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - gapWidth
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: tut::checkCleanGapWidth
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - geos::coverage::CoverageCleaner::cleanGapWidth
    - read
    linkageType: ''
    returnType: void
    signature: void checkCleanGapWidth(const std::string& wkt, double gapWidth, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:121,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:122,1
    - Dst: geos::coverage::CoverageCleaner::cleanOverlapGap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:123,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:124,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:125,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:126,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - mergeStrategy
    - ' wktExpected'
    argTypes:
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: tut::checkCleanOverlapMerge
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - geos::coverage::CoverageCleaner::cleanOverlapGap
    - read
    linkageType: ''
    returnType: void
    signature: void checkCleanOverlapMerge(const std::string& wkt, int mergeStrategy,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:136,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:137,1
    - Dst: tut::checkValidCoverage
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:138,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cov
    - snapDist
    - expected
    argTypes:
    - std::vector<const Geometry*>
    - double
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: tut::checkCleanSnapInt
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - tut::checkValidCoverage
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: void
    signature: "void checkCleanSnapInt(\n        std::vector<const Geometry*> cov,\n
      \       double snapDist,\n        std::vector<const Geometry*> expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:147,1
    - Dst: tut::checkValidCoverage
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:148,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cov
    - snapDist
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: tut::checkCleanSnapInt
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkValidCoverage
    - geos::coverage::CoverageCleaner::clean
    - tut::toArray
    linkageType: ''
    returnType: void
    signature: "void checkCleanSnapInt(\n        std::vector<const Geometry*> cov,\n
      \       double snapDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:154,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:155,1
    - Dst: tut::checkCleanSnapInt
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' covStrs'
    - snapDist
    argTypes:
    - std::vector<std::string>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: tut::checkCleanSnap
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkCleanSnapInt
    - tut::readArray
    linkageType: ''
    returnType: void
    signature: void checkCleanSnap(const std::vector<std::string>& covStrs, double
      snapDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:165,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:166,1
    - Dst: tut::readArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:167,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:168,1
    - Dst: tut::checkCleanSnapInt
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' covStrs'
    - snapDist
    - ' expStrs'
    argTypes:
    - std::vector<std::string>
    - double
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: tut::checkCleanSnap
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkCleanSnapInt
    - tut::readArray
    linkageType: ''
    returnType: void
    signature: "void checkCleanSnap(\n        const std::vector<std::string>& covStrs,\n
      \       double snapDist,\n        const std::vector<std::string>& expStrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:176,1
    - Dst: isValid
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:176,1
    - Dst: geos::coverage::CoverageValidator::isValid
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:178,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - coverage
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: tut::checkValidCoverage
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - isValid
    - geos::coverage::CoverageValidator::isValid
    linkageType: ''
    returnType: void
    signature: void checkValidCoverage(std::vector<const Geometry*> coverage, double
      tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:187,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:189,1
    - Dst: std::move
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' wkts'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: tut::readArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - std::move
    - read
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> readArray(const std::vector<std::string>&
      wkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:32,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:32,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:34,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: "void printResult(\n        const std::unique_ptr<Geometry>& expected,\n
      \       const std::unique_ptr<Geometry>& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:45,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:45,1
    - Dst: write
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:49,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: tut::printResult
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - write
    - get
    linkageType: ''
    returnType: void
    signature: "void printResult(\n        const std::vector<std::unique_ptr<Geometry>>&
      expected,\n        const std::vector<std::unique_ptr<Geometry>>& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:60,1
    - Dst: getGeometryN
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 14
    functionsReached:
    - getNumGeometries
    - std::vector::push_back
    - getGeometryN
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const std::unique_ptr<Geometry>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:70,1
    - Dst: get
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cov'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: tut::toArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 14
    functionsReached:
    - std::vector::push_back
    - get
    linkageType: ''
    returnType: std::vector<const Geometry*>
    signature: std::vector<const Geometry*> toArray(const std::vector<std::unique_ptr<Geometry>>&
      cov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:78,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:78,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:78,1
    - Dst: size
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:79,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: tut::checkEqual
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 5
    functionsReached:
    - tut::ensure_equals_geometry
    - size
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkEqual(std::vector<const Geometry*>& expected, std::vector<const
      Geometry*>& actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:89,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:90,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: tut::checkEqual
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 6
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    linkageType: ''
    returnType: void
    signature: "void checkEqual(\n        std::vector<std::unique_ptr<Geometry>>&
      expected,\n        std::vector<std::unique_ptr<Geometry>>& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:97,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:98,1
    - Dst: geos::coverage::CoverageCleaner::cleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:99,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:100,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:101,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:102,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: tut::checkClean
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - geos::coverage::CoverageCleaner::cleanGapWidth
    - read
    linkageType: ''
    returnType: void
    signature: void checkClean(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:109,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:110,1
    - Dst: geos::coverage::CoverageCleaner::cleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:111,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:112,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:113,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:114,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - gapWidth
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: tut::checkCleanGapWidth
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - geos::coverage::CoverageCleaner::cleanGapWidth
    - read
    linkageType: ''
    returnType: void
    signature: void checkCleanGapWidth(const std::string& wkt, double gapWidth, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:121,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:122,1
    - Dst: geos::coverage::CoverageCleaner::cleanOverlapGap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:123,1
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:124,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:125,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:126,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - mergeStrategy
    - ' wktExpected'
    argTypes:
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: tut::checkCleanOverlapMerge
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - geos::coverage::CoverageCleaner::cleanOverlapGap
    - read
    linkageType: ''
    returnType: void
    signature: void checkCleanOverlapMerge(const std::string& wkt, int mergeStrategy,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:136,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:137,1
    - Dst: tut::checkValidCoverage
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:138,1
    - Dst: tut::checkEqual
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cov
    - snapDist
    - expected
    argTypes:
    - std::vector<const Geometry*>
    - double
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: tut::checkCleanSnapInt
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 2
    functionsReached:
    - tut::toArray
    - tut::checkEqual
    - tut::checkValidCoverage
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: void
    signature: "void checkCleanSnapInt(\n        std::vector<const Geometry*> cov,\n
      \       double snapDist,\n        std::vector<const Geometry*> expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:147,1
    - Dst: tut::checkValidCoverage
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:148,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cov
    - snapDist
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: tut::checkCleanSnapInt
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 2
    functionsReached:
    - tut::checkValidCoverage
    - geos::coverage::CoverageCleaner::clean
    - tut::toArray
    linkageType: ''
    returnType: void
    signature: "void checkCleanSnapInt(\n        std::vector<const Geometry*> cov,\n
      \       double snapDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:154,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:155,1
    - Dst: tut::checkCleanSnapInt
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' covStrs'
    - snapDist
    argTypes:
    - std::vector<std::string>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: tut::checkCleanSnap
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkCleanSnapInt
    - tut::readArray
    linkageType: ''
    returnType: void
    signature: void checkCleanSnap(const std::vector<std::string>& covStrs, double
      snapDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:165,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:166,1
    - Dst: tut::readArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:167,1
    - Dst: tut::toArray
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:168,1
    - Dst: tut::checkCleanSnapInt
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' covStrs'
    - snapDist
    - ' expStrs'
    argTypes:
    - std::vector<std::string>
    - double
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: tut::checkCleanSnap
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::toArray
    - tut::checkCleanSnapInt
    - tut::readArray
    linkageType: ''
    returnType: void
    signature: "void checkCleanSnap(\n        const std::vector<std::string>& covStrs,\n
      \       double snapDist,\n        const std::vector<std::string>& expStrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:176,1
    - Dst: isValid
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:176,1
    - Dst: geos::coverage::CoverageValidator::isValid
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:178,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - coverage
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: tut::checkValidCoverage
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure
    - isValid
    - geos::coverage::CoverageValidator::isValid
    linkageType: ''
    returnType: void
    signature: void checkValidCoverage(std::vector<const Geometry*> coverage, double
      tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:187,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:189,1
    - Dst: std::move
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' wkts'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: tut::readArray
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - std::move
    - read
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> readArray(const std::vector<std::string>&
      wkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanGapWidth
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanGapWidth
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanOverlapMerge
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanOverlapMerge
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCleanSnap
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkCleanSnap
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClean
      Src: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/coverage/CoverageCleanerTest.cpp
    functionUses: 0
    functionsReached:
    - checkClean
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:27,1
    - Dst: get
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: tut::test_hilbertencoder_data
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_hilbertencoder_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~test_hilbertencoder_data()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_hilbertencoder_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:48,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:48,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:49,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:49,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:52,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getEnvelopeInternal
    - ensure_equals
    - HilbertEncoder::encode
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:60,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:65,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:65,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:66,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:66,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getEnvelopeInternal
    - read
    - HilbertEncoder::encode
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:74,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:81,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:82,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:83,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:83,1
    - Dst: HilbertEncoder::sort
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:89,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:89,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:89,1
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - HilbertEncoder::sort
    - getEnvelopeInternal
    - destroyGeometry
    - ensure_equals
    - auto::release
    - std::vector::push_back
    - HilbertEncoder::encode
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:27,1
    - Dst: get
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: tut::test_hilbertencoder_data
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_hilbertencoder_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~test_hilbertencoder_data()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_hilbertencoder_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:48,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:48,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:49,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:49,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:52,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getEnvelopeInternal
    - ensure_equals
    - HilbertEncoder::encode
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:60,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:65,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:65,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:66,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:66,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getEnvelopeInternal
    - read
    - HilbertEncoder::encode
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:74,1
    - Dst: read
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:81,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:82,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:83,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:83,1
    - Dst: HilbertEncoder::sort
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:89,1
    - Dst: HilbertEncoder::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:89,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:89,1
    - Dst: destroyGeometry
      Src: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertEncoderTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - HilbertEncoder::sort
    - getEnvelopeInternal
    - destroyGeometry
    - ensure_equals
    - auto::release
    - std::vector::push_back
    - HilbertEncoder::encode
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::decode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:21,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:23,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - index
    - x
    - y
    argTypes:
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: tut::checkDecode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::shape::fractal::MortonCode::decode
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDecode(uint32_t index, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:29,1
    - Dst: tut::checkDecodeEncode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: tut::checkDecodeEncodeForLevel
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkDecodeEncode
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncodeForLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::decode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:39,1
    - Dst: geos::shape::fractal::MortonCode::encode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:40,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:40,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::checkDecodeEncode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 1
    functionsReached:
    - geos::shape::fractal::MortonCode::decode
    - geos::shape::fractal::MortonCode::encode
    - static_cast<int>
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:56,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:57,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:58,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:59,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:60,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:61,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:62,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:71,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:73,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:74,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:75,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:77,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:78,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:79,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:80,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:82,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:83,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:84,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:86,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:87,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:88,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:89,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::MortonCode::level
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:98,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:99,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:100,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:101,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:102,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:104,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:105,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecode
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:114,1
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecodeEncodeForLevel
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::decode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:21,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:23,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - index
    - x
    - y
    argTypes:
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: tut::checkDecode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::shape::fractal::MortonCode::decode
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDecode(uint32_t index, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:29,1
    - Dst: tut::checkDecodeEncode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: tut::checkDecodeEncodeForLevel
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkDecodeEncode
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncodeForLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::decode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:39,1
    - Dst: geos::shape::fractal::MortonCode::encode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:40,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:40,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::checkDecodeEncode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::decode
    - geos::shape::fractal::MortonCode::encode
    - static_cast<int>
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:56,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:57,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:58,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:59,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:60,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:61,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:62,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:71,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:73,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:74,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:75,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:77,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:78,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:79,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:80,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:82,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:83,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:84,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:86,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:87,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:88,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:89,1
    - Dst: geos::shape::fractal::MortonCode::level
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::MortonCode::level
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:98,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:99,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:100,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:101,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:102,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:104,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:105,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecode
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:114,1
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/MortonCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecodeEncodeForLevel
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::decode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:21,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:23,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - order
    - index
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: tut::checkDecode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::shape::fractal::HilbertCode::decode
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDecode(uint32_t order, uint32_t index, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:29,1
    - Dst: tut::checkDecodeEncode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: tut::checkDecodeEncodeForLevel
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkDecodeEncode
    - geos::shape::fractal::HilbertCode::levelSize
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncodeForLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::decode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:39,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - index
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::checkDecodeEncode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 3
    functionsReached:
    - tut::ensure_equals
    - geos::shape::fractal::HilbertCode::decode
    - geos::shape::fractal::HilbertCode::encode
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncode(uint32_t level, uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:56,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:57,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:58,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:59,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:60,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:61,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:62,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::HilbertCode::levelSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:71,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:73,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:74,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:75,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:77,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:78,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:79,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:80,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:82,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:83,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:84,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:86,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:87,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:88,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:89,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::HilbertCode::level
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:98,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:100,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:101,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:103,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:104,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:106,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:107,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:108,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:109,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecode
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:120,1
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecodeEncodeForLevel
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::decode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:21,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:23,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - order
    - index
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: tut::checkDecode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::shape::fractal::HilbertCode::decode
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDecode(uint32_t order, uint32_t index, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:29,1
    - Dst: tut::checkDecodeEncode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: tut::checkDecodeEncodeForLevel
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkDecodeEncode
    - geos::shape::fractal::HilbertCode::levelSize
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncodeForLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::decode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:39,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - index
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::checkDecodeEncode
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals
    - geos::shape::fractal::HilbertCode::decode
    - geos::shape::fractal::HilbertCode::encode
    linkageType: ''
    returnType: void
    signature: void checkDecodeEncode(uint32_t level, uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:56,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:57,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:58,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:59,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:60,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:61,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:62,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::HilbertCode::levelSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:71,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:73,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:74,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:75,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:77,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:78,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:79,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:80,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:82,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:83,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:84,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:86,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:87,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:88,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:89,1
    - Dst: geos::shape::fractal::HilbertCode::level
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - geos::shape::fractal::HilbertCode::level
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:98,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:100,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:101,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:103,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:104,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:106,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:107,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:108,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:109,1
    - Dst: checkDecode
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecode
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:120,1
    - Dst: checkDecodeEncodeForLevel
      Src: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/shape/fractal/HilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - checkDecodeEncodeForLevel
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tut::test_voronoidiag_data
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_voronoidiag_data()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:57,1
    - Dst: std::string::substr
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:57,1
    - Dst: WKBReader::readHEX
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:60,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: tut::readTextOrHex
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - WKBReader::readHEX
    - WKTReader::read
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> readTextOrHex(const char* wkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:71,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:76,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setOrdered
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:77,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setTolerance
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:80,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:82,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getDiagram
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:84,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:88,1
    - Dst: std::unique_ptr::getNumGeometries
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:89,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:90,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:90,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:90,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:93,1
    - Dst: static_cast<const LineString&>
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:94,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:95,1
    - Dst: getPointN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:96,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:97,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:97,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:97,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:102,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:103,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:105,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:105,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:105,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:106,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:106,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:107,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:110,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:111,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:111,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - sitesWkt
    - expectedWkt
    - tolerance
    argTypes:
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 115
    functionName: tut::runVoronoi
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::VoronoiDiagramBuilder::getDiagram
    - tut::ensure_equals
    - static_cast<std::size_t>
    - auto::get
    - geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
    - tut::ensure
    - std::unique_ptr::getCoordinateDimension
    - geos::triangulate::VoronoiDiagramBuilder::setSites
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::getGeometryN
    - geos::triangulate::VoronoiDiagramBuilder::setOrdered
    - WKTWriter::write
    - static_cast<const LineString&>
    - getNumPoints
    - std::unique_ptr::equalsExact
    - geos::triangulate::VoronoiDiagramBuilder::setTolerance
    - geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    - std::unique_ptr::getNumGeometries
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - getPointN
    linkageType: ''
    returnType: void
    signature: void runVoronoi(const char* sitesWkt, const char* expectedWkt, const
      double tolerance, const bool onlyEdges = false, const bool checkOrder = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:130,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:131,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:132,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:133,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:134,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:135,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:137,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getSubdivision
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:142,1
    - Dst: std::unique_ptr::getTolerance
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - geos::triangulate::VoronoiDiagramBuilder::setSites
    - CoordinateSequence::CoordinateSequence
    - geos::triangulate::VoronoiDiagramBuilder::getSubdivision
    - ensure_equals
    - std::unique_ptr::getTolerance
    - geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:278,1
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:310,1
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:311,1
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:324,1
    - Dst: fail
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:325,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - runVoronoi
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tut::test_voronoidiag_data
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_voronoidiag_data()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:57,1
    - Dst: std::string::substr
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:57,1
    - Dst: WKBReader::readHEX
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:60,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: tut::readTextOrHex
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - WKBReader::readHEX
    - WKTReader::read
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> readTextOrHex(const char* wkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:71,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:76,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setOrdered
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:77,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setTolerance
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:80,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:82,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getDiagram
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:84,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:88,1
    - Dst: std::unique_ptr::getNumGeometries
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:89,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:90,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:90,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:90,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:93,1
    - Dst: static_cast<const LineString&>
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:94,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:95,1
    - Dst: getPointN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:96,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:97,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:97,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:97,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:102,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:103,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:105,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:105,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:105,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:106,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:106,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:107,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:110,1
    - Dst: WKTWriter::write
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:111,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:111,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - sitesWkt
    - expectedWkt
    - tolerance
    argTypes:
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 115
    functionName: tut::runVoronoi
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::VoronoiDiagramBuilder::getDiagram
    - tut::ensure_equals
    - static_cast<std::size_t>
    - auto::get
    - geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
    - tut::ensure
    - std::unique_ptr::getCoordinateDimension
    - geos::triangulate::VoronoiDiagramBuilder::setSites
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::getGeometryN
    - geos::triangulate::VoronoiDiagramBuilder::setOrdered
    - WKTWriter::write
    - static_cast<const LineString&>
    - getNumPoints
    - std::unique_ptr::equalsExact
    - geos::triangulate::VoronoiDiagramBuilder::setTolerance
    - geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    - std::unique_ptr::getNumGeometries
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - getPointN
    linkageType: ''
    returnType: void
    signature: void runVoronoi(const char* sitesWkt, const char* expectedWkt, const
      double tolerance, const bool onlyEdges = false, const bool checkOrder = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:130,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:131,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:132,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:133,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:134,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:135,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:137,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getSubdivision
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:142,1
    - Dst: std::unique_ptr::getTolerance
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - geos::triangulate::VoronoiDiagramBuilder::setSites
    - CoordinateSequence::CoordinateSequence
    - geos::triangulate::VoronoiDiagramBuilder::getSubdivision
    - ensure_equals
    - std::unique_ptr::getTolerance
    - geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:278,1
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:310,1
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:311,1
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:324,1
    - Dst: fail
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:325,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - runVoronoi
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runVoronoi
      Src: /src/geos/tests/unit/triangulate/VoronoiTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/VoronoiTest.cpp
    functionUses: 0
    functionsReached:
    - runVoronoi
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: tut::test_incdelaunaytri_data
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_incdelaunaytri_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:46,1
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:50,1
    - Dst: DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:51,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:53,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:60,1
    - Dst: std::unique_ptr::equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:60,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sitesWkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: tut::checkDelaunayHull
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - tut::ensure
    - std::unique_ptr::get
    - DelaunayTriangulationBuilder::getTriangles
    - std::unique_ptr::equals
    - WKTReader::read
    - geos::coverage::CoverageUnion::Union
    - auto::convexHull
    linkageType: ''
    returnType: void
    signature: void checkDelaunayHull(const char* sitesWkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:68,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:69,1
    - Dst: DelaunayTriangulationBuilder::setTolerance
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:71,1
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:74,1
    - Dst: DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:76,1
    - Dst: DelaunayTriangulationBuilder::getEdges
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:79,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:82,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:83,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: std::unique_ptr::toString
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:86,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:86,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - sitesWkt
    - computeTriangles
    - expectedWkt
    argTypes:
    - char*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: tut::runDelaunay
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - DelaunayTriangulationBuilder::setTolerance
    - DelaunayTriangulationBuilder::setSites
    - auto::normalize
    - tut::ensure
    - std::unique_ptr::normalize
    - std::unique_ptr::getCoordinateDimension
    - tut::ensure_equals
    - DelaunayTriangulationBuilder::getTriangles
    - auto::getCoordinateDimension
    - WKTReader::read
    - DelaunayTriangulationBuilder::getEdges
    - auto::get
    - std::unique_ptr::equalsExact
    - std::unique_ptr::toString
    linkageType: ''
    returnType: void
    signature: void runDelaunay(const char* sitesWkt, bool computeTriangles, const
      char* expectedWkt, double tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:100,1
    - Dst: IncrementalDelaunayTriangulator::insertSite
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:104,1
    - Dst: Vertex
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:104,1
    - Dst: QuadEdgeSubdivision::getTriangles
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision::getTriangles
    - Envelope
    - IncrementalDelaunayTriangulator::insertSite
    - Vertex
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:121,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:137,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:153,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:199,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:222,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:223,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:224,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:224,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:225,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:225,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::envelope
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:229,1
    - Dst: Envelope::getWidth
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:230,1
    - Dst: Envelope::getHeight
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - Envelope::getWidth
    - ensure_equals
    - Envelope::getHeight
    - geos::triangulate::DelaunayTriangulationBuilder::envelope
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDelaunayHull
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - checkDelaunayHull
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: tut::test_incdelaunaytri_data
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_incdelaunaytri_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:46,1
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:50,1
    - Dst: DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:51,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:53,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:60,1
    - Dst: std::unique_ptr::equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:60,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sitesWkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: tut::checkDelaunayHull
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - tut::ensure
    - std::unique_ptr::get
    - DelaunayTriangulationBuilder::getTriangles
    - std::unique_ptr::equals
    - WKTReader::read
    - geos::coverage::CoverageUnion::Union
    - auto::convexHull
    linkageType: ''
    returnType: void
    signature: void checkDelaunayHull(const char* sitesWkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:68,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:69,1
    - Dst: DelaunayTriangulationBuilder::setTolerance
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:71,1
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:74,1
    - Dst: DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:76,1
    - Dst: DelaunayTriangulationBuilder::getEdges
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:79,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:82,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:83,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: std::unique_ptr::toString
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:85,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:86,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:86,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - sitesWkt
    - computeTriangles
    - expectedWkt
    argTypes:
    - char*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: tut::runDelaunay
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - DelaunayTriangulationBuilder::setTolerance
    - DelaunayTriangulationBuilder::setSites
    - auto::normalize
    - tut::ensure
    - std::unique_ptr::normalize
    - std::unique_ptr::getCoordinateDimension
    - tut::ensure_equals
    - DelaunayTriangulationBuilder::getTriangles
    - auto::getCoordinateDimension
    - WKTReader::read
    - DelaunayTriangulationBuilder::getEdges
    - auto::get
    - std::unique_ptr::equalsExact
    - std::unique_ptr::toString
    linkageType: ''
    returnType: void
    signature: void runDelaunay(const char* sitesWkt, bool computeTriangles, const
      char* expectedWkt, double tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:100,1
    - Dst: IncrementalDelaunayTriangulator::insertSite
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:104,1
    - Dst: Vertex
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:104,1
    - Dst: QuadEdgeSubdivision::getTriangles
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision::getTriangles
    - Envelope
    - IncrementalDelaunayTriangulator::insertSite
    - Vertex
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:121,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:137,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:153,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:199,1
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:222,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:223,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:224,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:224,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:225,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:225,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::envelope
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:229,1
    - Dst: Envelope::getWidth
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:230,1
    - Dst: Envelope::getHeight
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - Envelope::getWidth
    - ensure_equals
    - Envelope::getHeight
    - geos::triangulate::DelaunayTriangulationBuilder::envelope
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runDelaunay
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - runDelaunay
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDelaunayHull
      Src: /src/geos/tests/unit/triangulate/DelaunayTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/triangulate/DelaunayTest.cpp
    functionUses: 0
    functionsReached:
    - checkDelaunayHull
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_constraineddelaunay_data
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_constraineddelaunay_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:32,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:33,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:34,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:46,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:48,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::Union
    - read
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_constraineddelaunay_data
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_constraineddelaunay_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:32,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:33,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:34,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:46,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:48,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::Union
    - read
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/ConstrainedDelaunayTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: tut::test_polygontriangulator_data
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygontriangulator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:34,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::triangulate::polygon::PolygonTriangulator::triangulate
    - read
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:46,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:48,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:54,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::Union
    - geos::triangulate::polygon::PolygonTriangulator::triangulate
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:192,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:193,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:194,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:196,1
    - Dst: auto*::createLinearRing
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:198,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:198,1
    - Dst: auto*::createLinearRing
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:199,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:199,1
    - Dst: auto*::createLinearRing
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:200,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:200,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:203,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:203,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:204,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:204,1
    - Dst: auto*::createPolygon
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:206,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:206,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:206,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:210,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:210,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 217
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - auto*::createLinearRing
    - geos::geom::GeometryFactory::getDefaultInstance
    - ensure
    - geos::triangulate::polygon::PolygonTriangulator::triangulate
    - auto*::createPolygon
    - auto::get
    - std::move
    - std::vector::emplace_back
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: tut::test_polygontriangulator_data
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygontriangulator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:34,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::triangulate::polygon::PolygonTriangulator::triangulate
    - read
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:46,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:47,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:48,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:54,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: tut::checkTri
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::Union
    - geos::triangulate::polygon::PolygonTriangulator::triangulate
    linkageType: ''
    returnType: void
    signature: void checkTri(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:192,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:193,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:194,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:196,1
    - Dst: auto*::createLinearRing
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:198,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:198,1
    - Dst: auto*::createLinearRing
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:199,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:199,1
    - Dst: auto*::createLinearRing
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:200,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:200,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:203,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:203,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:204,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:204,1
    - Dst: auto*::createPolygon
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:206,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:206,1
    - Dst: std::move
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:206,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulate
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:210,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:210,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 217
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - auto*::createLinearRing
    - geos::geom::GeometryFactory::getDefaultInstance
    - ensure
    - geos::triangulate::polygon::PolygonTriangulator::triangulate
    - auto*::createPolygon
    - auto::get
    - std::move
    - std::vector::emplace_back
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTri
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonTriangulatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkTri
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:33,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:35,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:35,1
    - Dst: dynamic_cast<const Geometry*>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:37,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: tut::checkJoin
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Geometry*>
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkJoin(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:33,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:35,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:35,1
    - Dst: dynamic_cast<const Geometry*>
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:37,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: tut::checkJoin
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Geometry*>
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    - auto::get
    linkageType: ''
    returnType: void
    signature: void checkJoin(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkJoin
      Src: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/triangulate/polygon/PolygonHoleJoinerTest.cpp
    functionUses: 0
    functionsReached:
    - checkJoin
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tut::test_quadedgesub_data
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_quadedgesub_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:65,1
    - Dst: QuadEdgeSubdivision::insertSite
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:67,1
    - Dst: Vertex
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:68,1
    - Dst: QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:69,1
    - Dst: QuadEdgeSubdivision::isOnEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:69,1
    - Dst: orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:70,1
    - Dst: QuadEdgeSubdivision::isVertexOfEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:70,1
    - Dst: orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:72,1
    - Dst: QuadEdgeSubdivision::isOnEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:72,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:73,1
    - Dst: QuadEdgeSubdivision::isVertexOfEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:73,1
    - Dst: Vertex
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:73,1
    - Dst: QuadEdgeSubdivision::getTriangles
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:76,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision::isOnEdge
    - Vertex
    - std::unique_ptr::reset
    - Envelope
    - ensure
    - QuadEdgeSubdivision::isFrameEdge
    - orig
    - QuadEdgeSubdivision::getTriangles
    - Coordinate
    - QuadEdgeSubdivision::insertSite
    - QuadEdgeSubdivision::isVertexOfEdge
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:86,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:87,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::envelope
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:88,1
    - Dst: std::max
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:90,1
    - Dst: Envelope::getWidth
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:90,1
    - Dst: Envelope::getHeight
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:90,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:91,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:93,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:95,1
    - Dst: IncrementalDelaunayTriangulator::forceConvex
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:100,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:101,1
    - Dst: std::unique_ptr::getVoronoiDiagram
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:107,1
    - Dst: std::unique_ptr::getNumGeometries
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:107,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:110,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:113,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    - Dst: std::unique_ptr::toString
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 117
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getVoronoiDiagram
    - Envelope::expandBy
    - ensure
    - auto::get
    - auto::normalize
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - IncrementalDelaunayTriangulator::insertSites
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - Envelope::getWidth
    - Envelope::getHeight
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - std::max
    - std::unique_ptr::toString
    - std::unique_ptr::equalsExact
    - std::unique_ptr::getNumGeometries
    - IncrementalDelaunayTriangulator::forceConvex
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - read
    - geos::triangulate::DelaunayTriangulationBuilder::envelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:131,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:133,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::envelope
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:136,1
    - Dst: std::max
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:137,1
    - Dst: Envelope::getWidth
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:137,1
    - Dst: Envelope::getHeight
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:137,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:138,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:140,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:143,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:145,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:146,1
    - Dst: std::unique_ptr::getVoronoiDiagram
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:150,1
    - Dst: std::unique_ptr::getNumGeometries
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:151,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:152,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:153,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:155,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:157,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:158,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:159,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 161
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getVoronoiDiagram
    - Envelope::expandBy
    - ensure
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - IncrementalDelaunayTriangulator::insertSites
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - std::unique_ptr::getGeometryN
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - dynamic_cast<const Polygon*>
    - Envelope::getWidth
    - Envelope::getHeight
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - std::max
    - std::unique_ptr::size
    - std::unique_ptr::getNumGeometries
    - std::unique_ptr::get
    - read
    - ensure_equals
    - geos::triangulate::DelaunayTriangulationBuilder::envelope
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: tut::test_quadedgesub_data
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_quadedgesub_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:65,1
    - Dst: QuadEdgeSubdivision::insertSite
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:67,1
    - Dst: Vertex
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:68,1
    - Dst: QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:69,1
    - Dst: QuadEdgeSubdivision::isOnEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:69,1
    - Dst: orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:70,1
    - Dst: QuadEdgeSubdivision::isVertexOfEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:70,1
    - Dst: orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:72,1
    - Dst: QuadEdgeSubdivision::isOnEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:72,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:73,1
    - Dst: QuadEdgeSubdivision::isVertexOfEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:73,1
    - Dst: Vertex
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:73,1
    - Dst: QuadEdgeSubdivision::getTriangles
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:76,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision::isOnEdge
    - Vertex
    - std::unique_ptr::reset
    - Envelope
    - ensure
    - QuadEdgeSubdivision::isFrameEdge
    - orig
    - QuadEdgeSubdivision::getTriangles
    - Coordinate
    - QuadEdgeSubdivision::insertSite
    - QuadEdgeSubdivision::isVertexOfEdge
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:86,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:87,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::envelope
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:88,1
    - Dst: std::max
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:90,1
    - Dst: Envelope::getWidth
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:90,1
    - Dst: Envelope::getHeight
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:90,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:91,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:93,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:95,1
    - Dst: IncrementalDelaunayTriangulator::forceConvex
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:100,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:101,1
    - Dst: std::unique_ptr::getVoronoiDiagram
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:107,1
    - Dst: std::unique_ptr::getNumGeometries
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:107,1
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:110,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:113,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    - Dst: std::unique_ptr::toString
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    - Dst: std::unique_ptr::equalsExact
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 117
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getVoronoiDiagram
    - Envelope::expandBy
    - ensure
    - auto::get
    - auto::normalize
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - IncrementalDelaunayTriangulator::insertSites
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - Envelope::getWidth
    - Envelope::getHeight
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - std::max
    - std::unique_ptr::toString
    - std::unique_ptr::equalsExact
    - std::unique_ptr::getNumGeometries
    - IncrementalDelaunayTriangulator::forceConvex
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - read
    - geos::triangulate::DelaunayTriangulationBuilder::envelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:131,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:133,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::envelope
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:136,1
    - Dst: std::max
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:137,1
    - Dst: Envelope::getWidth
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:137,1
    - Dst: Envelope::getHeight
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:137,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:138,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:140,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:143,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:145,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:146,1
    - Dst: std::unique_ptr::getVoronoiDiagram
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:150,1
    - Dst: std::unique_ptr::getNumGeometries
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:151,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:152,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:153,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:155,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:157,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:158,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:159,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 161
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeSubdivisionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getVoronoiDiagram
    - Envelope::expandBy
    - ensure
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - IncrementalDelaunayTriangulator::insertSites
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - std::unique_ptr::getGeometryN
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - dynamic_cast<const Polygon*>
    - Envelope::getWidth
    - Envelope::getHeight
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - std::max
    - std::unique_ptr::size
    - std::unique_ptr::getNumGeometries
    - std::unique_ptr::get
    - read
    - ensure_equals
    - geos::triangulate::DelaunayTriangulationBuilder::envelope
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: tut::test_vertex_data
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_vertex_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: tut::test_vertex_data
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_vertex_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/VertexTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_quadedge_data
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_quadedge_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:49,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:50,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:56,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:56,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:57,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:57,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:59,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:60,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - auto::orig
    - ensure
    - geos::triangulate::quadedge::QuadEdge::connect
    - auto::dest
    - auto::lNext
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:77,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:78,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:83,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:83,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:84,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:84,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:86,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:87,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - auto::orig
    - ensure
    - geos::triangulate::quadedge::QuadEdge::connect
    - auto::dest
    - auto::lNext
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:106,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:109,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:130,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:130,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:131,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:131,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:131,1
    - Dst: geos::triangulate::quadedge::QuadEdge::swap
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:146,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:146,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:147,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:147,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 148
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::swap
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - auto::orig
    - ensure
    - geos::triangulate::quadedge::QuadEdge::connect
    - auto::dest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_quadedge_data
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_quadedge_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:49,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:50,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:56,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:56,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:57,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:57,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:59,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:60,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - auto::orig
    - ensure
    - geos::triangulate::quadedge::QuadEdge::connect
    - auto::dest
    - auto::lNext
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:77,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:78,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:83,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:83,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:84,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:84,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:86,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:87,1
    - Dst: auto::lNext
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - auto::orig
    - ensure
    - geos::triangulate::quadedge::QuadEdge::connect
    - auto::dest
    - auto::lNext
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:106,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:109,1
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:130,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:130,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:131,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:131,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:131,1
    - Dst: geos::triangulate::quadedge::QuadEdge::swap
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:146,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:146,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:147,1
    - Dst: auto::orig
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:147,1
    - Dst: auto::dest
      Src: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 148
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/triangulate/quadedge/QuadEdgeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::swap
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - auto::orig
    - ensure
    - geos::triangulate::quadedge::QuadEdge::connect
    - auto::dest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: tut::test_capigeosgeom_createcollection_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeom_createcollection_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ~test_capigeosgeom_createcollection_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeom_createcollection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:55,1
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:56,1
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:57,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:61,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyPoint
    - ensure_equals
    - GEOSGeom_createCollection
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:70,1
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:71,1
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:72,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:76,1
    - Dst: std::array::data
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:78,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:79,1
    - Dst: std::array::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:81,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - GEOSGeom_createCollection
    - std::array::size
    - static_cast<unsigned int>
    - GEOSGeom_createEmptyLineString
    - ensure_equals
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:90,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:91,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:91,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:92,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:92,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:93,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:94,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:94,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:97,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:99,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:100,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyPolygon
    - static_cast<size_t>
    - GEOSGeom_createCollection
    - static_cast<unsigned int>
    - ensure_equals
    - std::vector::size
    - std::vector::data
    - std::vector::push_back
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:111,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:111,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:113,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:115,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:116,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:117,1
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyPolygon
    - GEOSGeom_createCollection
    - static_cast<unsigned int>
    - ensure
    - GEOSGeom_createEmptyCollection
    - std::vector::size
    - std::vector::data
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:128,1
    - Dst: GEOSGeom_releaseCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSGeom_releaseCollection
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:142,1
    - Dst: GEOSGeom_releaseCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:149,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:149,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure
    - fromWKT
    - GEOSGeom_releaseCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:160,1
    - Dst: GEOSGeom_releaseCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:162,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:164,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:167,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:167,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure
    - fromWKT
    - GEOSGeom_releaseCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:179,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:180,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:182,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:183,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:195,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:196,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:198,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:199,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: tut::test_capigeosgeom_createcollection_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeom_createcollection_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ~test_capigeosgeom_createcollection_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeom_createcollection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:55,1
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:56,1
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:57,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:61,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyPoint
    - ensure_equals
    - GEOSGeom_createCollection
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:70,1
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:71,1
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:72,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:76,1
    - Dst: std::array::data
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:78,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:79,1
    - Dst: std::array::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:81,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - GEOSGeom_createCollection
    - std::array::size
    - static_cast<unsigned int>
    - GEOSGeom_createEmptyLineString
    - ensure_equals
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:90,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:91,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:91,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:92,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:92,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:93,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:94,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:94,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:97,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:99,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:100,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyPolygon
    - static_cast<size_t>
    - GEOSGeom_createCollection
    - static_cast<unsigned int>
    - ensure_equals
    - std::vector::size
    - std::vector::data
    - std::vector::push_back
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:111,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:111,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:113,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:115,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:116,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:117,1
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyPolygon
    - GEOSGeom_createCollection
    - static_cast<unsigned int>
    - ensure
    - GEOSGeom_createEmptyCollection
    - std::vector::size
    - std::vector::data
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:128,1
    - Dst: GEOSGeom_releaseCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSGeom_releaseCollection
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:142,1
    - Dst: GEOSGeom_releaseCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:149,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:149,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure
    - fromWKT
    - GEOSGeom_releaseCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:160,1
    - Dst: GEOSGeom_releaseCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:162,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:164,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:167,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:167,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure
    - fromWKT
    - GEOSGeom_releaseCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:179,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:180,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:182,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:183,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:195,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:196,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:198,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:199,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:30,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:31,1
    - Dst: GEOSDisjointSubsetUnion
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:35,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:36,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:36,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSSetSRID
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    - GEOSDisjointSubsetUnion
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:43,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:44,1
    - Dst: GEOSDisjointSubsetUnion
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:45,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDisjointSubsetUnion
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:53,1
    - Dst: GEOSDisjointSubsetUnion
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDisjointSubsetUnion
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:30,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:31,1
    - Dst: GEOSDisjointSubsetUnion
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:35,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:36,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:36,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSSetSRID
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    - GEOSDisjointSubsetUnion
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:43,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:44,1
    - Dst: GEOSDisjointSubsetUnion
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:45,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDisjointSubsetUnion
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:53,1
    - Dst: GEOSDisjointSubsetUnion
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointSubsetUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDisjointSubsetUnion
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:24,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:25,1
    - Dst: GEOSGeomToWKB_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:28,1
    - Dst: GEOSGeomFromWKB_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:29,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:32,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:32,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:32,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - GEOSGeomFromWKB_buf
    - toWKT
    - GEOSGeomToWKB_buf
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:24,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:25,1
    - Dst: GEOSGeomToWKB_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:28,1
    - Dst: GEOSGeomFromWKB_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:29,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:32,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:32,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:32,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKB_bufTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - GEOSGeomFromWKB_buf
    - toWKT
    - GEOSGeomToWKB_buf
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:30,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:31,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:32,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:33,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:34,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:35,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSTouches
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:42,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:48,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:49,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSTouches
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:30,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:31,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:32,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:33,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:34,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:35,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSTouches
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:42,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:48,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:49,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSTouches
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:22,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:23,1
    - Dst: GEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:24,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - wkt1
    - wkt2
    - distance
    - expectedResult
    argTypes:
    - char*
    - char*
    - double
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: tut::testGEOSDistanceWithin
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDistanceWithin
    - tut::fromWKT
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void testGEOSDistanceWithin(\n        const char* wkt1, const char*
      wkt2,\n        double distance, char expectedResult)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:415,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:418,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:419,1
    - Dst: GEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:421,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSDistanceWithin
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:22,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:23,1
    - Dst: GEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:24,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - wkt1
    - wkt2
    - distance
    - expectedResult
    argTypes:
    - char*
    - char*
    - double
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: tut::testGEOSDistanceWithin
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDistanceWithin
    - tut::fromWKT
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void testGEOSDistanceWithin(\n        const char* wkt1, const char*
      wkt2,\n        double distance, char expectedResult)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testGEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - testGEOSDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:415,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:418,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:419,1
    - Dst: GEOSDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:421,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSDistanceWithin
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:35,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:35,1
    - Dst: GEOSSimplify
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:39,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSSimplify
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:47,1
    - Dst: GEOSSimplify
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:35,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:35,1
    - Dst: GEOSSimplify
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:39,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSSimplify
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:47,1
    - Dst: GEOSSimplify
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:27,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:27,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:28,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:28,1
    - Dst: GEOSReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:31,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:32,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:32,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:34,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:35,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' wkt_input'
    - ' wkt_output'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: tut::testReverse
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSEqualsExact
    - tut::ensure_equals
    - GEOSReverse
    - GEOSGeom_destroy
    - c_str
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void testReverse(const std::string& wkt_input,\n            const
      std::string& wkt_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:112,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:113,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:114,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:115,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:116,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:117,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:118,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:27,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:27,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:28,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:28,1
    - Dst: GEOSReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:31,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:32,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:32,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:34,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:35,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' wkt_input'
    - ' wkt_output'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: tut::testReverse
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSEqualsExact
    - tut::ensure_equals
    - GEOSReverse
    - GEOSGeom_destroy
    - c_str
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void testReverse(const std::string& wkt_input,\n            const
      std::string& wkt_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:112,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:113,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:114,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:115,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:116,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:117,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:118,1
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testReverse
      Src: /src/geos/tests/unit/capi/GEOSReverseTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSReverseTest.cpp
    functionUses: 0
    functionsReached:
    - testReverse
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:20,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:21,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:24,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:24,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:26,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:34,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:38,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:49,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:53,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:53,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:55,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:56,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:59,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:63,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:63,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:65,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:73,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:77,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:77,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:20,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:21,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:24,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:24,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:26,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:34,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:38,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:49,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:53,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:53,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:55,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:56,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:59,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:63,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:63,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:65,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:73,1
    - Dst: GEOSGeom_createRectangle
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:77,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:77,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_createRectangle
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tut::test_capigeosdistance_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosdistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:34,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:35,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:38,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:38,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:38,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:40,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:40,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:44,1
    - Dst: cos
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:44,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:45,1
    - Dst: sin
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:45,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:48,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - x
    - y
    - r
    - num_points
    argTypes:
    - double
    - double
    - double
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 49
    functionName: tut::random_polygon
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - tut::sort
    - std::rand
    - std::vector::begin
    - cos
    - static_cast<unsigned int>
    - sin
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - std::vector::end
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: GEOSGeometry
    signature: "GEOSGeometry *\n    random_polygon(double x, double y, double r, std::size_t
      num_points)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:68,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:69,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:74,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_distance
    - ensure_equals
    - GEOSDistance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::srand
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:86,1
    - Dst: random_polygon
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:88,1
    - Dst: random_polygon
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:92,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:93,1
    - Dst: GEOSDistanceIndexed
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - random_polygon
    - GEOSDistanceIndexed
    - GEOSDistance
    - std::srand
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:104,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:105,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSDistance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:119,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:120,1
    - Dst: feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:123,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:129,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:129,1
    - Dst: fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDistance
    - fetestexcept
    - ensure_equals
    - std::sqrt
    - fromWKT
    - feclearexcept
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:142,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:143,1
    - Dst: feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:146,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:151,1
    - Dst: fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - feclearexcept
    - GEOSDistance
    - ensure_equals
    - fromWKT
    - fetestexcept
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:163,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:164,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:167,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSDistance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tut::test_capigeosdistance_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosdistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:34,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:35,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:38,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:38,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:38,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:40,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:40,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:44,1
    - Dst: cos
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:44,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:45,1
    - Dst: sin
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:45,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:48,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - x
    - y
    - r
    - num_points
    argTypes:
    - double
    - double
    - double
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 49
    functionName: tut::random_polygon
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - tut::sort
    - std::rand
    - std::vector::begin
    - cos
    - static_cast<unsigned int>
    - sin
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - std::vector::end
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: GEOSGeometry
    signature: "GEOSGeometry *\n    random_polygon(double x, double y, double r, std::size_t
      num_points)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:68,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:69,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:74,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_distance
    - ensure_equals
    - GEOSDistance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::srand
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:86,1
    - Dst: random_polygon
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:88,1
    - Dst: random_polygon
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:92,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:93,1
    - Dst: GEOSDistanceIndexed
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - random_polygon
    - GEOSDistanceIndexed
    - GEOSDistance
    - std::srand
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:104,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:105,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSDistance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:119,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:120,1
    - Dst: feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:123,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:129,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:129,1
    - Dst: fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDistance
    - fetestexcept
    - ensure_equals
    - std::sqrt
    - fromWKT
    - feclearexcept
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:142,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:143,1
    - Dst: feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:146,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:151,1
    - Dst: fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - feclearexcept
    - GEOSDistance
    - ensure_equals
    - fromWKT
    - fetestexcept
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:163,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:164,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:167,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSDistance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:17,1
    - Dst: GEOSEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:18,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:19,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wktIn
    - wktExp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: tut::checkEnvelope
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - tut::fromWKT
    - GEOSEnvelope
    linkageType: ''
    returnType: void
    signature: void checkEnvelope(const char* wktIn, const char* wktExp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:17,1
    - Dst: GEOSEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:18,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:19,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wktIn
    - wktExp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: tut::checkEnvelope
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - tut::fromWKT
    - GEOSEnvelope
    linkageType: ''
    returnType: void
    signature: void checkEnvelope(const char* wktIn, const char* wktExp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEnvelope
      Src: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - checkEnvelope
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:21,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:22,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:23,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:24,1
    - Dst: GEOSGeom_createLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:27,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createLineString
    - GEOSCoordSeq_setXY
    - ensure_geometry_equals
    - fromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:21,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:22,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:23,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:24,1
    - Dst: GEOSGeom_createLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:27,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createLineString
    - GEOSCoordSeq_setXY
    - ensure_geometry_equals
    - fromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:27,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:28,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:29,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:30,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:31,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:32,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoveredBy
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:39,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:45,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoveredBy
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:27,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:28,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:29,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:30,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:31,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:32,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoveredBy
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:39,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:45,1
    - Dst: GEOSCoveredBy
      Src: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoveredByTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoveredBy
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:36,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:37,1
    - Dst: GEOSPolygonizer_getCutEdges
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:42,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:44,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonizer_getCutEdges
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:60,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:62,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:63,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:64,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:65,1
    - Dst: GEOSPolygonizer_getCutEdges
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:70,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:70,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:72,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonizer_getCutEdges
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:86,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:87,1
    - Dst: GEOSPolygonize
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:92,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:93,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:93,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:94,1
    - Dst: GEOSPolygonize_valid
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:100,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:101,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:101,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:102,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonize
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSPolygonize_valid
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:116,1
    - Dst: GEOSPolygonize_valid
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:121,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:122,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:122,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:123,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSPolygonize_valid
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:137,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:138,1
    - Dst: GEOSPolygonize_valid
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:140,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:143,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:144,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:144,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:145,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSPolygonize_valid
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:158,1
    - Dst: GEOSPolygonize_full
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:164,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:166,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:167,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:168,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:169,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:171,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:172,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:173,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:174,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:176,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:177,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:178,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:180,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:181,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_geometry_equals
    - GEOSPolygonize_full
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:192,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:196,1
    - Dst: GEOSPolygonize
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:201,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure
    - GEOSPolygonize
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:36,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:37,1
    - Dst: GEOSPolygonizer_getCutEdges
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:42,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:44,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonizer_getCutEdges
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:60,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:62,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:63,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:64,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:65,1
    - Dst: GEOSPolygonizer_getCutEdges
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:70,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:70,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:72,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonizer_getCutEdges
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:86,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:87,1
    - Dst: GEOSPolygonize
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:92,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:93,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:93,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:94,1
    - Dst: GEOSPolygonize_valid
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:100,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:101,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:101,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:102,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonize
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSPolygonize_valid
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:116,1
    - Dst: GEOSPolygonize_valid
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:121,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:122,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:122,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:123,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSPolygonize_valid
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:137,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:138,1
    - Dst: GEOSPolygonize_valid
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:140,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:143,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:144,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:144,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:145,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSPolygonize_valid
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:158,1
    - Dst: GEOSPolygonize_full
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:164,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:166,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:167,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:168,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:169,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:171,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:172,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:173,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:174,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:176,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:177,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:178,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:180,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:181,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_geometry_equals
    - GEOSPolygonize_full
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:192,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:196,1
    - Dst: GEOSPolygonize
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:201,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure
    - GEOSPolygonize
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: tut::test_capiisvaliddetail_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiisvaliddetail_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:32,1
    - Dst: static_cast<string::value_type>
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:33,1
    - Dst: toupper
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tut::strToUpper
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - toupper
    - size
    - static_cast<string::value_type>
    linkageType: ''
    returnType: void
    signature: void strToUpper(std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:39,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ~test_capiisvaliddetail_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capiisvaliddetail_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:72,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisValidDetail
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:86,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:87,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:88,1
    - Dst: strToUpper
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:91,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:91,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:98,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - strToUpper
    - GEOSisValidDetail
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:110,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:114,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValidDetail
    - toWKT
    - string
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:123,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisValidDetail
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:138,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisValidDetail
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:148,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSisValidDetail
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: tut::test_capiisvaliddetail_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiisvaliddetail_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:32,1
    - Dst: static_cast<string::value_type>
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:33,1
    - Dst: toupper
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tut::strToUpper
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - toupper
    - size
    - static_cast<string::value_type>
    linkageType: ''
    returnType: void
    signature: void strToUpper(std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:39,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ~test_capiisvaliddetail_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capiisvaliddetail_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:72,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisValidDetail
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:86,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:87,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:88,1
    - Dst: strToUpper
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:91,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:91,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:98,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - strToUpper
    - GEOSisValidDetail
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:110,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:114,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValidDetail
    - toWKT
    - string
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:123,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisValidDetail
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:138,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisValidDetail
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:148,1
    - Dst: GEOSisValidDetail
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidDetailTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSisValidDetail
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_capigeospreparednearestpoints_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeospreparednearestpoints_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~test_capigeospreparednearestpoints_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeospreparednearestpoints_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:33,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:34,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:36,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:38,1
    - Dst: GEOSPreparedNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:39,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:43,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:48,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:49,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:50,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:51,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:54,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:55,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:56,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:57,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - wkt1
    - wkt2
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - char*
    - char*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: tut::checkNearestPoints
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSPreparedNearestPoints
    - GEOSPrepare
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_destroy
    - GEOSGeomFromWKT
    - GEOSCoordSeq_getOrdinate
    linkageType: ''
    returnType: void
    signature: "void checkNearestPoints(const char* wkt1, const char* wkt2,\n                            double
      x1, double y1,\n                            double x2, double y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:64,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:65,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:66,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:67,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:68,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:69,1
    - Dst: GEOSPreparedNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wkt1
    - wkt2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: tut::checkNearestPointsNull
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - tut::ensure
    - GEOSPreparedNearestPoints
    - GEOSPrepare
    linkageType: ''
    returnType: void
    signature: void checkNearestPointsNull(const char* wkt1, const char* wkt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPointsNull
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPointsNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_capigeospreparednearestpoints_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeospreparednearestpoints_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~test_capigeospreparednearestpoints_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeospreparednearestpoints_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:33,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:34,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:36,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:38,1
    - Dst: GEOSPreparedNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:39,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:43,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:48,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:49,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:50,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:51,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:54,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:55,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:56,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:57,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - wkt1
    - wkt2
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - char*
    - char*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: tut::checkNearestPoints
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSPreparedNearestPoints
    - GEOSPrepare
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_destroy
    - GEOSGeomFromWKT
    - GEOSCoordSeq_getOrdinate
    linkageType: ''
    returnType: void
    signature: "void checkNearestPoints(const char* wkt1, const char* wkt2,\n                            double
      x1, double y1,\n                            double x2, double y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:64,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:65,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:66,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:67,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:68,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:69,1
    - Dst: GEOSPreparedNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wkt1
    - wkt2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: tut::checkNearestPointsNull
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - tut::ensure
    - GEOSPreparedNearestPoints
    - GEOSPrepare
    linkageType: ''
    returnType: void
    signature: void checkNearestPointsNull(const char* wkt1, const char* wkt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPointsNull
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPointsNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:24,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:25,1
    - Dst: GEOSDifferencePrec
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:28,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - ensure_geometry_equals
    - GEOSSetSRID
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSDifferencePrec
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:24,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:25,1
    - Dst: GEOSDifferencePrec
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:28,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferencePrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - ensure_geometry_equals
    - GEOSSetSRID
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSDifferencePrec
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: tut::test_capimakevalid_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capimakevalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:37,1
    - Dst: GEOSMakeValid
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:38,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:39,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:40,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:42,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSNormalize
    - GEOSMakeValid
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:51,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:51,1
    - Dst: GEOSMakeValid
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:54,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:55,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:57,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeomFromHEX_buf
    - GEOSNormalize
    - GEOSMakeValid
    - ensure
    - GEOSGeomFromWKT
    - std::strlen
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSMakeValidParams_create
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:67,1
    - Dst: GEOSMakeValidParams_setKeepCollapsed
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:68,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:69,1
    - Dst: GEOSMakeValidWithParams
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:70,1
    - Dst: GEOSMakeValidParams_destroy
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:71,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:74,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSMakeValidParams_setKeepCollapsed
    - GEOSMakeValidParams_destroy
    - ensure
    - GEOSMakeValidParams_create
    - GEOSMakeValidWithParams
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSMakeValidParams_create
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:83,1
    - Dst: GEOSMakeValidParams_setKeepCollapsed
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:84,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:85,1
    - Dst: GEOSMakeValidWithParams
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:86,1
    - Dst: GEOSMakeValidParams_destroy
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:87,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:90,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSMakeValidParams_setKeepCollapsed
    - GEOSMakeValidParams_destroy
    - ensure
    - GEOSMakeValidParams_create
    - GEOSMakeValidWithParams
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:99,1
    - Dst: GEOSMakeValid
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSMakeValid
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: tut::test_capimakevalid_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capimakevalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:37,1
    - Dst: GEOSMakeValid
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:38,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:39,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:40,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:42,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSNormalize
    - GEOSMakeValid
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:51,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:51,1
    - Dst: GEOSMakeValid
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:54,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:55,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:57,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeomFromHEX_buf
    - GEOSNormalize
    - GEOSMakeValid
    - ensure
    - GEOSGeomFromWKT
    - std::strlen
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSMakeValidParams_create
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:67,1
    - Dst: GEOSMakeValidParams_setKeepCollapsed
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:68,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:69,1
    - Dst: GEOSMakeValidWithParams
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:70,1
    - Dst: GEOSMakeValidParams_destroy
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:71,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:74,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSMakeValidParams_setKeepCollapsed
    - GEOSMakeValidParams_destroy
    - ensure
    - GEOSMakeValidParams_create
    - GEOSMakeValidWithParams
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSMakeValidParams_create
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:83,1
    - Dst: GEOSMakeValidParams_setKeepCollapsed
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:84,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:85,1
    - Dst: GEOSMakeValidWithParams
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:86,1
    - Dst: GEOSMakeValidParams_destroy
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:87,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:90,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSMakeValidParams_setKeepCollapsed
    - GEOSMakeValidParams_destroy
    - ensure
    - GEOSMakeValidParams_create
    - GEOSMakeValidWithParams
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:99,1
    - Dst: GEOSMakeValid
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSMakeValid
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: tut::test_capigeospreparedgeometry_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeospreparedgeometry_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:31,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ~test_capigeospreparedgeometry_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeospreparedgeometry_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:54,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSPrepare
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:70,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:71,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:74,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:90,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:91,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:94,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:110,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:111,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:114,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersects
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:127,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:128,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:131,1
    - Dst: GEOSPreparedCovers
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSPreparedCovers
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:144,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:145,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:148,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSPreparedContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:182,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSPreparedIntersects
    - GEOSPrepare
    - reinterpret_cast<const unsigned char*>
    - ensure
    - ensure_equals
    - std::string::size
    - std::string::data
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:205,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:215,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:215,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:217,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:217,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:220,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersects
    - geos::geom::GeometryFactory::create
    - GEOSPrepare
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:240,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSPreparedIntersects
    - GEOSPrepare
    - reinterpret_cast<const unsigned char*>
    - ensure
    - ensure_equals
    - std::string::size
    - std::string::data
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:263,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:267,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:267,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:269,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:269,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:270,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:271,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:273,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:276,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:278,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:280,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:281,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:282,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:288,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:292,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:292,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:294,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:294,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:295,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:296,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:297,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:298,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:301,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 305
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPreparedGeom_destroy
    - geos::geom::GeometryFactory::create
    - GEOSPrepare
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - GEOSPreparedContains
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:327,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:331,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:331,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:333,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:334,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:335,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:336,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:337,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:340,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:342,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:344,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:345,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:346,1
    - Dst: geos::geom::PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:351,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:352,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:356,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:356,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:358,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:359,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:360,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:361,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:362,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:364,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:365,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 369
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPreparedGeom_destroy
    - geos::geom::GeometryFactory::create
    - GEOSPrepare
    - geos::geom::PrecisionModel::PrecisionModel
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - GEOSPreparedContains
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:377,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:378,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:379,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:381,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:382,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:384,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersects
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:394,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:395,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:396,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:398,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:399,1
    - Dst: GEOSPreparedCovers
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:401,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSPreparedCovers
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:412,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:413,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:414,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:417,1
    - Dst: GEOSPreparedTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:419,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedTouches
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:429,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:430,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:432,1
    - Dst: GEOSPreparedContainsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:432,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:433,1
    - Dst: GEOSPreparedContainsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:433,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:434,1
    - Dst: GEOSPreparedContainsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:434,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:436,1
    - Dst: GEOSPreparedIntersectsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:436,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:437,1
    - Dst: GEOSPreparedIntersectsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:437,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:438,1
    - Dst: GEOSPreparedIntersectsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersectsXY
    - GEOSPrepare
    - GEOSPreparedContainsXY
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:446,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:448,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:450,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:459,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:460,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:462,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:463,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:465,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:469,1
    - Dst: GEOSPreparedTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:469,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:470,1
    - Dst: GEOSPreparedTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:470,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:470,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:471,1
    - Dst: GEOSPreparedOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:471,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:472,1
    - Dst: GEOSPreparedOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:472,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:472,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:473,1
    - Dst: GEOSPreparedCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:473,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:473,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:474,1
    - Dst: GEOSPreparedCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:474,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:474,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:475,1
    - Dst: GEOSPreparedDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:475,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:475,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:476,1
    - Dst: GEOSPreparedDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:476,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:476,1
    - Dst: GEOSPreparedRelate
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:478,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:479,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:480,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:480,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:480,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:481,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 483
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSPreparedTouches
    - GEOSPreparedCrosses
    - GEOSPreparedDisjoint
    - GEOSPrepare
    - GEOSTouches
    - GEOSRelate
    - string
    - ensure_equals
    - ensure
    - GEOSDisjoint
    - fromWKT
    - GEOSCrosses
    - GEOSOverlaps
    - GEOSPreparedOverlaps
    - GEOSPreparedRelate
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: tut::test_capigeospreparedgeometry_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeospreparedgeometry_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:31,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ~test_capigeospreparedgeometry_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeospreparedgeometry_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:54,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSPrepare
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:70,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:71,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:74,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:90,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:91,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:94,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:110,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:111,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:114,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersects
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:127,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:128,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:131,1
    - Dst: GEOSPreparedCovers
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSPreparedCovers
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:144,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:145,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:148,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSPreparedContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:178,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:179,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:182,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSPreparedIntersects
    - GEOSPrepare
    - reinterpret_cast<const unsigned char*>
    - ensure
    - ensure_equals
    - std::string::size
    - std::string::data
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:205,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:215,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:215,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:217,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:217,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:220,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersects
    - geos::geom::GeometryFactory::create
    - GEOSPrepare
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:237,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: std::string::data
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:238,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:240,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSPreparedIntersects
    - GEOSPrepare
    - reinterpret_cast<const unsigned char*>
    - ensure
    - ensure_equals
    - std::string::size
    - std::string::data
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:263,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:267,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:267,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:269,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:269,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:270,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:271,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:273,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:276,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:278,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:280,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:281,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:282,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:288,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:292,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:292,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:294,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:294,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:295,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:296,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:297,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:298,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:301,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 305
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPreparedGeom_destroy
    - geos::geom::GeometryFactory::create
    - GEOSPrepare
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - GEOSPreparedContains
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:327,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:331,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:331,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:333,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:334,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:335,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:336,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:337,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:340,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:342,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:344,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:345,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:346,1
    - Dst: geos::geom::PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:351,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:352,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:356,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:356,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:358,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:359,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:360,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:361,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:362,1
    - Dst: GEOSPreparedContains
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:364,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:365,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 369
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedContainsProperly
    - GEOSPreparedGeom_destroy
    - geos::geom::GeometryFactory::create
    - GEOSPrepare
    - geos::geom::PrecisionModel::PrecisionModel
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - GEOSPreparedContains
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:377,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:378,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:379,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:381,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:382,1
    - Dst: GEOSPreparedIntersects
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:384,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersects
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:394,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:395,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:396,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:398,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:399,1
    - Dst: GEOSPreparedCovers
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:401,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSPreparedCovers
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:412,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:413,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:414,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:417,1
    - Dst: GEOSPreparedTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:419,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedTouches
    - GEOSPrepare
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:429,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:430,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:432,1
    - Dst: GEOSPreparedContainsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:432,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:433,1
    - Dst: GEOSPreparedContainsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:433,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:434,1
    - Dst: GEOSPreparedContainsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:434,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:436,1
    - Dst: GEOSPreparedIntersectsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:436,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:437,1
    - Dst: GEOSPreparedIntersectsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:437,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:438,1
    - Dst: GEOSPreparedIntersectsXY
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedIntersectsXY
    - GEOSPrepare
    - GEOSPreparedContainsXY
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:446,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:448,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:450,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPrepare
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:459,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:460,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:462,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:463,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:465,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:469,1
    - Dst: GEOSPreparedTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:469,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:470,1
    - Dst: GEOSPreparedTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:470,1
    - Dst: GEOSTouches
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:470,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:471,1
    - Dst: GEOSPreparedOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:471,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:472,1
    - Dst: GEOSPreparedOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:472,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:472,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:473,1
    - Dst: GEOSPreparedCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:473,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:473,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:474,1
    - Dst: GEOSPreparedCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:474,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:474,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:475,1
    - Dst: GEOSPreparedDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:475,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:475,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:476,1
    - Dst: GEOSPreparedDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:476,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:476,1
    - Dst: GEOSPreparedRelate
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:478,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:479,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:480,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:480,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:480,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:481,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 483
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSPreparedTouches
    - GEOSPreparedCrosses
    - GEOSPreparedDisjoint
    - GEOSPrepare
    - GEOSTouches
    - GEOSRelate
    - string
    - ensure_equals
    - ensure
    - GEOSDisjoint
    - fromWKT
    - GEOSCrosses
    - GEOSOverlaps
    - GEOSPreparedOverlaps
    - GEOSPreparedRelate
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: tut::test_capipointonsurface_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capipointonsurface_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:41,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:45,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:49,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:49,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:61,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:65,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:69,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:69,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:81,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:85,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:89,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:89,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:106,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:110,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:114,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:114,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:126,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:130,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:134,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:134,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:145,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:149,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:153,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:153,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:172,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:173,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:174,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:176,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:177,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:177,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:193,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:195,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:198,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:198,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:207,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:214,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:216,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:218,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:219,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:219,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:228,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:230,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: tut::test_capipointonsurface_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capipointonsurface_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:41,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:45,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:49,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:49,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:61,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:65,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:69,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:69,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:81,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:85,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:89,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:89,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:106,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:110,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:114,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:114,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:126,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:130,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:134,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:134,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:145,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:149,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:153,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:153,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:172,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:173,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:174,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:176,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:177,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:177,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:193,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:195,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:198,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:198,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:207,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:214,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:216,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:218,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:219,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:219,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:228,1
    - Dst: GEOSPointOnSurface
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:230,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPointOnSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPointOnSurface
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_capigeosprepareddistancewithin_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosprepareddistancewithin_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~test_capigeosprepareddistancewithin_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosprepareddistancewithin_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:32,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:33,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:37,1
    - Dst: GEOSPreparedDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - wkt1
    - wkt2
    - dist
    - expectedResult
    argTypes:
    - char*
    - char*
    - double
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: tut::checkDistanceWithin
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSPrepare
    - GEOSPreparedDistanceWithin
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void checkDistanceWithin(const char* wkt1, const char* wkt2,\n                       double
      dist, char expectedResult)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_capigeosprepareddistancewithin_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosprepareddistancewithin_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~test_capigeosprepareddistancewithin_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosprepareddistancewithin_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:32,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:33,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:37,1
    - Dst: GEOSPreparedDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - wkt1
    - wkt2
    - dist
    - expectedResult
    argTypes:
    - char*
    - char*
    - double
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: tut::checkDistanceWithin
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSPrepare
    - GEOSPreparedDistanceWithin
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void checkDistanceWithin(const char* wkt1, const char* wkt2,\n                       double
      dist, char expectedResult)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceWithin
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceWithinTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceWithin
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:35,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:35,1
    - Dst: GEOSGeom_setUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:38,1
    - Dst: GEOSGeom_getUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getUserData
    - GEOSGeom_setUserData
    - ensure_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:57,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:57,1
    - Dst: GEOSGeom_setUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:63,1
    - Dst: GEOSGeom_getUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getUserData
    - GEOSGeom_setUserData
    - ensure_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:35,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:35,1
    - Dst: GEOSGeom_setUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:38,1
    - Dst: GEOSGeom_getUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getUserData
    - GEOSGeom_setUserData
    - ensure_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:57,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:57,1
    - Dst: GEOSGeom_setUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:63,1
    - Dst: GEOSGeom_getUserData
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUserDataTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getUserData
    - GEOSGeom_setUserData
    - ensure_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:33,1
    - Dst: GEOSLineMergeDirected
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:34,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSLineMergeDirected
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:49,1
    - Dst: GEOSLineMergeDirected
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:50,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:53,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:53,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:55,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:56,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSLineMergeDirected
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:66,1
    - Dst: GEOSLineMergeDirected
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSLineMergeDirected
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:33,1
    - Dst: GEOSLineMergeDirected
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:34,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSLineMergeDirected
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:49,1
    - Dst: GEOSLineMergeDirected
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:50,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:53,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:53,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:55,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:56,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSLineMergeDirected
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:66,1
    - Dst: GEOSLineMergeDirected
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeDirectedTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSLineMergeDirected
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: tut::test_geosgeojsonwriter_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_create
    linkageType: ''
    returnType: void
    signature: void test_geosgeojsonwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:20,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ~test_geosgeojsonwriter_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSGeoJSONWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geosgeojsonwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geojson'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: tut::test_writer_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 1
    functionsReached:
    - tut::test_writer_geojson
    linkageType: ''
    returnType: void
    signature: void test_writer_geojson(std::string const& geojson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:33,1
    - Dst: GEOSGeoJSONReader_readGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:35,1
    - Dst: GEOSGeoJSONWriter_writeGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:37,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:40,1
    - Dst: GEOSGeoJSONReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' geojson'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: tut::test_writer_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSGeoJSONWriter_writeGeometry
    - free
    - GEOSGeoJSONReader_create
    - GEOSGeom_destroy
    - GEOSGeoJSONReader_readGeometry
    - GEOSGeoJSONReader_destroy
    linkageType: ''
    returnType: void
    signature: void test_writer_geojson(std::string const& geojson, std::string const&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:60,1
    - Dst: GEOSGeoJSONWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:60,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:62,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_getOutputDimension
    - test_writer_geojson
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:72,1
    - Dst: GEOSGeoJSONWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:72,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:74,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_setOutputDimension
    - test_writer_geojson
    - ensure_equals
    - GEOSGeoJSONWriter_getOutputDimension
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: tut::test_geosgeojsonwriter_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_create
    linkageType: ''
    returnType: void
    signature: void test_geosgeojsonwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:20,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ~test_geosgeojsonwriter_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSGeoJSONWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geosgeojsonwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geojson'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: tut::test_writer_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 2
    functionsReached:
    - tut::test_writer_geojson
    linkageType: ''
    returnType: void
    signature: void test_writer_geojson(std::string const& geojson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:33,1
    - Dst: GEOSGeoJSONReader_readGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:35,1
    - Dst: GEOSGeoJSONWriter_writeGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:37,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:40,1
    - Dst: GEOSGeoJSONReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' geojson'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: tut::test_writer_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSGeoJSONWriter_writeGeometry
    - free
    - GEOSGeoJSONReader_create
    - GEOSGeom_destroy
    - GEOSGeoJSONReader_readGeometry
    - GEOSGeoJSONReader_destroy
    linkageType: ''
    returnType: void
    signature: void test_writer_geojson(std::string const& geojson, std::string const&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:60,1
    - Dst: GEOSGeoJSONWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:60,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:62,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_getOutputDimension
    - test_writer_geojson
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:72,1
    - Dst: GEOSGeoJSONWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:72,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:74,1
    - Dst: test_writer_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeoJSONWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_setOutputDimension
    - test_writer_geojson
    - ensure_equals
    - GEOSGeoJSONWriter_getOutputDimension
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosrelateboundarynoderule_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosrelateboundarynoderule_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ~test_capigeosrelateboundarynoderule_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosrelateboundarynoderule_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:43,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:44,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:46,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:46,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:55,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:56,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:58,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:58,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:67,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:68,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:71,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:71,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:80,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:81,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:84,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:84,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:93,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:94,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:97,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:97,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:107,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:108,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:111,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:111,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:120,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:121,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:124,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:124,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:133,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:134,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosrelateboundarynoderule_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosrelateboundarynoderule_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ~test_capigeosrelateboundarynoderule_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosrelateboundarynoderule_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:43,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:44,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:46,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:46,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:55,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:56,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:58,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:58,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:67,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:68,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:71,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:71,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:80,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:81,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:84,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:84,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:93,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:94,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:97,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:97,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:107,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:108,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:111,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:111,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:120,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:121,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:124,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:124,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure_equals
    - string
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:133,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:134,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRelateBoundaryNodeRule
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosgeomwritegeojson_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_create
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeomwritegeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: ~test_capigeosgeomwritegeojson_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeomwritegeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:31,1
    - Dst: GEOSGeoJSONWriter_writeGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:32,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:33,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:36,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' wkt'
    - ' expected'
    - indent
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: tut::test_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::fromWKT
    - tut::ensure_equals
    - GEOSGeoJSONWriter_writeGeometry
    - free
    linkageType: ''
    returnType: void
    signature: void test_geojson(std::string const& wkt, std::string const& expected,
      int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:110,1
    - Dst: GEOSGeoJSONWriter_writeGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_writeGeometry
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosgeomwritegeojson_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_create
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeomwritegeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: ~test_capigeosgeomwritegeojson_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeomwritegeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:31,1
    - Dst: GEOSGeoJSONWriter_writeGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:32,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:33,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:36,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' wkt'
    - ' expected'
    - indent
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: tut::test_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::fromWKT
    - tut::ensure_equals
    - GEOSGeoJSONWriter_writeGeometry
    - free
    linkageType: ''
    returnType: void
    signature: void test_geojson(std::string const& wkt, std::string const& expected,
      int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:110,1
    - Dst: GEOSGeoJSONWriter_writeGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONWriteTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONWriter_writeGeometry
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: tut::test_minimumrotatedrectangle_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_minimumrotatedrectangle_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:24,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:25,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:26,1
    - Dst: GEOSMinimumRotatedRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:30,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - wkt
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: tut::checkMinRectangle
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGetSRID
    - ensure_geometry_equals
    - GEOSSetSRID
    - GEOSGeomFromWKT
    - GEOSMinimumRotatedRectangle
    linkageType: ''
    returnType: void
    signature: void checkMinRectangle(const char* wkt, const char* expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:127,1
    - Dst: GEOSMinimumRotatedRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumRotatedRectangle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: tut::test_minimumrotatedrectangle_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_minimumrotatedrectangle_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:24,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:25,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:26,1
    - Dst: GEOSMinimumRotatedRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:30,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:31,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - wkt
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: tut::checkMinRectangle
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGetSRID
    - ensure_geometry_equals
    - GEOSSetSRID
    - GEOSGeomFromWKT
    - GEOSMinimumRotatedRectangle
    linkageType: ''
    returnType: void
    signature: void checkMinRectangle(const char* wkt, const char* expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMinRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkMinRectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:127,1
    - Dst: GEOSMinimumRotatedRectangle
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumRotatedRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumRotatedRectangle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:29,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:31,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:41,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:42,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:44,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:45,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:55,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:56,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:58,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:59,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:69,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:70,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:80,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:81,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:83,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:84,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:92,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientPolygons
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:29,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:31,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:41,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:42,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:44,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:45,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:55,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:56,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:58,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:59,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:69,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:70,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:80,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:81,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:83,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:84,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSOrientPolygons
    - toWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:92,1
    - Dst: GEOSOrientPolygons
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientPolygons
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:32,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:36,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_extractUniquePoints
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:44,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:45,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:48,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_extractUniquePoints
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:57,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:58,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:59,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_extractUniquePoints
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:68,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:70,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_extractUniquePoints
    - ensure
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:32,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:36,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_extractUniquePoints
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:44,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:45,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:48,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_extractUniquePoints
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:57,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:58,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:59,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_extractUniquePoints
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:68,1
    - Dst: GEOSGeom_extractUniquePoints
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:70,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extractUniquePointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_extractUniquePoints
    - ensure
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - x
    - y
    - userdata
    argTypes:
    - double*
    - double*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: tut::SCALE_2_3
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SCALE_2_3(double* x, double* y, void* userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:29,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:31,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:42,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:44,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_transformXY
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:52,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:64,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure
    - GEOSGeom_transformXY
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:73,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:77,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:78,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:85,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:87,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:95,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:99,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:100,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:107,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:109,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:117,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:122,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:123,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:131,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:133,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:141,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:146,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:147,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:150,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:158,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:163,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:164,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:167,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:175,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:180,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:181,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:184,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:192,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:196,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:197,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:199,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:207,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:209,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:211,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:212,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:214,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:222,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:224,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:234,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:235,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:235,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:238,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:241,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:243,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:246,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:247,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:249,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getCoordSeq
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - GEOSGeomFromWKT
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:257,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:271,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:272,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:274,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:282,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:284,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:286,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:287,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:289,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:296,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:297,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:301,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - toWKT
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - x
    - y
    - userdata
    argTypes:
    - double*
    - double*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: tut::SCALE_2_3
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SCALE_2_3(double* x, double* y, void* userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:29,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:31,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:42,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:44,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_transformXY
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:52,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:64,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure
    - GEOSGeom_transformXY
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:73,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:77,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:78,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:85,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:87,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:95,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:99,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:100,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:107,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:109,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:117,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:122,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:123,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:131,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:133,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:141,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:146,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:147,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:150,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:158,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:163,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:164,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:167,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:175,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:180,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:181,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:184,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:192,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:196,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:197,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:199,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:207,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:209,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:211,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:212,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:214,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:222,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:224,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:234,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:235,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:235,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:238,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:241,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:243,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:246,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:247,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:249,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - GEOSGeom_getCoordSeq
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - GEOSGeomFromWKT
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:257,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:271,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:272,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:274,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:282,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:284,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:286,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:287,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:289,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:296,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:297,1
    - Dst: GEOSGeom_transformXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:301,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_transformXY
    - toWKT
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:26,1
    - Dst: GEOSSymDifference
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:29,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - GEOSSymDifference
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:36,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:40,1
    - Dst: GEOSSymDifference
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSymDifference
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:26,1
    - Dst: GEOSSymDifference
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:29,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - GEOSSymDifference
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:36,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:40,1
    - Dst: GEOSSymDifference
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSymDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSymDifference
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: tut::test_capigeosgeom_create_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeom_create_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~test_capigeosgeom_create_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeom_create_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:52,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:53,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:55,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:56,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:56,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyPoint
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:69,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:70,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:72,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:73,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:73,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_createEmptyLineString
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSGeom_destroy
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:87,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:88,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:90,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:91,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:91,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeom_createEmptyPolygon
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:104,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:105,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:107,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:108,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:108,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:121,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:122,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:124,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:125,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:125,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:137,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:138,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:139,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:141,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:142,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:142,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:154,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:155,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:156,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:156,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:158,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:159,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:159,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:170,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:171,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - GEOSGeom_createLineString
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: tut::test_capigeosgeom_create_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeom_create_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~test_capigeosgeom_create_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeom_create_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:52,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:53,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:55,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:56,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:56,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyPoint
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:69,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:70,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:72,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:73,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:73,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_createEmptyLineString
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSGeom_destroy
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:87,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:88,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:90,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:91,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:91,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeom_createEmptyPolygon
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:104,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:105,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:107,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:108,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:108,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:121,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:122,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:124,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:125,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:125,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:137,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:138,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:139,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:141,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:142,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:142,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:154,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:155,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:156,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:156,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:158,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:159,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:159,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCollection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:170,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:171,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - GEOSGeom_createLineString
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:36,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:40,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:42,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:43,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:44,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:49,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:49,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:53,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:53,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:55,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:56,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:57,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:62,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:62,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:64,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:66,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:67,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:68,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:73,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:73,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetEndPoint
    - GEOSGeomGetStartPoint
    - GEOSGeomGetPointN
    - std::isnan
    - GEOSGeom_destroy
    - GEOSisClosed
    - ensure
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:85,1
    - Dst: GEOSGeomGetLength
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSGeomGetLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:99,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:100,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:101,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:102,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:105,1
    - Dst: GEOSGeomGetLength
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetLength
    - GEOSGeomGetEndPoint
    - GEOSGeomGetStartPoint
    - GEOSGeomGetPointN
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:116,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:120,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:122,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:123,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:124,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:129,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:129,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:133,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:133,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:135,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:136,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:137,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:142,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:142,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:144,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:146,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:147,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:148,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:153,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:153,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 156
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetEndPoint
    - GEOSGeomGetStartPoint
    - GEOSGeomGetPointN
    - std::isnan
    - GEOSGeom_destroy
    - GEOSisClosed
    - ensure
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:165,1
    - Dst: GEOSGeomGetLength
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSGeomGetLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:36,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:40,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:42,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:43,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:44,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:49,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:49,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:53,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:53,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:55,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:56,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:57,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:62,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:62,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:64,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:66,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:67,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:68,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:73,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:73,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetEndPoint
    - GEOSGeomGetStartPoint
    - GEOSGeomGetPointN
    - std::isnan
    - GEOSGeom_destroy
    - GEOSisClosed
    - ensure
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:85,1
    - Dst: GEOSGeomGetLength
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSGeomGetLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:99,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:100,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:101,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:102,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:105,1
    - Dst: GEOSGeomGetLength
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetLength
    - GEOSGeomGetEndPoint
    - GEOSGeomGetStartPoint
    - GEOSGeomGetPointN
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:116,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:120,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:122,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:123,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:124,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:129,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:129,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:133,1
    - Dst: GEOSGeomGetPointN
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:133,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:135,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:136,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:137,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:142,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:142,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:144,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:146,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:147,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:148,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:153,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:153,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 156
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetEndPoint
    - GEOSGeomGetStartPoint
    - GEOSGeomGetPointN
    - std::isnan
    - GEOSGeom_destroy
    - GEOSisClosed
    - ensure
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:165,1
    - Dst: GEOSGeomGetLength
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSGeomGetLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:29,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:30,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:31,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:32,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:36,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:37,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetM
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:48,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:49,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:52,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetM
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:63,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:64,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:66,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetM
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:78,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:79,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeomGetM
    - ensure_equals
    - GEOSGeomGetZ
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:96,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:97,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:98,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:99,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetM
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:113,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:114,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:115,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:116,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetM
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:29,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:30,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:31,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:32,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:36,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:37,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetM
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:48,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:49,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:52,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetM
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:63,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:64,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:66,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetM
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:78,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:79,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeomGetM
    - ensure_equals
    - GEOSGeomGetZ
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:96,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:97,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:98,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:99,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetM
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:113,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:114,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:115,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:116,1
    - Dst: GEOSGeomGetM
      Src: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetXYZMTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomGetX
    - GEOSGeomGetY
    - GEOSGeomGetM
    - ensure_equals
    - GEOSGeomGetZ
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosgeomreadgeojson_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONReader_create
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeomreadgeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: ~test_capigeosgeomreadgeojson_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeomreadgeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_readGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:31,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:32,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:33,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:33,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' geojson'
    - ' wkt'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: tut::test_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::fromWKT
    - ensure_geometry_equals
    - c_str
    - GEOSGeoJSONReader_readGeometry
    linkageType: ''
    returnType: void
    signature: void test_geojson(std::string const& geojson, std::string const& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_readGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONReader_readGeometry
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosgeomreadgeojson_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONReader_create
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeomreadgeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: ~test_capigeosgeomreadgeojson_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeomreadgeojson_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_readGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:31,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:32,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:33,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:33,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' geojson'
    - ' wkt'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: tut::test_geojson
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::fromWKT
    - ensure_geometry_equals
    - c_str
    - GEOSGeoJSONReader_readGeometry
    linkageType: ''
    returnType: void
    signature: void test_geojson(std::string const& geojson, std::string const& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_geojson
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - test_geojson
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeoJSONReader_readGeometry
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGeoJSONReadTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeoJSONReader_readGeometry
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:32,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:42,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:52,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:62,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:72,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:83,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:32,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:42,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:52,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:62,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:72,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:83,1
    - Dst: GEOSisClosed
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisClosedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisClosed
    - ensure
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:29,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:32,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:41,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:44,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:53,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:56,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:65,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:68,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:77,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:80,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:89,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:92,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:101,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:101,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:101,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:102,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:102,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:104,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - GEOSGeom_createPointFromXY
    - std::numeric_limits<double>::quiet_NaN
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:113,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:113,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:114,1
    - Dst: std::numeric_limits<double>::signaling_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:116,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createPointFromXY
    - std::numeric_limits<double>::signaling_NaN
    - std::numeric_limits<double>::quiet_NaN
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:125,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:128,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:137,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:140,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:149,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:152,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:161,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:164,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:173,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:174,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:176,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:185,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:188,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:197,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:200,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:209,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:212,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsIdentical
    - GEOSGeom_createPointFromXY
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:220,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:223,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:29,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:32,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:41,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:44,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:53,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:56,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:65,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:68,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:77,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:80,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:89,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:92,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:101,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:101,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:101,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:102,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:102,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:104,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - GEOSGeom_createPointFromXY
    - std::numeric_limits<double>::quiet_NaN
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:113,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:113,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:114,1
    - Dst: std::numeric_limits<double>::signaling_NaN
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:116,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createPointFromXY
    - std::numeric_limits<double>::signaling_NaN
    - std::numeric_limits<double>::quiet_NaN
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:125,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:128,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:137,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:140,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:149,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:152,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:161,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:164,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:173,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:174,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:176,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:185,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:188,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:197,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:200,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:209,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:212,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsIdentical
    - GEOSGeom_createPointFromXY
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:220,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:223,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsIdenticalTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEqualsIdentical
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:36,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSInterpolate
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:46,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:48,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSInterpolate
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:56,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:57,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:58,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSInterpolate
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:68,1
    - Dst: GEOSInterpolateNormalized
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:69,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:70,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals
    - GEOSInterpolateNormalized
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:81,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:82,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSInterpolate
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:36,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSInterpolate
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:46,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:48,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSInterpolate
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:56,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:57,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:58,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSInterpolate
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:68,1
    - Dst: GEOSInterpolateNormalized
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:69,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:70,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals
    - GEOSInterpolateNormalized
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:81,1
    - Dst: GEOSInterpolate
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:82,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterpolateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSInterpolate
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: tut::test_capigeossharedpaths_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeossharedpaths_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:39,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:40,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSSharedPaths
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:53,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:54,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:56,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - GEOSSharedPaths
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:73,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:81,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSSharedPaths
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:92,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:96,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSSharedPaths
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: tut::test_capigeossharedpaths_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeossharedpaths_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:39,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:40,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSSharedPaths
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:53,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:54,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:56,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - GEOSSharedPaths
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:73,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:81,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSSharedPaths
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:92,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:96,1
    - Dst: GEOSSharedPaths
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSharedPathsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSSharedPaths
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: tut::test_capimaximuminscribedcircle_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capimaximuminscribedcircle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~test_capimaximuminscribedcircle_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capimaximuminscribedcircle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:49,1
    - Dst: GEOSMaximumInscribedCircle
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:51,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:55,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:55,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSMaximumInscribedCircle
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: GEOSMaximumInscribedCircle
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - reinterpret_cast<const unsigned char*>
    - GEOSMaximumInscribedCircle
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:78,1
    - Dst: GEOSMaximumInscribedCircle
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSMaximumInscribedCircle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: tut::test_capimaximuminscribedcircle_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capimaximuminscribedcircle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~test_capimaximuminscribedcircle_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    linkageType: ''
    returnType: void
    signature: void ~test_capimaximuminscribedcircle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:49,1
    - Dst: GEOSMaximumInscribedCircle
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:51,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:55,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:55,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSMaximumInscribedCircle
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:66,1
    - Dst: GEOSMaximumInscribedCircle
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - reinterpret_cast<const unsigned char*>
    - GEOSMaximumInscribedCircle
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:78,1
    - Dst: GEOSMaximumInscribedCircle
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMaximumInscribedCircleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSMaximumInscribedCircle
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:23,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:27,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:27,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:29,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSisValidReason
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:37,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:41,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:43,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSisValidReason
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:52,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:52,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:52,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:55,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:55,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSGeomFromHEX_buf
    - GEOSisValidReason
    - string
    - ensure_equals
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:65,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValidReason
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:23,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:27,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:27,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:29,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSisValidReason
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:37,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:41,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:43,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSisValidReason
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:52,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:52,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:52,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:55,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:55,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSGeomFromHEX_buf
    - GEOSisValidReason
    - string
    - ensure_equals
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:65,1
    - Dst: GEOSisValidReason
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidReasonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValidReason
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capigeosintersectionprec_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosintersectionprec_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:24,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:25,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - g1
    - g2
    - tolerance
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: tut::same
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - GEOSEqualsExact
    linkageType: ''
    returnType: int
    signature: int same(GEOSGeometry* g1, GEOSGeometry* g2, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:44,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:48,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:52,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:52,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:60,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:64,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:68,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:76,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:77,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:81,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:86,1
    - Dst: same
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - same
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:95,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:99,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:101,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:104,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:106,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:108,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSNormalize
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:116,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:120,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:124,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:124,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:132,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:136,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:140,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:140,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:148,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:152,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:154,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:156,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:156,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:164,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:168,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:171,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersectionPrec
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capigeosintersectionprec_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosintersectionprec_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:24,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:25,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - g1
    - g2
    - tolerance
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: tut::same
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - GEOSEqualsExact
    linkageType: ''
    returnType: int
    signature: int same(GEOSGeometry* g1, GEOSGeometry* g2, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:44,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:48,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:52,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:52,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:60,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:64,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:68,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:76,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:77,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:81,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:86,1
    - Dst: same
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - same
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:95,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:99,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:101,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:104,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:106,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:108,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSNormalize
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:116,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:120,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:124,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:124,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:132,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:136,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:140,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:140,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:148,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:152,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:154,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:156,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:156,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersectionPrec
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:164,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:168,1
    - Dst: GEOSIntersectionPrec
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:171,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersectionPrec
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - x
    - y
    - z
    - userdata
    argTypes:
    - double*
    - double*
    - double*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: tut::SCALE_2_3_4
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SCALE_2_3_4(double* x, double* y, double* z, void* userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:34,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:48,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:48,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:50,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:58,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:71,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:80,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:84,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:85,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:92,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:94,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:102,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:106,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:107,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:114,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:116,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:124,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:129,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:130,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:138,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:140,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:148,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:153,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:154,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:157,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:165,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:170,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:171,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:174,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:182,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:187,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:188,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:191,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:199,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:201,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:203,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:204,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:206,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:214,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:216,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:218,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:219,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:221,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:229,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:243,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:243,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:246,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:250,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:251,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:252,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:254,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:256,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:257,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:259,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 261
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getXYZ
    - GEOSGeom_getCoordSeq
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:267,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:271,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:282,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:283,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:285,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 287
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:293,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:295,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:297,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:298,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:300,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:308,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:312,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:319,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:323,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:324,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:327,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:329,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - x
    - y
    - z
    - userdata
    argTypes:
    - double*
    - double*
    - double*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: tut::SCALE_2_3_4
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SCALE_2_3_4(double* x, double* y, double* z, void* userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:34,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:48,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:48,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:50,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:58,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:71,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:80,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:84,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:85,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:92,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:94,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:102,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:106,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:107,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:114,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:116,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:124,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:129,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:130,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:138,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:140,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getExtent
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:148,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:153,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:154,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:157,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:165,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:170,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:171,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:174,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:182,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:187,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:188,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:191,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:199,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:201,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:203,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:204,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:206,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:214,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:216,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:218,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:219,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:221,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:229,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:243,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:243,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:246,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:250,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:251,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:252,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:254,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:256,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:257,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:259,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 261
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getXYZ
    - GEOSGeom_getCoordSeq
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:267,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:271,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:282,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:283,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:285,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 287
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:293,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:295,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:297,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:298,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:300,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:308,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:312,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:319,1
    - Dst: GEOSGeom_transformXYZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:323,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:324,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:327,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:329,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_transformXYZTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    - GEOSGeom_transformXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSOrientationIndex
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOrientationIndexTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOrientationIndex
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:30,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:31,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:32,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSGeomTypeId
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:30,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:31,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:32,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomTypeIdTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSGeomTypeId
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:24,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSGeomGetNumPoints
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:32,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSGeomGetNumPoints
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:40,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSGeomGetNumPoints
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:48,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:48,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: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeomGetNumPoints
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:56,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeomGetNumPoints
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:24,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSGeomGetNumPoints
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:32,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSGeomGetNumPoints
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:40,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSGeomGetNumPoints
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:47,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:48,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:48,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: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeomGetNumPoints
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:56,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomGetNumPointsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeomGetNumPoints
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:28,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:29,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:30,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:32,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:34,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:35,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:36,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:37,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:38,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - wktInput
    - xmin
    - ymin
    - xmax
    - ymax
    - wktExpected
    argTypes:
    - char*
    - double
    - double
    - double
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 41
    functionName: tut::checkClipByRect
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSFree
    - tut::fromWKT
    - std::printf
    - GEOSClipByRect
    - GEOSWKTWriter_write
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: "void checkClipByRect(\n        const char* wktInput,\n        double
      xmin, double ymin,\n        double xmax, double ymax,\n        const char* wktExpected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:50,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:51,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:52,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:54,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:56,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:57,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:58,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:59,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:60,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - wktInput
    - xmin
    - ymin
    - xmax
    - ymax
    - wktExpected
    argTypes:
    - char*
    - double
    - double
    - double
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: tut::checkClipByRectIdentical
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSFree
    - tut::fromWKT
    - std::printf
    - GEOSEqualsIdentical
    - GEOSClipByRect
    - GEOSWKTWriter_write
    linkageType: ''
    returnType: void
    signature: "void checkClipByRectIdentical(\n        const char* wktInput,\n        double
      xmin, double ymin,\n        double xmax, double ymax,\n        const char* wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:237,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:238,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:240,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:241,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - std::printf
    - GEOSClipByRect
    - ensure
    - GEOSWKTWriter_write
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:255,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:256,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:257,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:258,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:259,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:260,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:261,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:262,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:263,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:264,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setXY
    - ensure_geometry_equals
    - GEOSClipByRect
    - GEOSGeom_createLinearRing
    - GEOSGeom_createPolygon
    - GEOSGeomFromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:285,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:286,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:287,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:287,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:288,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - GEOSClipByRect
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:297,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:298,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:300,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSClipByRect
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:28,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:29,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:30,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:32,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:34,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:35,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:36,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:37,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:38,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - wktInput
    - xmin
    - ymin
    - xmax
    - ymax
    - wktExpected
    argTypes:
    - char*
    - double
    - double
    - double
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 41
    functionName: tut::checkClipByRect
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSFree
    - tut::fromWKT
    - std::printf
    - GEOSClipByRect
    - GEOSWKTWriter_write
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: "void checkClipByRect(\n        const char* wktInput,\n        double
      xmin, double ymin,\n        double xmax, double ymax,\n        const char* wktExpected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:50,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:51,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:52,1
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:54,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:56,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:57,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:58,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:59,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:60,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - wktInput
    - xmin
    - ymin
    - xmax
    - ymax
    - wktExpected
    argTypes:
    - char*
    - double
    - double
    - double
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: tut::checkClipByRectIdentical
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSFree
    - tut::fromWKT
    - std::printf
    - GEOSEqualsIdentical
    - GEOSClipByRect
    - GEOSWKTWriter_write
    linkageType: ''
    returnType: void
    signature: "void checkClipByRectIdentical(\n        const char* wktInput,\n        double
      xmin, double ymin,\n        double xmax, double ymax,\n        const char* wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRect
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:237,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:238,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:240,1
    - Dst: std::printf
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:241,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - std::printf
    - GEOSClipByRect
    - ensure
    - GEOSWKTWriter_write
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:255,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:256,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:257,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:258,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:259,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:260,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:261,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:262,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:263,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:264,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setXY
    - ensure_geometry_equals
    - GEOSClipByRect
    - GEOSGeom_createLinearRing
    - GEOSGeom_createPolygon
    - GEOSGeomFromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:285,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:286,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:287,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:287,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:288,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - GEOSClipByRect
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:297,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:298,1
    - Dst: GEOSClipByRect
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:300,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSClipByRect
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClipByRectIdentical
      Src: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClipByRectTest.cpp
    functionUses: 0
    functionsReached:
    - checkClipByRectIdentical
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_create
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: tut::test_capicoverageunion_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_create
    linkageType: ''
    returnType: void
    signature: void test_capicoverageunion_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: ~test_capicoverageunion_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capicoverageunion_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:50,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:50,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:51,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:51,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:55,1
    - Dst: GEOSCoverageUnion
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:59,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:59,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:61,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - GEOSCoverageUnion
    - ensure
    - c_str
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:75,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:75,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:76,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:76,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:80,1
    - Dst: GEOSCoverageUnion
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:83,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:83,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:85,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - GEOSGeom_destroy
    - GEOSCoverageUnion
    - ensure
    - c_str
    - GEOSEquals
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:96,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_create
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: tut::test_capicoverageunion_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_create
    linkageType: ''
    returnType: void
    signature: void test_capicoverageunion_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: ~test_capicoverageunion_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capicoverageunion_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:50,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:50,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:51,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:51,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:55,1
    - Dst: GEOSCoverageUnion
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:59,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:59,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:61,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - GEOSCoverageUnion
    - ensure
    - c_str
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:75,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:75,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:76,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:76,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:80,1
    - Dst: GEOSCoverageUnion
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:83,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:83,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:85,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCollection
    - GEOSGeom_destroy
    - GEOSCoverageUnion
    - ensure
    - c_str
    - GEOSEquals
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:96,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:27,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:28,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:29,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:30,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:31,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:32,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoversTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCovers
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:39,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:45,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoversTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCovers
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:27,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:28,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:29,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:30,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:31,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:32,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoversTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCovers
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:39,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:45,1
    - Dst: GEOSCovers
      Src: /src/geos/tests/unit/capi/GEOSCoversTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoversTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCovers
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:24,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:25,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - fromWKT
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:39,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordSeq
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:49,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:50,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - fromWKT
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:64,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:70,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getSize
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:24,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:25,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - fromWKT
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:39,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordSeq
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:49,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:50,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - fromWKT
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:64,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:70,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getSize
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:26,1
    - Dst: GEOSSymDifferencePrec
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:29,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSSymDifferencePrec
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:26,1
    - Dst: GEOSSymDifferencePrec
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:29,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSymDifferencePrecTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSSymDifferencePrec
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:38,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:41,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:52,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:53,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:56,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:67,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:68,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:71,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:94,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:98,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:98,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:100,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:102,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:105,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:107,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:108,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:109,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:115,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:119,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:119,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:121,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:123,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:126,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 130
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - GEOSContains
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:152,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:156,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:156,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:158,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:160,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:163,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:165,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:167,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:168,1
    - Dst: geos::geom::PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:173,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:174,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:178,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:178,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:180,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:182,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:185,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 189
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - GEOSContains
    - geos::geom::PrecisionModel::PrecisionModel
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:195,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:201,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:38,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:41,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:52,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:53,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:56,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:67,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:68,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:71,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:94,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:98,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:98,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:100,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:102,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:105,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:107,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:108,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:109,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:115,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:119,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:119,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:121,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:123,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:126,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 130
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - GEOSContains
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:152,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:156,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:156,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:158,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:160,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:163,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:165,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:167,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:168,1
    - Dst: geos::geom::PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:173,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:174,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:178,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:178,1
    - Dst: reinterpret_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:180,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:182,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:185,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 189
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - GEOSContains
    - geos::geom::PrecisionModel::PrecisionModel
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - reinterpret_cast<GEOSGeometry*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:195,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:201,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSContainsTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContainsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSContains
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:30,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:31,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:32,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:33,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:34,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:35,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:42,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:48,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:49,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:30,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:31,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:32,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:33,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:34,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:35,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:42,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:48,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:49,1
    - Dst: GEOSOverlaps
      Src: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOverlapsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capicoveragesimplify_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capicoveragesimplify_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ~test_capicoveragesimplify_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_capicoveragesimplify_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:43,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:47,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:51,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:66,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:70,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:70,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:74,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:86,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:90,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:90,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:94,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:105,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capicoveragesimplify_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capicoveragesimplify_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ~test_capicoveragesimplify_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_capicoveragesimplify_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:43,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:47,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:51,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:66,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:70,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:70,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:74,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:86,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:90,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:90,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:94,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:105,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSCoverageSimplifyVW
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:73,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:87,1
    - Dst: strlen
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:87,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - strlen
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:73,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:87,1
    - Dst: strlen
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:87,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternMatchTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - strlen
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_x
    - p_y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: INTPOINT
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INTPOINT(int p_x, int p_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:25,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:26,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:27,1
    - Dst: GEOSGeom_createPoint
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - INTPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: INTPOINT2GEOS
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSGeom_createPoint
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      INTPOINT2GEOS(INTPOINT* p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:40,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - distance
    argTypes:
    - void*
    - void*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: INTPOINT_dist
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::sqrt
    linkageType: ''
    returnType: int
    signature: int INTPOINT_dist(const void* a, const void* b, double* distance, void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:68,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:69,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:70,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:71,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:73,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:74,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:75,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:76,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:81,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:82,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:83,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:84,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:98,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:101,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:102,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:102,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:103,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:103,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:104,1
    - Dst: GEOSGeom_createPoint
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:104,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:105,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:109,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:110,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:110,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:111,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:111,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:112,1
    - Dst: GEOSGeom_createPoint
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:112,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:116,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:129,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:129,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:133,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:134,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 138
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - std::rand
    - GEOSGeom_createPoint
    - GEOSDistance
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSEquals
    - GEOSSTRtree_nearest
    - std::vector::push_back
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:146,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:147,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:150,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:152,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTPOINT2GEOS
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:166,1
    - Dst: INTPOINT2GEOS
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:167,1
    - Dst: INTPOINT2GEOS
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:168,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:170,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:171,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:172,1
    - Dst: GEOSSTRtree_nearest_generic
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:176,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:178,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:179,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:180,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - INTPOINT2GEOS
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest_generic
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:190,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:191,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:193,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:194,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:197,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:199,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:200,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:210,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:211,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:212,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:213,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:215,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:216,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:217,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:218,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:221,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:223,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:224,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:225,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:226,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:236,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:237,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:238,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:243,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:253,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:255,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:257,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:263,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:263,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:264,1
    - Dst: IList*::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:269,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:273,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:275,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:277,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:278,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - IList::size
    - IList*::push_back
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - ensure_equals
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:289,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:291,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:292,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:294,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:298,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:298,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:299,1
    - Dst: IList*::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:304,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:308,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:310,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:312,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:313,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 315
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - IList::size
    - IList*::push_back
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - ensure_equals
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:322,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:327,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:328,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:329,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:332,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:334,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:337,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:338,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:348,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:352,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:352,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:355,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:359,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:365,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:366,1
    - Dst: std::thread::join
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:371,1
    - Dst: std::thread::join
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:372,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:374,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:375,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:378,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - std::thread::join
    - GEOSSTRtree_create
    - GEOSBuffer
    - GEOSGeom_destroy
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:388,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:390,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:391,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:392,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:394,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:395,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:396,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:398,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:400,1
    - Dst: GEOSSTRtree_remove
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:400,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:403,1
    - Dst: static_cast<std::vector<GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:404,1
    - Dst: auto::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:405,1
    - Dst: static_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:405,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:408,1
    - Dst: std::vector::empty
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:408,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:410,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:411,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:412,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:413,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 416
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_remove
    - GEOSSTRtree_query
    - std::vector::empty
    - GEOSSTRtree_insert
    - static_cast<std::vector<GEOSGeometry*>*>
    - GEOSSTRtree_destroy
    - static_cast<GEOSGeometry*>
    - GEOSSTRtree_create
    - ensure_equals
    - auto::push_back
    - ensure
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:423,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:427,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:427,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:428,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:428,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:428,1
    - Dst: GEOSSTRtree_iterate
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:434,1
    - Dst: static_cast<std::vector<GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:435,1
    - Dst: push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:436,1
    - Dst: static_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:436,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:440,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:440,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:440,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:441,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:442,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:446,1
    - Dst: GEOSSTRtree_build
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:446,1
    - Dst: GEOSSTRtree_iterate
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:450,1
    - Dst: static_cast<std::vector<GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:451,1
    - Dst: push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:452,1
    - Dst: static_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:452,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:455,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:455,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:455,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:457,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:461,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 465
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_iterate
    - GEOSSTRtree_build
    - std::vector::back
    - GEOSSTRtree_insert
    - static_cast<std::vector<GEOSGeometry*>*>
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - static_cast<GEOSGeometry*>
    - push_back
    - GEOSSTRtree_create
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - std::vector::size
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:472,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:477,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:477,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:478,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:478,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:478,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:484,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:485,1
    - Dst: GEOSSTRtree_remove
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:486,1
    - Dst: GEOSSTRtree_iterate
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:493,1
    - Dst: static_cast<std::vector<const GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:494,1
    - Dst: push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:495,1
    - Dst: static_cast<const GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:495,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:498,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:498,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:502,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 506
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_remove
    - GEOSSTRtree_iterate
    - GEOSGeomGetX
    - static_cast<std::vector<const GEOSGeometry*>*>
    - std::vector::back
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - push_back
    - static_cast<const GEOSGeometry*>
    - GEOSSTRtree_create
    - ensure_equals
    - static_cast<int>
    - GEOSGeom_destroy
    - std::vector::size
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:68,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:69,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:70,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:71,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:73,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:74,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:75,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:76,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:81,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:82,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:83,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:84,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:98,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:101,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:102,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:102,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:103,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:103,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:104,1
    - Dst: GEOSGeom_createPoint
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:104,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:105,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:109,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:110,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:110,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:111,1
    - Dst: std::rand
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:111,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:112,1
    - Dst: GEOSGeom_createPoint
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:112,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:116,1
    - Dst: GEOSDistance
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:129,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:129,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:133,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:134,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 138
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - std::rand
    - GEOSGeom_createPoint
    - GEOSDistance
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSEquals
    - GEOSSTRtree_nearest
    - std::vector::push_back
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:146,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:147,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:150,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:152,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTPOINT2GEOS
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:166,1
    - Dst: INTPOINT2GEOS
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:167,1
    - Dst: INTPOINT2GEOS
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:168,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:170,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:171,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:172,1
    - Dst: GEOSSTRtree_nearest_generic
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:176,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:178,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:179,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:180,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - INTPOINT2GEOS
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest_generic
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:190,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:191,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:193,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:194,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:197,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:199,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:200,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:210,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:211,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:212,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:213,1
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:215,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:216,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:217,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:218,1
    - Dst: GEOSSTRtree_nearest
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:221,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:223,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:224,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:225,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:226,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure
    - GEOSSTRtree_nearest
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:236,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:237,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:238,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:243,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:253,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:255,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:257,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:263,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:263,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:264,1
    - Dst: IList*::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:269,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:273,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:275,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:277,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:278,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - IList::size
    - IList*::push_back
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - ensure_equals
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:289,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:291,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:292,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:294,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:298,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:298,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:299,1
    - Dst: IList*::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:304,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:308,1
    - Dst: IList::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:310,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:312,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:313,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 315
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - IList::size
    - IList*::push_back
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSSTRtree_create
    - ensure_equals
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:322,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:327,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:328,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:329,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:332,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:334,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:337,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:338,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - GEOSSTRtree_create
    - GEOSGeom_destroy
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:348,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:352,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:352,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:355,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:359,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:365,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:366,1
    - Dst: std::thread::join
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:371,1
    - Dst: std::thread::join
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:372,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:374,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:375,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:378,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_query
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - std::thread::join
    - GEOSSTRtree_create
    - GEOSBuffer
    - GEOSGeom_destroy
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:388,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:390,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:391,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:392,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:394,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:395,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:396,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:398,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:400,1
    - Dst: GEOSSTRtree_remove
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:400,1
    - Dst: GEOSSTRtree_query
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:403,1
    - Dst: static_cast<std::vector<GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:404,1
    - Dst: auto::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:405,1
    - Dst: static_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:405,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:408,1
    - Dst: std::vector::empty
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:408,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:410,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:411,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:412,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:413,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 416
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_remove
    - GEOSSTRtree_query
    - std::vector::empty
    - GEOSSTRtree_insert
    - static_cast<std::vector<GEOSGeometry*>*>
    - GEOSSTRtree_destroy
    - static_cast<GEOSGeometry*>
    - GEOSSTRtree_create
    - ensure_equals
    - auto::push_back
    - ensure
    - GEOSGeom_destroy
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:423,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:427,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:427,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:428,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:428,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:428,1
    - Dst: GEOSSTRtree_iterate
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:434,1
    - Dst: static_cast<std::vector<GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:435,1
    - Dst: push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:436,1
    - Dst: static_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:436,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:440,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:440,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:440,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:441,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:442,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:446,1
    - Dst: GEOSSTRtree_build
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:446,1
    - Dst: GEOSSTRtree_iterate
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:450,1
    - Dst: static_cast<std::vector<GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:451,1
    - Dst: push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:452,1
    - Dst: static_cast<GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:452,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:455,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:455,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:455,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:457,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:461,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 465
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_iterate
    - GEOSSTRtree_build
    - std::vector::back
    - GEOSSTRtree_insert
    - static_cast<std::vector<GEOSGeometry*>*>
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - static_cast<GEOSGeometry*>
    - push_back
    - GEOSSTRtree_create
    - ensure_equals
    - ensure
    - GEOSGeom_destroy
    - std::vector::size
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:472,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:477,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:477,1
    - Dst: GEOSSTRtree_insert
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:478,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:478,1
    - Dst: std::vector::back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:478,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:484,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:485,1
    - Dst: GEOSSTRtree_remove
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:486,1
    - Dst: GEOSSTRtree_iterate
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:493,1
    - Dst: static_cast<std::vector<const GEOSGeometry*>*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:494,1
    - Dst: push_back
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:495,1
    - Dst: static_cast<const GEOSGeometry*>
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:495,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:498,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:498,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:502,1
    - Dst: GEOSSTRtree_destroy
      Src: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 506
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSTRtreeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_remove
    - GEOSSTRtree_iterate
    - GEOSGeomGetX
    - static_cast<std::vector<const GEOSGeometry*>*>
    - std::vector::back
    - GEOSSTRtree_insert
    - GEOSSTRtree_destroy
    - GEOSGeom_createPointFromXY
    - push_back
    - static_cast<const GEOSGeometry*>
    - GEOSSTRtree_create
    - ensure_equals
    - static_cast<int>
    - GEOSGeom_destroy
    - std::vector::size
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: tut::test_capigeosdelaunaytriangulation_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosdelaunaytriangulation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:42,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:43,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:43,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:46,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:47,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:55,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:58,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:59,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:59,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:62,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:63,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:71,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:74,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:75,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:75,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:77,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_geometry_equals
    - ensure_equals
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:86,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:88,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:89,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:91,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_geometry_equals
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:101,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:104,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:105,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:108,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_geometry_equals
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:119,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:121,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:131,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: tut::test_capigeosdelaunaytriangulation_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosdelaunaytriangulation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:42,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:43,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:43,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:46,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:47,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:55,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:58,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:59,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:59,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:62,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:63,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:71,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:74,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:75,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:75,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:77,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_geometry_equals
    - ensure_equals
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:86,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:88,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:89,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:91,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_geometry_equals
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:101,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:104,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:105,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:108,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_geometry_equals
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:119,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:121,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:131,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:25,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:26,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:27,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:34,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:38,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:42,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:46,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:50,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:52,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:53,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSHilbertCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:63,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:70,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSHilbertCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:81,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:82,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:88,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:90,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSHilbertCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:25,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:26,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:27,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:34,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:38,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:42,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:46,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:50,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:52,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:53,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSHilbertCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:63,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:70,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSHilbertCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:81,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:82,1
    - Dst: GEOSHilbertCode
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:88,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:90,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHilbertCodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSHilbertCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:22,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:23,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:24,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:25,1
    - Dst: GEOSNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:26,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:29,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:30,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:35,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:36,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:37,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:38,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:41,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:44,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 6
    argNames:
    - wkt1
    - wkt2
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - char*
    - char*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: tut::checkNearestPoints
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_destroy
    - GEOSNearestPoints
    - GEOSGeomFromWKT
    - GEOSCoordSeq_getOrdinate
    linkageType: ''
    returnType: void
    signature: "void checkNearestPoints(const char* wkt1, const char* wkt2,\n                            double
      x1, double y1,\n                            double x2, double y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:51,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:53,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:54,1
    - Dst: GEOSNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:55,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wkt1
    - wkt2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: tut::checkNearestPointsNull
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - tut::ensure
    - GEOSNearestPoints
    linkageType: ''
    returnType: void
    signature: void checkNearestPointsNull(const char* wkt1, const char* wkt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPointsNull
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPointsNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:22,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:23,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:24,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:25,1
    - Dst: GEOSNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:26,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:29,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:30,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:35,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:36,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:37,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:38,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:41,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:44,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 6
    argNames:
    - wkt1
    - wkt2
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - char*
    - char*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: tut::checkNearestPoints
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_destroy
    - GEOSNearestPoints
    - GEOSGeomFromWKT
    - GEOSCoordSeq_getOrdinate
    linkageType: ''
    returnType: void
    signature: "void checkNearestPoints(const char* wkt1, const char* wkt2,\n                            double
      x1, double y1,\n                            double x2, double y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:51,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:53,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:54,1
    - Dst: GEOSNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:55,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wkt1
    - wkt2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: tut::checkNearestPointsNull
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - tut::ensure
    - GEOSNearestPoints
    linkageType: ''
    returnType: void
    signature: void checkNearestPointsNull(const char* wkt1, const char* wkt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPointsNull
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPointsNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNearestPoints
      Src: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNearestPointsTest.cpp
    functionUses: 0
    functionsReached:
    - checkNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:31,1
    - Dst: GEOSBuildArea
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:32,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:33,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - fromWKT
    - GEOSBuildArea
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:42,1
    - Dst: GEOSBuildArea
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSBuildArea
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:31,1
    - Dst: GEOSBuildArea
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:32,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:33,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - fromWKT
    - GEOSBuildArea
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:42,1
    - Dst: GEOSBuildArea
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBuildAreaTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSBuildArea
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:32,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:33,1
    - Dst: GEOSFrechetDistance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:38,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSFrechetDistance
    - ensure_distance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:48,1
    - Dst: GEOSFrechetDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:53,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistanceDensify
    - ensure_equals
    - ensure_distance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:65,1
    - Dst: GEOSFrechetDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistanceDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:80,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:81,1
    - Dst: GEOSFrechetDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistanceDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:93,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:100,1
    - Dst: GEOSFrechetDistance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:101,1
    - Dst: GEOSFrechetDistance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistance
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:32,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:33,1
    - Dst: GEOSFrechetDistance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:38,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSFrechetDistance
    - ensure_distance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:48,1
    - Dst: GEOSFrechetDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:53,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistanceDensify
    - ensure_equals
    - ensure_distance
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:65,1
    - Dst: GEOSFrechetDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistanceDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:80,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:81,1
    - Dst: GEOSFrechetDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistanceDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:93,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:100,1
    - Dst: GEOSFrechetDistance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:101,1
    - Dst: GEOSFrechetDistance
      Src: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSFrechetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFrechetDistance
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:16,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:17,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:18,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:19,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:20,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wktInput
    - gridSize
    - wktExpected
    argTypes:
    - char*
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: tut::checkPrecision
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGeom_setPrecision
    - tut::fromWKT
    - ensure_geometry_equals
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void checkPrecision(const char* wktInput, double gridSize, const char*
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:40,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:40,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:43,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:45,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGeom_getPrecision
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:65,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:68,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:69,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:75,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:76,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:80,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:82,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:84,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:85,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:89,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:90,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:92,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:94,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:97,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:98,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeom_getPrecision
    - fromWKT
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:107,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:109,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:110,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:113,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:124,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:126,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:127,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:130,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - ensure_geometry_equals
    - toWKT
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:148,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:149,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:158,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:159,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:168,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:169,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:279,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:280,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:281,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:303,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:304,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:305,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:306,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:307,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:308,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:309,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:311,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:312,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:313,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:314,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:315,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:316,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 318
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:16,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:17,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:18,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:19,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:20,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wktInput
    - gridSize
    - wktExpected
    argTypes:
    - char*
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: tut::checkPrecision
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGeom_setPrecision
    - tut::fromWKT
    - ensure_geometry_equals
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void checkPrecision(const char* wktInput, double gridSize, const char*
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:40,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:40,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:43,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:45,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGeom_getPrecision
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:65,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:68,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:69,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:75,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:76,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:80,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:82,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:84,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:85,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:89,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:90,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:92,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:94,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:97,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:98,1
    - Dst: GEOSGeom_getPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeom_getPrecision
    - fromWKT
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:107,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:109,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:110,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:113,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:124,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:126,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:127,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:130,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - ensure_geometry_equals
    - toWKT
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:148,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:149,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:158,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:159,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:168,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:169,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:279,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:280,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:281,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:303,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:304,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:305,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:306,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:307,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:308,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:309,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:311,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:312,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:313,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:314,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:315,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:316,1
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 318
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_setPrecisionTest.cpp
    functionUses: 0
    functionsReached:
    - checkPrecision
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:35,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:38,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:39,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:48,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:51,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:62,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:63,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:66,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:78,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:80,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:81,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:83,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:84,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:86,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:87,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:89,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:89,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - ensure_equals
    - GEOSEquals
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:105,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:106,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - ensure_equals
    - ensure
    - GEOSEquals
    - std::strlen
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:126,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:138,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:144,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:145,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:35,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:38,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:39,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:48,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:51,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:62,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:63,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:66,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:78,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:80,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:81,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:83,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:84,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:86,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:87,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:89,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:89,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - ensure_equals
    - GEOSEquals
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:105,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:106,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - ensure_equals
    - ensure
    - GEOSEquals
    - std::strlen
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:126,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:138,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:144,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:145,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSEqualsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEquals
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: tut::count_notice
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void count_notice(const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: tut::count_error
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void count_error(const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - GEOSContextHandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: tut::provokeError
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyCollection_r
    linkageType: ''
    returnType: void
    signature: void provokeError(GEOSContextHandle_t& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:31,1
    - Dst: GEOSisValid_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:32,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - GEOSContextHandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tut::provokeNotice
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSisValid_r
    - tut::fromWKT
    linkageType: ''
    returnType: void
    signature: void provokeNotice(GEOSContextHandle_t& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:53,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:58,1
    - Dst: static_cast<std::string*>
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:60,1
    - Dst: append
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:61,1
    - Dst: GEOSContext_setNoticeMessageHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:64,1
    - Dst: static_cast<std::string*>
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:66,1
    - Dst: append
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:67,1
    - Dst: provokeError
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:70,1
    - Dst: provokeNotice
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:74,1
    - Dst: finishGEOS_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - provokeNotice
    - GEOSContext_setNoticeMessageHandler_r
    - append
    - finishGEOS_r
    - ensure_equals
    - provokeError
    - static_cast<std::string*>
    - GEOSContext_setErrorMessageHandler_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:84,1
    - Dst: GEOSContext_setErrorHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:86,1
    - Dst: GEOSContext_setNoticeHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:90,1
    - Dst: provokeError
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:94,1
    - Dst: provokeNotice
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:98,1
    - Dst: finishGEOS_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - provokeNotice
    - GEOSContext_setErrorHandler_r
    - finishGEOS_r
    - GEOSContext_setNoticeHandler_r
    - ensure_equals
    - provokeError
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: tut::count_notice
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void count_notice(const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: tut::count_error
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void count_error(const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCollection_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - GEOSContextHandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: tut::provokeError
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyCollection_r
    linkageType: ''
    returnType: void
    signature: void provokeError(GEOSContextHandle_t& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:31,1
    - Dst: GEOSisValid_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:32,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - GEOSContextHandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: tut::provokeNotice
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSisValid_r
    - tut::fromWKT
    linkageType: ''
    returnType: void
    signature: void provokeNotice(GEOSContextHandle_t& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:53,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:58,1
    - Dst: static_cast<std::string*>
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:60,1
    - Dst: append
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:61,1
    - Dst: GEOSContext_setNoticeMessageHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:64,1
    - Dst: static_cast<std::string*>
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:66,1
    - Dst: append
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:67,1
    - Dst: provokeError
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:70,1
    - Dst: provokeNotice
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:74,1
    - Dst: finishGEOS_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - provokeNotice
    - GEOSContext_setNoticeMessageHandler_r
    - append
    - finishGEOS_r
    - ensure_equals
    - provokeError
    - static_cast<std::string*>
    - GEOSContext_setErrorMessageHandler_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:84,1
    - Dst: GEOSContext_setErrorHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:86,1
    - Dst: GEOSContext_setNoticeHandler_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:90,1
    - Dst: provokeError
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:94,1
    - Dst: provokeNotice
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:98,1
    - Dst: finishGEOS_r
      Src: /src/geos/tests/unit/capi/GEOSContextTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSContextTest.cpp
    functionUses: 0
    functionsReached:
    - provokeNotice
    - GEOSContext_setErrorHandler_r
    - finishGEOS_r
    - GEOSContext_setNoticeHandler_r
    - ensure_equals
    - provokeError
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_capigeosprepareddistance_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosprepareddistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~test_capigeosprepareddistance_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosprepareddistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:32,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:33,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:37,1
    - Dst: GEOSPreparedDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - wkt1
    - wkt2
    - dist
    argTypes:
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: tut::checkDistance
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSPrepare
    - GEOSPreparedDistance
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void checkDistance(const char* wkt1, const char* wkt2,\n                       double
      dist, double tol=0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tut::test_capigeosprepareddistance_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosprepareddistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ~test_capigeosprepareddistance_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPreparedGeom_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosprepareddistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:32,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:33,1
    - Dst: GEOSPrepare
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:34,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:36,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:37,1
    - Dst: GEOSPreparedDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - wkt1
    - wkt2
    - dist
    argTypes:
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: tut::checkDistance
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - GEOSPrepare
    - GEOSPreparedDistance
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void checkDistance(const char* wkt1, const char* wkt2,\n                       double
      dist, double tol=0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistance
      Src: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPreparedDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:20,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:21,1
    - Dst: GEOSGeom_setUserData
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:23,1
    - Dst: GEOSGeom_clone
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:25,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:28,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:28,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:29,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:29,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:30,1
    - Dst: GEOSGeom_getUserData
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSGeom_clone
    - ensure_geometry_equals
    - GEOSGeom_getUserData
    - GEOSGeom_setUserData
    - GEOSSetSRID
    - GEOSGeom_getCoordSeq
    - ensure
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:38,1
    - Dst: GEOSGeom_clone
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:41,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_clone
    - ensure_equals
    - toWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:20,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:21,1
    - Dst: GEOSGeom_setUserData
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:23,1
    - Dst: GEOSGeom_clone
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:25,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:28,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:28,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:29,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:29,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:30,1
    - Dst: GEOSGeom_getUserData
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSGeom_clone
    - ensure_geometry_equals
    - GEOSGeom_getUserData
    - GEOSGeom_setUserData
    - GEOSSetSRID
    - GEOSGeom_getCoordSeq
    - ensure
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:38,1
    - Dst: GEOSGeom_clone
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:41,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_clone
    - ensure_equals
    - toWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:24,1
    - Dst: GEOSisSimple
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisSimple
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:32,1
    - Dst: GEOSisSimple
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisSimple
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:40,1
    - Dst: GEOSisSimple
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisSimple
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:24,1
    - Dst: GEOSisSimple
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisSimple
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:32,1
    - Dst: GEOSisSimple
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisSimple
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:40,1
    - Dst: GEOSisSimple
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisSimpleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisSimple
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:33,1
    - Dst: GEOSLineMerge
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:34,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_destroy
    - GEOSLineMerge
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:49,1
    - Dst: GEOSLineMerge
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineMerge
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:33,1
    - Dst: GEOSLineMerge
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:34,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGeom_destroy
    - GEOSLineMerge
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:49,1
    - Dst: GEOSLineMerge
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineMergeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineMerge
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: tut::test_capigeosnode_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosnode_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:37,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:39,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:41,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:56,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:58,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:60,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:75,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:77,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:79,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:97,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:97,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:97,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::string::size
    - GEOSGeomFromHEX_buf
    - GEOSNode
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:111,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:113,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:127,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:128,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:129,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:135,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:136,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:138,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:141,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:141,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:141,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:143,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSNormalize
    - string
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:153,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:154,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:155,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:161,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:162,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:164,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:167,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:167,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:167,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:169,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSNormalize
    - string
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:179,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:180,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:181,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:187,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:188,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:190,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:191,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:193,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:193,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:193,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:195,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSNormalize
    - string
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:204,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSNode
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: tut::test_capigeosnode_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosnode_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:37,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:39,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:41,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:56,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:58,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:60,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:75,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:77,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:79,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:97,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:97,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:97,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::string::size
    - GEOSGeomFromHEX_buf
    - GEOSNode
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:111,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:113,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:127,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:128,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:129,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:135,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:136,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:138,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:141,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:141,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:141,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:143,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSNormalize
    - string
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:153,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:154,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:155,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:161,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:162,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:164,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:167,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:167,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:167,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:169,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSNormalize
    - string
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:179,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:180,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:181,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:187,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:188,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:190,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:191,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:193,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:193,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:193,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:195,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSNormalize
    - string
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSNode
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:204,1
    - Dst: GEOSNode
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSNodeTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSNodeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSNode
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: tut::test_capicentroid_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capicentroid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:40,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:44,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:48,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:48,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:60,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:64,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:80,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:84,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:88,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:88,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:105,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:109,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:125,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:129,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:133,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:133,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:142,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGetCentroid
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: tut::test_capicentroid_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capicentroid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:40,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:44,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:48,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:48,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:60,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:64,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:80,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:84,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:88,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:88,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:105,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:109,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:113,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:125,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:129,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:133,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:133,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetCentroid
    - string
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:142,1
    - Dst: GEOSGetCentroid
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGetCentroid
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capiconstrainedgeosdelaunaytriangulation_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiconstrainedgeosdelaunaytriangulation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:42,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:43,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConstrainedDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:52,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:54,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:55,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConstrainedDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:65,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:66,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - fromWKT
    - GEOSConstrainedDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:76,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSConstrainedDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capiconstrainedgeosdelaunaytriangulation_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiconstrainedgeosdelaunaytriangulation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:38,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:42,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:43,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConstrainedDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:52,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:54,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:55,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConstrainedDelaunayTriangulation
    - GEOSGeomTypeId
    - ensure_equals
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:65,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:66,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - fromWKT
    - GEOSConstrainedDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:76,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConstrainedDelaunayTriangulationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSConstrainedDelaunayTriangulation
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:25,1
    - Dst: GEOSGetNumInteriorRings
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:25,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGetNumInteriorRings
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:36,1
    - Dst: GEOSGetNumInteriorRings
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:36,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGetNumInteriorRings
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:48,1
    - Dst: GEOSGetNumInteriorRings
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSGetNumInteriorRings
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:25,1
    - Dst: GEOSGetNumInteriorRings
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:25,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGetNumInteriorRings
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:36,1
    - Dst: GEOSGetNumInteriorRings
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:36,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGetNumInteriorRings
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:48,1
    - Dst: GEOSGetNumInteriorRings
      Src: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetNumInteriorRingsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSGetNumInteriorRings
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: tut::test_capigeosbuffer_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosbuffer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSBufferParams_destroy
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~test_capigeosbuffer_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferParams_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosbuffer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:48,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:53,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:55,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:64,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:69,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:71,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:80,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:85,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:87,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:96,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:100,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:101,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:101,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_equals
    - GEOSArea
    - ensure_area
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:110,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:114,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:115,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:115,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_equals
    - GEOSArea
    - ensure_area
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:124,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:127,1
    - Dst: GEOSBufferParams_setQuadrantSegments
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:128,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:129,1
    - Dst: GEOSBufferParams_setJoinStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:130,1
    - Dst: GEOSBufferParams_setMitreLimit
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:130,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:132,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:135,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:136,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:136,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferParams_setJoinStyle
    - GEOSBufferParams_setQuadrantSegments
    - GEOSBufferParams_setMitreLimit
    - GEOSBufferParams_create
    - ensure_equals
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - fromWKT
    - GEOSGetNumCoordinates
    - GEOSArea
    - ensure_area
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:145,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:151,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:152,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:152,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:161,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:167,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:168,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:168,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:169,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:171,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:180,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:185,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:187,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:187,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:188,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:190,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:200,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:205,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:206,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:206,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:216,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:221,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:222,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:222,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:223,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:225,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:235,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:237,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:239,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:240,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:241,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:241,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:242,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:244,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:255,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:260,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:260,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:261,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:261,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:262,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:264,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:273,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:275,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:279,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:279,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:280,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:280,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:289,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:291,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:293,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:294,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:294,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:296,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:296,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:305,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:310,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:311,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:311,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:321,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:323,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:324,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:325,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:327,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:329,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSBufferParams_create
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - fromWKT
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:340,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:342,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:343,1
    - Dst: GEOSBufferParams_setSingleSided
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:344,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:345,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:346,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:348,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSBufferParams_create
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - GEOSBufferParams_setSingleSided
    - fromWKT
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:359,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:361,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:362,1
    - Dst: GEOSBufferParams_setSingleSided
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:363,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:364,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:365,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:367,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSBufferParams_create
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - GEOSBufferParams_setSingleSided
    - fromWKT
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:377,1
    - Dst: GEOSSingleSidedBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:379,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:380,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:382,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSSingleSidedBuffer
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:413,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:417,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValid
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:425,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:426,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:426,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:427,1
    - Dst: GEOSBufferParams_setJoinStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferParams_create
    - ensure_equals
    - GEOSBufferParams_setEndCapStyle
    - GEOSBufferParams_setJoinStyle
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:438,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:439,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:440,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - reinterpret_cast<const unsigned char*>
    - ensure
    - GEOSBuffer
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:450,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:451,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:455,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:464,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:466,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: tut::test_capigeosbuffer_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosbuffer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSBufferParams_destroy
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ~test_capigeosbuffer_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferParams_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosbuffer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:48,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:53,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:55,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:64,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:69,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:71,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:80,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:85,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:87,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:96,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:100,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:101,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:101,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_equals
    - GEOSArea
    - ensure_area
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:110,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:114,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:115,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:115,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_equals
    - GEOSArea
    - ensure_area
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:124,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:127,1
    - Dst: GEOSBufferParams_setQuadrantSegments
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:128,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:129,1
    - Dst: GEOSBufferParams_setJoinStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:130,1
    - Dst: GEOSBufferParams_setMitreLimit
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:130,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:132,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:135,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:136,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:136,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferParams_setJoinStyle
    - GEOSBufferParams_setQuadrantSegments
    - GEOSBufferParams_setMitreLimit
    - GEOSBufferParams_create
    - ensure_equals
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - fromWKT
    - GEOSGetNumCoordinates
    - GEOSArea
    - ensure_area
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:145,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:151,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:152,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:152,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:161,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:167,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:168,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:168,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:169,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:171,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:180,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:185,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:187,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:187,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:188,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:190,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:200,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:205,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:206,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:206,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:216,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:221,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:222,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:222,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:223,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:225,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:235,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:237,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:239,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:240,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:241,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:241,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:242,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:244,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:255,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:260,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:260,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:261,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:261,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:262,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:264,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_geometry_equals
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:273,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:275,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:279,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:279,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:280,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:280,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:289,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:291,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:293,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:294,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:294,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:296,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:296,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:305,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:310,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:311,1
    - Dst: GEOSArea
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:311,1
    - Dst: ensure_area
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - ensure_equals
    - ensure
    - GEOSGetNumCoordinates
    - fromWKT
    - ensure_area
    - GEOSArea
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:321,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:323,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:324,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:325,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:327,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:329,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSBufferParams_create
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - fromWKT
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:340,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:342,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:343,1
    - Dst: GEOSBufferParams_setSingleSided
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:344,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:345,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:346,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:348,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSBufferParams_create
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - GEOSBufferParams_setSingleSided
    - fromWKT
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:359,1
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:361,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:362,1
    - Dst: GEOSBufferParams_setSingleSided
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:363,1
    - Dst: GEOSBufferWithParams
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:364,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:365,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:367,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSBufferParams_create
    - ensure
    - GEOSBufferParams_setEndCapStyle
    - GEOSBufferParams_setSingleSided
    - fromWKT
    - GEOSBufferWithParams
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:377,1
    - Dst: GEOSSingleSidedBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:379,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:380,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:382,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSSingleSidedBuffer
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:413,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:417,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValid
    - GEOSBufferWithStyle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSBufferParams_create
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:425,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:426,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:426,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:427,1
    - Dst: GEOSBufferParams_setJoinStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferParams_create
    - ensure_equals
    - GEOSBufferParams_setEndCapStyle
    - GEOSBufferParams_setJoinStyle
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:437,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:438,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:439,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:440,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - reinterpret_cast<const unsigned char*>
    - ensure
    - GEOSBuffer
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:450,1
    - Dst: GEOSBufferWithStyle
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:451,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:455,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBufferWithStyle
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:464,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:466,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBufferTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBufferTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:24,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:24,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:25,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:27,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:27,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:30,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:32,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:33,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - wkt_input
    - wkt_output
    - tolerance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: tut::testDensify
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGetSRID
    - tut::fromWKT
    - ensure_geometry_equals_identical
    - tut::ensure_equals
    - GEOSSetSRID
    - GEOSDensify
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: "void testDensify(\n        const std::string &wkt_input,\n        const
      std::string &wkt_output,\n        double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:153,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:155,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:156,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:167,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:24,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:24,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:25,1
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:27,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:27,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:30,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:32,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:33,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - wkt_input
    - wkt_output
    - tolerance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: tut::testDensify
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGetSRID
    - tut::fromWKT
    - ensure_geometry_equals_identical
    - tut::ensure_equals
    - GEOSSetSRID
    - GEOSDensify
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: "void testDensify(\n        const std::string &wkt_input,\n        const
      std::string &wkt_output,\n        double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:153,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:155,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:156,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:167,1
    - Dst: GEOSDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDensify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDensify
      Src: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDensifyTest.cpp
    functionUses: 0
    functionsReached:
    - testDensify
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: tut::test_geoswktwriter_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_create
    linkageType: ''
    returnType: void
    signature: void test_geoswktwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:20,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ~test_geoswktwriter_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geoswktwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:27,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:27,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:28,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:30,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:32,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:33,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: tut::test_writer_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - free
    - GEOSGeom_destroy
    - c_str
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_writer_wkt(std::string const& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:41,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:41,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:42,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:44,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:46,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wkt'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: tut::test_writer_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - free
    - GEOSGeom_destroy
    - c_str
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_writer_wkt(std::string const& wkt, std::string const& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:66,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:66,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:68,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:69,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:70,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSWKTWriter_getOutputDimension
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:80,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:80,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:82,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:83,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:84,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - ensure_equals
    - GEOSWKTWriter_getOutputDimension
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setTrim
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:93,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:95,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:95,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:97,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:98,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:99,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - test_writer_wkt
    - GEOSWKTWriter_setTrim
    - ensure_equals
    - GEOSWKTWriter_getOutputDimension
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setOld3D
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:108,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:109,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:111,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:112,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:113,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - test_writer_wkt
    - GEOSWKTWriter_setOld3D
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setOld3D
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:124,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:124,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:126,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:127,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:128,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - test_writer_wkt
    - GEOSWKTWriter_getOutputDimension
    - GEOSWKTWriter_setOld3D
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setTrim
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:138,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:139,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:143,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:144,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:145,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - GEOSWKTWriter_setTrim
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setTrim
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:155,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:156,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:158,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:159,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:160,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setTrim
    - GEOSWKTWriter_setRoundingPrecision
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: tut::test_geoswktwriter_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_create
    linkageType: ''
    returnType: void
    signature: void test_geoswktwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:20,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ~test_geoswktwriter_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geoswktwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:27,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:27,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:28,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:30,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:32,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:33,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: tut::test_writer_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - free
    - GEOSGeom_destroy
    - c_str
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_writer_wkt(std::string const& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:41,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:41,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:42,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:44,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:46,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wkt'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: tut::test_writer_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - free
    - GEOSGeom_destroy
    - c_str
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_writer_wkt(std::string const& wkt, std::string const& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:66,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:66,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:68,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:69,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:70,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSWKTWriter_getOutputDimension
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:80,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:80,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:82,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:83,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:84,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - ensure_equals
    - GEOSWKTWriter_getOutputDimension
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setTrim
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:93,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:95,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:95,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:97,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:98,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:99,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - test_writer_wkt
    - GEOSWKTWriter_setTrim
    - ensure_equals
    - GEOSWKTWriter_getOutputDimension
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setOld3D
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:108,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:109,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:111,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:112,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:113,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - test_writer_wkt
    - GEOSWKTWriter_setOld3D
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setOld3D
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:124,1
    - Dst: GEOSWKTWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:124,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:126,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:127,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:128,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - test_writer_wkt
    - GEOSWKTWriter_getOutputDimension
    - GEOSWKTWriter_setOld3D
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setTrim
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:138,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:139,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:143,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:144,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:145,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setOutputDimension
    - GEOSWKTWriter_setTrim
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setTrim
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:155,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:156,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:158,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:159,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:160,1
    - Dst: test_writer_wkt
      Src: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKTWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setTrim
    - GEOSWKTWriter_setRoundingPrecision
    - test_writer_wkt
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:23,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:24,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:27,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:29,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGetSRID
    - GEOSUnion
    - GEOSSetSRID
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:55,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:55,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:55,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:56,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:56,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:59,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSUnion
    - ensure
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:69,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:73,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnion
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:23,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:24,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:27,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:29,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGetSRID
    - GEOSUnion
    - GEOSSetSRID
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:55,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:55,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:55,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:56,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:56,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:59,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSUnion
    - ensure
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:69,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:73,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnion
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:21,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:22,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:27,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:28,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:31,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:32,1
    - Dst: malloc
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:33,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:36,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:43,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:43,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:45,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:46,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 51
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - free
    - GEOSCoordSeq_setXY
    - GEOSGeom_destroy
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - malloc
    - ensure_equals
    - GEOSGeomFromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:58,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:62,1
    - Dst: GEOSGeom_createLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:65,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:71,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createLineString
    - GEOSCoordSeq_setXY
    - GEOSGeom_destroy
    - GEOSGeom_createPolygon
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:88,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:92,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSGeom_createPolygon
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:21,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:22,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:27,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:28,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:31,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:32,1
    - Dst: malloc
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:33,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:36,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:43,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:43,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:45,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:46,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 51
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - free
    - GEOSCoordSeq_setXY
    - GEOSGeom_destroy
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - malloc
    - ensure_equals
    - GEOSGeomFromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:58,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:62,1
    - Dst: GEOSGeom_createLineString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:65,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:71,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createLineString
    - GEOSCoordSeq_setXY
    - GEOSGeom_destroy
    - GEOSGeom_createPolygon
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:88,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:92,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSGeom_createPolygon
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:32,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:42,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:52,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:62,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:72,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:84,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:32,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:42,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:52,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:62,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:72,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:84,1
    - Dst: GEOSisRing
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisRingTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSisRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:26,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:29,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSRelate
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:43,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:44,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSRelate
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:26,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:29,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSRelate
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:43,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:44,1
    - Dst: GEOSRelate
      Src: /src/geos/tests/unit/capi/GEOSRelateTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSRelate
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:34,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:35,1
    - Dst: GEOSConvexHull
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:38,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConvexHull
    - ensure_geometry_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:47,1
    - Dst: GEOSConvexHull
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSConvexHull
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:34,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:35,1
    - Dst: GEOSConvexHull
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:38,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConvexHull
    - ensure_geometry_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:47,1
    - Dst: GEOSConvexHull
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConvexHullTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSConvexHull
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:21,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:22,1
    - Dst: GEOSGeom_createCompoundCurve
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:25,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:26,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - fromWKT
    - GEOSGeom_createCompoundCurve
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:38,1
    - Dst: GEOSGeom_createCompoundCurve
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSGeom_createCompoundCurve
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCompoundCurve
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:51,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:52,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:53,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeom_createEmptyCompoundCurve
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:21,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:22,1
    - Dst: GEOSGeom_createCompoundCurve
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:25,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:26,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - fromWKT
    - GEOSGeom_createCompoundCurve
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:38,1
    - Dst: GEOSGeom_createCompoundCurve
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSGeom_createCompoundCurve
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCompoundCurve
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:51,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:52,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:53,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeom_createEmptyCompoundCurve
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:24,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:26,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:29,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:32,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:32,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSDifference
    - ensure_geometry_equals
    - GEOSSetSRID
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:41,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:45,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:47,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:51,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:53,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:54,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:56,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:57,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:58,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDifference
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:66,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:70,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSDifference
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:24,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:26,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:29,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:32,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:32,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSDifference
    - ensure_geometry_equals
    - GEOSSetSRID
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:41,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:45,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:47,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:51,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:53,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:54,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:56,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:57,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:58,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSDifference
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:66,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:70,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDifferenceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSDifference
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: tut::test_data_GEOSLargestEmptyCircle
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_data_GEOSLargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: ~test_data_GEOSLargestEmptyCircle()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_data_GEOSLargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:44,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:45,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:46,1
    - Dst: ensure_geometry_equals_exact
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals_exact
    - GEOSLargestEmptyCircle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:56,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:57,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:58,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:59,1
    - Dst: ensure_geometry_equals_exact
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals_exact
    - GEOSLargestEmptyCircle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:68,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLargestEmptyCircle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:79,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:82,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLargestEmptyCircle
    - ensure
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: tut::test_data_GEOSLargestEmptyCircle
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_data_GEOSLargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: ~test_data_GEOSLargestEmptyCircle()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_data_GEOSLargestEmptyCircle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:44,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:45,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:46,1
    - Dst: ensure_geometry_equals_exact
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals_exact
    - GEOSLargestEmptyCircle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:56,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:57,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:58,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:59,1
    - Dst: ensure_geometry_equals_exact
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals_exact
    - GEOSLargestEmptyCircle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:68,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLargestEmptyCircle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:79,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:82,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLargestEmptyCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLargestEmptyCircle
    - ensure
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:28,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:29,1
    - Dst: GEOSTopologyPreserveSimplify
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:32,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:35,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - ensure_geometry_equals
    - GEOSTopologyPreserveSimplify
    - GEOSSetSRID
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:43,1
    - Dst: GEOSTopologyPreserveSimplify
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:44,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:45,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals
    - GEOSTopologyPreserveSimplify
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:55,1
    - Dst: GEOSTopologyPreserveSimplify
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSTopologyPreserveSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:28,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:29,1
    - Dst: GEOSTopologyPreserveSimplify
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:32,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:35,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - ensure_geometry_equals
    - GEOSTopologyPreserveSimplify
    - GEOSSetSRID
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:43,1
    - Dst: GEOSTopologyPreserveSimplify
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:44,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:45,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals
    - GEOSTopologyPreserveSimplify
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:55,1
    - Dst: GEOSTopologyPreserveSimplify
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSTopologyPreserveSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSTopologyPreserveSimplify
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSegmentIntersection
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSSegmentIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSegmentIntersection
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSSegmentIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSegmentIntersection
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSSegmentIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSegmentIntersection
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSegmentIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSSegmentIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:26,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:30,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:31,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - ensure_equals
    - fromWKT
    - GEOSRelatePattern
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:38,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:44,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:45,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSRelatePattern
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:53,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:60,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:63,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:66,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSRelatePattern
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:26,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:30,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:31,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - ensure
    - ensure_equals
    - fromWKT
    - GEOSRelatePattern
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:38,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:44,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:45,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSRelatePattern
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:53,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:60,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:63,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:66,1
    - Dst: GEOSRelatePattern
      Src: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRelatePatternTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSRelatePattern
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:23,1
    - Dst: GEOSGeomType
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:24,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:25,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:25,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:28,1
    - Dst: GEOSGeomType
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:30,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:30,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:31,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:33,1
    - Dst: GEOSGeomType
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:35,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:35,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - string
    - ensure_equals
    - fromWKT
    - GEOSGeomType
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:23,1
    - Dst: GEOSGeomType
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:24,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:25,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:25,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:28,1
    - Dst: GEOSGeomType
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:30,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:30,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:31,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:33,1
    - Dst: GEOSGeomType
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:35,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:35,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomTypeTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - string
    - ensure_equals
    - fromWKT
    - GEOSGeomType
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:24,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:25,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:34,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:43,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:52,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:24,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:25,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:34,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:43,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:52,1
    - Dst: GEOSGeom_getCoordinateDimension
      Src: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getCoordinateDimensionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getCoordinateDimension
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:33,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:34,1
    - Dst: GEOSConcaveHull
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:37,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:37,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHull
    - ensure_geometry_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:45,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:46,1
    - Dst: GEOSConcaveHullByLength
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:49,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:49,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSConcaveHullByLength
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:58,1
    - Dst: GEOSConcaveHull
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHull
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:33,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:34,1
    - Dst: GEOSConcaveHull
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:37,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:37,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHull
    - ensure_geometry_equals
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:45,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:46,1
    - Dst: GEOSConcaveHullByLength
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:49,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:49,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals
    - GEOSConcaveHullByLength
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:58,1
    - Dst: GEOSConcaveHull
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHull
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:24,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:25,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:25,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:28,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:28,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:31,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeom_getDimensions
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:39,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeom_getDimensions
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:24,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:25,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:25,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:28,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:28,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:31,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeom_getDimensions
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:39,1
    - Dst: GEOSGeom_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_getDimensionsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSGeom_getDimensions
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosvoronoidiagram_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosvoronoidiagram_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:25,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:26,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:28,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:28,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:28,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:30,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:32,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:33,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:34,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:36,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:36,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: tut::check_voronoi_ordered
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSVoronoiDiagram
    - tut::ensure
    - tut::ensure_equals
    - GEOSGeom_createPointFromXY
    - GEOSContains
    - GEOSGetGeometryN
    - GEOSGeom_getCoordSeq
    - GEOSGeom_destroy
    - GEOSGetNumCoordinates
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void check_voronoi_ordered(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:60,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:62,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:65,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:66,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:66,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:68,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:69,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:72,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSVoronoiDiagram
    - std::fetestexcept
    - std::feclearexcept
    - GEOSGeomTypeId
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:81,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:83,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:84,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:87,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:88,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:98,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:100,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:101,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:104,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:105,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:115,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:117,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:118,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:121,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:122,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:131,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:133,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:134,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:137,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:138,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:147,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:148,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:160,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:160,1
    - Dst: std::string::length
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:160,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - GEOSVoronoiDiagram
    - GEOSGeomFromHEX_buf
    - std::string::length
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_voronoi_ordered
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:170,1
    - Dst: check_voronoi_ordered
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - check_voronoi_ordered
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:180,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSVoronoiDiagram
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: tut::test_capigeosvoronoidiagram_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosvoronoidiagram_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:25,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:26,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:28,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:28,1
    - Dst: GEOSGetNumCoordinates
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:28,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:30,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:32,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:33,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:34,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:36,1
    - Dst: GEOSContains
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:36,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: tut::check_voronoi_ordered
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSVoronoiDiagram
    - tut::ensure
    - tut::ensure_equals
    - GEOSGeom_createPointFromXY
    - GEOSContains
    - GEOSGetGeometryN
    - GEOSGeom_getCoordSeq
    - GEOSGeom_destroy
    - GEOSGetNumCoordinates
    - GEOSGeomFromWKT
    - GEOSGetNumGeometries
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void check_voronoi_ordered(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:60,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:62,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:65,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:66,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:66,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:68,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:69,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:72,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSVoronoiDiagram
    - std::fetestexcept
    - std::feclearexcept
    - GEOSGeomTypeId
    - ensure_geometry_equals
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:81,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:83,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:84,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:87,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:88,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:98,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:100,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:101,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:104,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:105,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:115,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:117,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:118,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:121,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:122,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:131,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:133,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:134,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:137,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:138,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - GEOSGeom_destroy
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:147,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:148,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSVoronoiDiagram
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:160,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:160,1
    - Dst: std::string::length
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:160,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - GEOSVoronoiDiagram
    - GEOSGeomFromHEX_buf
    - std::string::length
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_voronoi_ordered
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:170,1
    - Dst: check_voronoi_ordered
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - check_voronoi_ordered
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:180,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSVoronoiDiagramTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSVoronoiDiagram
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: tut::test_capigeosminimumwidth_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capigeosminimumwidth_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:37,1
    - Dst: GEOSMinimumWidth
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:41,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:41,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:44,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:44,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:44,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumWidth
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:55,1
    - Dst: GEOSMinimumWidth
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:59,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:59,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:62,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:62,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:62,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumWidth
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:72,1
    - Dst: GEOSMinimumWidth
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumWidth
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: tut::test_capigeosminimumwidth_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capigeosminimumwidth_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:37,1
    - Dst: GEOSMinimumWidth
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:41,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:41,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:44,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:44,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:44,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumWidth
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:55,1
    - Dst: GEOSMinimumWidth
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:59,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:59,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:62,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:62,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:62,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumWidth
    - string
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:72,1
    - Dst: GEOSMinimumWidth
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumWidthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumWidth
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:22,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:26,1
    - Dst: GEOSGeom_getXMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:27,1
    - Dst: GEOSGeom_getYMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:28,1
    - Dst: GEOSGeom_getXMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:29,1
    - Dst: GEOSGeom_getYMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:36,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getYMax
    - GEOSGeom_getXMax
    - GEOSGeom_getExtent
    - GEOSGeom_getYMin
    - ensure
    - GEOSGeom_getXMin
    - fromWKT
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:51,1
    - Dst: GEOSGeom_getXMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:52,1
    - Dst: GEOSGeom_getYMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:53,1
    - Dst: GEOSGeom_getXMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:54,1
    - Dst: GEOSGeom_getYMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:56,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getYMax
    - GEOSGeom_getXMax
    - GEOSGeom_getExtent
    - ensure_equals
    - GEOSGeom_getXMin
    - GEOSGeom_getYMin
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:22,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:26,1
    - Dst: GEOSGeom_getXMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:27,1
    - Dst: GEOSGeom_getYMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:27,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:28,1
    - Dst: GEOSGeom_getXMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:29,1
    - Dst: GEOSGeom_getYMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:32,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:36,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getYMax
    - GEOSGeom_getXMax
    - GEOSGeom_getExtent
    - GEOSGeom_getYMin
    - ensure
    - GEOSGeom_getXMin
    - fromWKT
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:49,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:51,1
    - Dst: GEOSGeom_getXMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:52,1
    - Dst: GEOSGeom_getYMax
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:53,1
    - Dst: GEOSGeom_getXMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:54,1
    - Dst: GEOSGeom_getYMin
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:56,1
    - Dst: GEOSGeom_getExtent
      Src: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_extentTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_getYMax
    - GEOSGeom_getXMax
    - GEOSGeom_getExtent
    - ensure_equals
    - GEOSGeom_getXMin
    - GEOSGeom_getYMin
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_interruptRequest
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: tut::interruptNow
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - GEOS_interruptRequest
    linkageType: ''
    returnType: void
    signature: void interruptNow()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: tut::countCalls
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countCalls()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:57,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:65,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:71,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:73,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:74,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:76,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSBuffer
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:90,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:94,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:96,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:99,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:105,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:107,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:108,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:109,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:111,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSSnap
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:124,1
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:128,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:132,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:138,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:140,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:141,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:143,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 146
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSBuffer
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:154,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:158,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:160,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:162,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:163,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:167,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - GEOSBuffer
    - ensure
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:180,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:184,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:186,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:187,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:188,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:189,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:190,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:191,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:194,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 197
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - GEOSBuffer
    - ensure
    - ensure_equals
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_interruptRequest
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: tut::interruptNow
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - GEOS_interruptRequest
    linkageType: ''
    returnType: void
    signature: void interruptNow()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: tut::countCalls
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countCalls()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:57,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:65,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:71,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:73,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:74,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:76,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSBuffer
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:90,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:94,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:96,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:99,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:105,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:107,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:108,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:109,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:111,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSSnap
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:124,1
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:128,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:132,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:138,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:140,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:141,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:143,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 146
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSBuffer
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:154,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:158,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:160,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:162,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:163,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:167,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - GEOSBuffer
    - ensure
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:180,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:184,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:186,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:187,1
    - Dst: GEOSBuffer
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:188,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:189,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:190,1
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:191,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:194,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 197
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSInterruptTest.cpp
    functionUses: 0
    functionsReached:
    - initGEOS
    - GEOSGeom_destroy
    - GEOSBuffer
    - ensure
    - ensure_equals
    - GEOSGeomFromWKT
    - GEOS_interruptRegisterCallback
    - finishGEOS
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:39,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:43,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:55,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:59,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:63,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:75,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:79,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:83,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:96,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:99,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:100,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:102,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:103,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:105,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:106,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:108,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:108,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSIntersects
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:129,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:131,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::strlen
    - GEOSIntersects
    - GEOSGeomFromHEX_buf
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:148,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:149,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:166,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:169,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSIntersects
    - reinterpret_cast<const unsigned char*>
    - ensure
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:181,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:182,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:194,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:195,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:198,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:200,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:210,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:211,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:213,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:214,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:224,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:225,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:228,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:230,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:230,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:231,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSIntersects
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:239,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:244,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:245,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSIntersects
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:252,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:253,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:255,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:256,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSIntersects
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:39,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:43,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:55,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:59,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:63,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:75,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:79,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:83,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:96,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:99,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:100,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:102,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:103,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:105,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:106,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:108,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:108,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSIntersects
    - GEOSGeom_createPolygon
    - GEOSGeom_createLinearRing
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:129,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:131,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::strlen
    - GEOSIntersects
    - GEOSGeomFromHEX_buf
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:148,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:149,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:166,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:169,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromHEX_buf
    - GEOSIntersects
    - reinterpret_cast<const unsigned char*>
    - ensure
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:181,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:182,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:194,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:195,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:198,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:200,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:210,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:211,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:213,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:214,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:224,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:225,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:228,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:230,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:230,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:231,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - GEOSIntersects
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:239,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:244,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:245,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSIntersects
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:252,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:253,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:255,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:256,1
    - Dst: GEOSIntersects
      Src: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSIntersects
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capiunaryunionprec_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiunaryunionprec_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:40,1
    - Dst: GEOSUnaryUnionPrec
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:45,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:45,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnionPrec
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capiunaryunionprec_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiunaryunionprec_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:40,1
    - Dst: GEOSUnaryUnionPrec
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:45,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:45,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnionPrec
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: tut::test_capigeosintersection_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosintersection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:33,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:37,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:40,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:49,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:53,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:56,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:65,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:66,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:70,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:74,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:84,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:88,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:90,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:93,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:95,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:97,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSNormalize
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:106,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:110,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:122,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:126,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:138,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:139,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:143,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - std::fetestexcept
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:150,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:153,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:154,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSIntersection
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:167,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:168,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:172,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:173,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - ensure
    - GEOSHasM
    - fromWKT
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: tut::test_capigeosintersection_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeosintersection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:33,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:37,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:40,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:49,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:53,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:56,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:65,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:66,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:70,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:74,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:84,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:88,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:90,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:93,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:95,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:97,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSNormalize
    - ensure
    - GEOSGeomFromWKT
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:106,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:110,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:122,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:126,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:138,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:139,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:143,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - std::fetestexcept
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:150,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:153,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:154,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSIntersection
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:167,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:168,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:172,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:173,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - ensure
    - GEOSHasM
    - fromWKT
    - GEOSIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:25,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:26,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:27,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:27,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSSetSRID
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:25,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:26,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:27,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:27,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSetSRIDTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetSRID
    - GEOSSetSRID
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: tut::test_capigeoscoordseq_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeoscoordseq_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~test_capigeoscoordseq_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeoscoordseq_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:56,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:59,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:60,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:67,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:68,1
    - Dst: GEOSCoordSeq_setZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:72,1
    - Dst: GEOSCoordSeq_getX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:73,1
    - Dst: GEOSCoordSeq_getY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:74,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_getY
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getX
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    - GEOSCoordSeq_setZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:93,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:96,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:97,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:104,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:105,1
    - Dst: GEOSCoordSeq_setZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:109,1
    - Dst: GEOSCoordSeq_getY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:110,1
    - Dst: GEOSCoordSeq_getX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:111,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_getY
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getX
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    - GEOSCoordSeq_setZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:129,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:132,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:140,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:140,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:141,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:142,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:145,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:146,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:147,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:154,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 155
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getOrdinate
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:168,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:171,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:171,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:172,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:179,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:180,1
    - Dst: GEOSCoordSeq_setZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:184,1
    - Dst: GEOSCoordSeq_getY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:185,1
    - Dst: GEOSCoordSeq_getX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:186,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:188,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:189,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_getY
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getX
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    - GEOSCoordSeq_setZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:204,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:207,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:208,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:215,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:216,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:220,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:221,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:222,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:224,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:225,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 227
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getOrdinate
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:240,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:241,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:243,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getSize
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:259,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:262,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:263,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:265,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:266,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:268,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:269,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:271,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:272,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:274,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:274,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 276
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:284,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:287,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:288,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:290,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:291,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:293,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:294,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:296,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:297,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:299,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:299,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:309,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:312,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:313,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:315,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:316,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:318,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:319,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:321,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:331,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:334,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:334,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:343,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:348,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:348,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:349,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:351,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:351,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:352,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:357,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:360,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:360,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:362,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:363,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:366,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:368,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:369,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:370,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:370,1
    - Dst: GEOSCoordSeq_setXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:374,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:376,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:376,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:378,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:379,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 381
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_setXY
    - GEOSCoordSeq_getXY
    - std::isnan
    - GEOSCoordSeq_setXYZ
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:391,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:392,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:395,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:395,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:398,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:398,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:399,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:400,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:402,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:402,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:403,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:404,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:404,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:407,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:407,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:408,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:411,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:411,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:411,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:413,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:414,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:414,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:418,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:418,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:418,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 420
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:430,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:431,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:434,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:437,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:437,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:438,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:439,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:442,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:442,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:443,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:443,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:444,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:445,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:445,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:448,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:448,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:449,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:452,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:452,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:452,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:453,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:457,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:457,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:457,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:458,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:459,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:460,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:461,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:465,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:465,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:465,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:466,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:469,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 475
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:487,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:488,1
    - Dst: GEOSCoordSeq_copyFromArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:491,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:491,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:491,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:493,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:493,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:494,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:497,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:497,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:501,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:502,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:503,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:505,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:505,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:507,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:511,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:512,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: std::all_of
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: begin
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: end
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 519
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_copyToArrays
    - std::all_of
    - std::isnan
    - GEOSCoordSeq_copyFromArrays
    - ensure_equals
    - ensure
    - std::vector::data
    - data
    - begin
    - static_cast<double>
    - GEOSCoordSeq_getXY
    - end
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:532,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:533,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:534,1
    - Dst: GEOSCoordSeq_copyFromArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:539,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:539,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:540,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:543,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:543,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:544,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:545,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:546,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:548,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:548,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:549,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:550,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:551,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:553,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:553,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:554,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:555,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:556,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:561,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:564,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:565,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:566,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: std::all_of
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: begin
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: end
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 568
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - GEOSCoordSeq_copyToArrays
    - std::all_of
    - std::isnan
    - GEOSCoordSeq_copyFromArrays
    - ensure_equals
    - ensure
    - std::vector::data
    - data
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:578,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:579,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:582,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:582,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:586,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:586,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:591,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:591,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:592,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:593,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:594,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:594,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:597,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:597,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:598,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:598,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:599,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:599,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:600,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:600,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:604,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:604,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:604,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:606,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:607,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:608,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:612,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:612,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:612,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:613,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 616
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:626,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:627,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:630,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:630,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:634,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:634,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:635,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:639,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:639,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:640,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:641,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:642,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:645,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:645,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:646,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:646,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:647,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:647,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:648,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:648,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:652,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:652,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:652,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:653,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:654,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:655,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:656,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:657,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:658,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:659,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:660,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:664,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:664,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:664,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:665,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:666,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:667,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:668,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:669,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 671
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:678,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:678,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:679,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:687,1
    - Dst: GEOSCoordSeq_setXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:688,1
    - Dst: GEOSCoordSeq_setXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:689,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:692,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:693,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:694,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:695,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:697,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:698,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:699,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 701
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSCoordSeq_setXYZ
    - GEOSCoordSeq_create
    - GEOSCoordSeq_getXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:713,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:714,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:715,1
    - Dst: GEOSCoordSeq_copyFromArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:720,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:720,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:721,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:725,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:726,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:727,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:730,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:731,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: std::all_of
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: begin
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: end
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 734
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_copyToArrays
    - std::all_of
    - std::isnan
    - GEOSCoordSeq_copyFromArrays
    - ensure_equals
    - ensure
    - std::vector::data
    - data
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:740,1
    - Dst: GEOSCoordSeq_create_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:743,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:745,1
    - Dst: GEOSCoordSeq_setX_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:745,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:746,1
    - Dst: GEOSCoordSeq_setY_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:746,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:747,1
    - Dst: GEOSCoordSeq_setZ_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:747,1
    - Dst: GEOSCoordSeq_clone_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:750,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:753,1
    - Dst: GEOSCoordSeq_getX_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:753,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:754,1
    - Dst: GEOSCoordSeq_getY_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:754,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:755,1
    - Dst: GEOSCoordSeq_getZ_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:755,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:757,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:758,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:759,1
    - Dst: GEOSCoordSeq_destroy_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:762,1
    - Dst: GEOSCoordSeq_destroy_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:763,1
    - Dst: GEOS_finish_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 766
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setZ_r
    - GEOSCoordSeq_getY_r
    - GEOSCoordSeq_getZ_r
    - GEOSCoordSeq_setX_r
    - GEOSCoordSeq_clone_r
    - GEOSCoordSeq_getX_r
    - GEOSCoordSeq_setY_r
    - ensure_equals
    - ensure
    - GEOSCoordSeq_destroy_r
    - GEOS_finish_r
    - GEOSCoordSeq_create_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:772,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:774,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:776,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:776,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:777,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:777,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:778,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:778,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:779,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:779,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:782,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:782,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:784,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:785,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:786,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 788
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:794,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:796,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:798,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:798,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:799,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:799,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:800,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:800,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:801,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:801,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:804,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:804,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:806,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:807,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:815,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:817,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:819,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:819,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:820,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:820,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:821,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:821,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:822,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:822,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:825,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:825,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:827,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 829
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:835,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:837,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:839,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:839,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:840,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:840,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:841,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:841,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:842,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:842,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:845,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:845,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:847,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:848,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 850
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:856,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:858,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:861,1
    - Dst: GEOSCoordSeq_setM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:861,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:865,1
    - Dst: GEOSCoordSeq_getM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:865,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:866,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 867
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_getM
    - std::isnan
    - GEOSCoordSeq_setM
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:873,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:875,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:877,1
    - Dst: GEOSCoordSeq_setM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:877,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:880,1
    - Dst: GEOSCoordSeq_getM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:880,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_getM
    - GEOSCoordSeq_setM
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:888,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:890,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:892,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:892,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:893,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 894
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - ensure_not
    - GEOSCoordSeq_createWithDimensions
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:900,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:902,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:904,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:904,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:905,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - ensure_not
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:912,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:914,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:916,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:916,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:917,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - ensure_not
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:924,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:926,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:928,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:928,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:929,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 930
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: tut::test_capigeoscoordseq_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeoscoordseq_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_destroy
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ~test_capigeoscoordseq_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeoscoordseq_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:56,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:59,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:60,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:67,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:68,1
    - Dst: GEOSCoordSeq_setZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:72,1
    - Dst: GEOSCoordSeq_getX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:73,1
    - Dst: GEOSCoordSeq_getY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:74,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_getY
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getX
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    - GEOSCoordSeq_setZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:93,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:96,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:97,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:104,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:105,1
    - Dst: GEOSCoordSeq_setZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:109,1
    - Dst: GEOSCoordSeq_getY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:110,1
    - Dst: GEOSCoordSeq_getX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:111,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_getY
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getX
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    - GEOSCoordSeq_setZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:129,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:132,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:140,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:140,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:141,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:142,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:145,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:146,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:147,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:149,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:154,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 155
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getOrdinate
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:168,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:171,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:171,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:172,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:179,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:180,1
    - Dst: GEOSCoordSeq_setZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:184,1
    - Dst: GEOSCoordSeq_getY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:185,1
    - Dst: GEOSCoordSeq_getX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:186,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:188,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:189,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_getY
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getX
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    - GEOSCoordSeq_setZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:204,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:207,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:208,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:215,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:216,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:220,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:221,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:222,1
    - Dst: GEOSCoordSeq_getOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:224,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:225,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 227
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_getOrdinate
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:240,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:241,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:243,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getSize
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:259,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:262,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:263,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:265,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:266,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:268,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:269,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:271,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:272,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:274,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:274,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 276
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:284,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:287,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:288,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:290,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:291,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:293,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:294,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:296,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:297,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:299,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:299,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:309,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:312,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:313,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:315,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:316,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:318,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:319,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:321,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setX
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:331,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:334,1
    - Dst: GEOSCoordSeq_isCCW
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:334,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_isCCW
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:343,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:348,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:348,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:349,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:351,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:351,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:352,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:357,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:360,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:360,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:362,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:363,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:366,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:368,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:369,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:370,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:370,1
    - Dst: GEOSCoordSeq_setXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:374,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:376,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:376,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:378,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:379,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 381
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - GEOSCoordSeq_getSize
    - GEOSCoordSeq_setXY
    - GEOSCoordSeq_getXY
    - std::isnan
    - GEOSCoordSeq_setXYZ
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:391,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:392,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:395,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:395,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:398,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:398,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:399,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:400,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:402,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:402,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:403,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:404,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:404,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:407,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:407,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:408,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:411,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:411,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:411,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:413,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:414,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:414,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:418,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:418,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:418,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 420
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    - GEOSCoordSeq_getXY
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:430,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:431,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:434,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:437,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:437,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:438,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:439,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:442,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:442,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:443,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:443,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:444,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:445,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:445,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:448,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:448,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:449,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:452,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:452,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:452,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:453,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:457,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:457,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:457,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:458,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:459,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:460,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:461,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:465,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:465,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:465,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:466,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:469,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 475
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:487,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:488,1
    - Dst: GEOSCoordSeq_copyFromArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:491,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:491,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:491,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:493,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:493,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:494,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:497,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:497,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:501,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:502,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:503,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:505,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:505,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:507,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:510,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:511,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:512,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:515,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: std::all_of
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: begin
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: end
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:516,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 519
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_copyToArrays
    - std::all_of
    - std::isnan
    - GEOSCoordSeq_copyFromArrays
    - ensure_equals
    - ensure
    - std::vector::data
    - data
    - begin
    - static_cast<double>
    - GEOSCoordSeq_getXY
    - end
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:532,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:533,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:534,1
    - Dst: GEOSCoordSeq_copyFromArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:537,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:539,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:539,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:540,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:543,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:543,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:544,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:545,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:546,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:548,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:548,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:549,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:550,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:551,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:553,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:553,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:554,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:555,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:556,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:561,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:563,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:564,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:565,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:566,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: std::all_of
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: begin
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: end
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 568
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - GEOSCoordSeq_copyToArrays
    - std::all_of
    - std::isnan
    - GEOSCoordSeq_copyFromArrays
    - ensure_equals
    - ensure
    - std::vector::data
    - data
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:578,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:579,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:582,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:582,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:586,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:586,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:591,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:591,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:592,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:593,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:594,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:594,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:597,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:597,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:598,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:598,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:599,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:599,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:600,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:600,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:604,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:604,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:604,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:606,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:607,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:608,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:612,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:612,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:612,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:613,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 616
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - std::isnan
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:626,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:627,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:630,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:630,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:634,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:634,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:635,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:639,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:639,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:640,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:641,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:642,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:645,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:645,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:646,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:646,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:647,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:647,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:648,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:648,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:652,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:652,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:652,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:653,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:654,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:655,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:656,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:657,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:658,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:659,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:660,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:664,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:664,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:664,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:665,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:666,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:667,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:668,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:669,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 671
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXYZ
    - std::vector::size
    - GEOSCoordSeq_copyToBuffer
    - ensure_equals
    - ensure
    - GEOSCoordSeq_copyFromBuffer
    - std::vector::data
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:678,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:678,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:679,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:687,1
    - Dst: GEOSCoordSeq_setXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:688,1
    - Dst: GEOSCoordSeq_setXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:689,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:692,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:693,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:694,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:695,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:697,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:698,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:699,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 701
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSCoordSeq_setXYZ
    - GEOSCoordSeq_create
    - GEOSCoordSeq_getXYZ
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:713,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:714,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:715,1
    - Dst: GEOSCoordSeq_copyFromArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:718,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:720,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:720,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:721,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:724,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:725,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:726,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:727,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: data
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:729,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:730,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:731,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: std::all_of
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: begin
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: end
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:732,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 734
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_copyToArrays
    - std::all_of
    - std::isnan
    - GEOSCoordSeq_copyFromArrays
    - ensure_equals
    - ensure
    - std::vector::data
    - data
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:740,1
    - Dst: GEOSCoordSeq_create_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:743,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:745,1
    - Dst: GEOSCoordSeq_setX_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:745,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:746,1
    - Dst: GEOSCoordSeq_setY_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:746,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:747,1
    - Dst: GEOSCoordSeq_setZ_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:747,1
    - Dst: GEOSCoordSeq_clone_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:750,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:753,1
    - Dst: GEOSCoordSeq_getX_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:753,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:754,1
    - Dst: GEOSCoordSeq_getY_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:754,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:755,1
    - Dst: GEOSCoordSeq_getZ_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:755,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:757,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:758,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:759,1
    - Dst: GEOSCoordSeq_destroy_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:762,1
    - Dst: GEOSCoordSeq_destroy_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:763,1
    - Dst: GEOS_finish_r
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 766
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setZ_r
    - GEOSCoordSeq_getY_r
    - GEOSCoordSeq_getZ_r
    - GEOSCoordSeq_setX_r
    - GEOSCoordSeq_clone_r
    - GEOSCoordSeq_getX_r
    - GEOSCoordSeq_setY_r
    - ensure_equals
    - ensure
    - GEOSCoordSeq_destroy_r
    - GEOS_finish_r
    - GEOSCoordSeq_create_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:772,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:774,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:776,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:776,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:777,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:777,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:778,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:778,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:779,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:779,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:782,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:782,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:784,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:785,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:786,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 788
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:794,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:796,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:798,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:798,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:799,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:799,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:800,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:800,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:801,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:801,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:804,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:804,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:806,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:807,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:815,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:817,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:819,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:819,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:820,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:820,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:821,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:821,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:822,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:822,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:825,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:825,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:827,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 829
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:835,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:837,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:839,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:839,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:840,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:840,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:841,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:841,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:842,1
    - Dst: GEOSCoordSeq_setOrdinate
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:842,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:845,1
    - Dst: GEOSCoordSeq_copyToArrays
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:845,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:847,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:848,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 850
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_copyToArrays
    - GEOSCoordSeq_setOrdinate
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:856,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:858,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:861,1
    - Dst: GEOSCoordSeq_setM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:861,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:865,1
    - Dst: GEOSCoordSeq_getM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:865,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:866,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 867
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_getM
    - std::isnan
    - GEOSCoordSeq_setM
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:873,1
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:875,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:877,1
    - Dst: GEOSCoordSeq_setM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:877,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:880,1
    - Dst: GEOSCoordSeq_getM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:880,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_getM
    - GEOSCoordSeq_setM
    - ensure_equals
    - ensure
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:888,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:890,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:892,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:892,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:893,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 894
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - ensure_not
    - GEOSCoordSeq_createWithDimensions
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:900,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:902,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:904,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:904,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:905,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - ensure_not
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:912,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:914,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:916,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:916,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:917,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - ensure_not
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:924,1
    - Dst: GEOSCoordSeq_createWithDimensions
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:926,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:928,1
    - Dst: GEOSCoordSeq_hasZ
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:928,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:929,1
    - Dst: GEOSCoordSeq_hasM
      Src: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 930
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoordSeqTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - GEOSCoordSeq_hasM
    - GEOSCoordSeq_createWithDimensions
    - ensure
    - GEOSCoordSeq_hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:23,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:24,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:27,1
    - Dst: ensure_geometry_equals_exact
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:30,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:30,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals_exact
    - GEOSGetSRID
    - GEOSSetSRID
    - ensure_equals
    - GEOSBoundary
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:38,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSBoundary
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:48,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:49,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:50,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBoundary
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:59,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:60,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:61,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBoundary
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:23,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:24,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:27,1
    - Dst: ensure_geometry_equals_exact
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:30,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:30,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals_exact
    - GEOSGetSRID
    - GEOSSetSRID
    - ensure_equals
    - GEOSBoundary
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:38,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSBoundary
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:48,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:49,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:50,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBoundary
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:59,1
    - Dst: GEOSBoundary
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:60,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:61,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSBoundary
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:20,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:20,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:21,1
    - Dst: GEOSClusterInfo_getClusterSize
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:27,1
    - Dst: GEOSClusterInfo_getInputsForClusterN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:28,1
    - Dst: GEOSGeom_clone
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:30,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:30,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:30,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:32,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:33,1
    - Dst: static_cast<unsigned>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:34,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:38,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:39,1
    - Dst: static_cast<unsigned>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:40,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input
    - clusters
    argTypes:
    - GEOSGeometry*
    - GEOSClusterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: tut::construct_clusters
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClusterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_clone
    - GEOSGetNumGeometries
    - std::vector::size
    - GEOSGeom_createCollection
    - static_cast<unsigned>
    - GEOSClusterInfo_getNumClusters
    - GEOSGetGeometryN
    - GEOSClusterInfo_getInputsForClusterN
    - static_cast<int>
    - static_cast<std::size_t>
    - std::vector::data
    - GEOSClusterInfo_getClusterSize
    linkageType: ''
    returnType: GEOSGeometry
    signature: "GEOSGeometry * construct_clusters(const GEOSGeometry* input,\n                                            const
      GEOSClusterInfo* clusters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:56,1
    - Dst: GEOSClusterEnvelopeIntersects
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:66,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:66,1
    - Dst: construct_clusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:68,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:69,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:78,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:80,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:82,1
    - Dst: GEOSClusterEnvelopeDistance
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:87,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:87,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:88,1
    - Dst: GEOSClusterGeometryIntersects
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:93,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:93,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:94,1
    - Dst: GEOSClusterGeometryDistance
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:99,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:99,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 102
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClusterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals_identical
    - GEOSClusterEnvelopeIntersects
    - GEOSClusterInfo_getNumClusters
    - construct_clusters
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSClusterInfo_destroy
    - GEOSClusterGeometryIntersects
    - fromWKT
    - GEOSClusterGeometryDistance
    - GEOSClusterEnvelopeDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:108,1
    - Dst: GEOSClusterDBSCAN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:123,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:123,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:124,1
    - Dst: GEOSClusterDBSCAN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:129,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:129,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:130,1
    - Dst: GEOSClusterDBSCAN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:135,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:135,1
    - Dst: GEOSClusterInfo_getClustersForInputs
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:137,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:139,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:141,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClusterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSClusterInfo_getNumClusters
    - GEOSClusterDBSCAN
    - ensure_equals
    - GEOSClusterInfo_destroy
    - fromWKT
    - GEOSClusterInfo_getClustersForInputs
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:20,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:20,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:21,1
    - Dst: GEOSClusterInfo_getClusterSize
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:27,1
    - Dst: GEOSClusterInfo_getInputsForClusterN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:28,1
    - Dst: GEOSGeom_clone
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:30,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:30,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:30,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:32,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:33,1
    - Dst: static_cast<unsigned>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:34,1
    - Dst: GEOSGeom_createCollection
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:38,1
    - Dst: std::vector::data
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:39,1
    - Dst: static_cast<unsigned>
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:40,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input
    - clusters
    argTypes:
    - GEOSGeometry*
    - GEOSClusterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: tut::construct_clusters
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClusterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_clone
    - GEOSGetNumGeometries
    - std::vector::size
    - GEOSGeom_createCollection
    - static_cast<unsigned>
    - GEOSClusterInfo_getNumClusters
    - GEOSGetGeometryN
    - GEOSClusterInfo_getInputsForClusterN
    - static_cast<int>
    - static_cast<std::size_t>
    - std::vector::data
    - GEOSClusterInfo_getClusterSize
    linkageType: ''
    returnType: GEOSGeometry
    signature: "GEOSGeometry * construct_clusters(const GEOSGeometry* input,\n                                            const
      GEOSClusterInfo* clusters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:56,1
    - Dst: GEOSClusterEnvelopeIntersects
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:66,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:66,1
    - Dst: construct_clusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:68,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:69,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:78,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:79,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:80,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:82,1
    - Dst: GEOSClusterEnvelopeDistance
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:87,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:87,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:88,1
    - Dst: GEOSClusterGeometryIntersects
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:93,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:93,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:94,1
    - Dst: GEOSClusterGeometryDistance
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:99,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:99,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 102
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClusterTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals_identical
    - GEOSClusterEnvelopeIntersects
    - GEOSClusterInfo_getNumClusters
    - construct_clusters
    - GEOSGeom_destroy
    - ensure_equals
    - GEOSClusterInfo_destroy
    - GEOSClusterGeometryIntersects
    - fromWKT
    - GEOSClusterGeometryDistance
    - GEOSClusterEnvelopeDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:108,1
    - Dst: GEOSClusterDBSCAN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:123,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:123,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:124,1
    - Dst: GEOSClusterDBSCAN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:129,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:129,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:130,1
    - Dst: GEOSClusterDBSCAN
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:135,1
    - Dst: GEOSClusterInfo_getNumClusters
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:135,1
    - Dst: GEOSClusterInfo_getClustersForInputs
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:137,1
    - Dst: GEOSGetNumGeometries
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:139,1
    - Dst: GEOSClusterInfo_destroy
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:141,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSClusterTest.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSClusterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSClusterInfo_getNumClusters
    - GEOSClusterDBSCAN
    - ensure_equals
    - GEOSClusterInfo_destroy
    - fromWKT
    - GEOSClusterInfo_getClustersForInputs
    - GEOSGetNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: tut::test_capiremoverepeatedpoints_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiremoverepeatedpoints_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:34,1
    - Dst: GEOSRemoveRepeatedPoints
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRemoveRepeatedPoints
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:46,1
    - Dst: GEOSRemoveRepeatedPoints
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSRemoveRepeatedPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:57,1
    - Dst: GEOSRemoveRepeatedPoints
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSRemoveRepeatedPoints
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: tut::test_capiremoverepeatedpoints_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiremoverepeatedpoints_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:34,1
    - Dst: GEOSRemoveRepeatedPoints
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSRemoveRepeatedPoints
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:46,1
    - Dst: GEOSRemoveRepeatedPoints
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSRemoveRepeatedPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:57,1
    - Dst: GEOSRemoveRepeatedPoints
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSRemoveRepeatedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSRemoveRepeatedPoints
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:25,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:25,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisValid
    - ensure_equals
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:36,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:36,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisValid
    - ensure_equals
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:47,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:50,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:57,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:60,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setXY
    - GEOSGeom_createPolygon
    - ensure
    - GEOSGeom_createLinearRing
    - GEOSisValid
    - ensure_equals
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:72,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValid
    - ensure
    - fromWKT
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:25,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:25,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisValid
    - ensure_equals
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:36,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:36,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSisValid
    - ensure_equals
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:47,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:50,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:57,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:60,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setXY
    - GEOSGeom_createPolygon
    - ensure
    - GEOSGeom_createLinearRing
    - GEOSisValid
    - ensure_equals
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:72,1
    - Dst: GEOSisValid
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSisValidTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSisValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSisValid
    - ensure
    - fromWKT
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:27,1
    - Dst: const_cast<GEOSGeometry *>
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:28,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:30,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:30,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:32,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSGetInteriorRingN
    - const_cast<GEOSGeometry *>
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:42,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSGetInteriorRingN
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:50,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:55,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSGetInteriorRingN
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:27,1
    - Dst: const_cast<GEOSGeometry *>
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:28,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:30,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:30,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:32,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSGetInteriorRingN
    - const_cast<GEOSGeometry *>
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:42,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSGetInteriorRingN
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:50,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:55,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetInteriorRingNTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSGetInteriorRingN
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBWriter_create
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:16,1
    - Dst: GEOSWKBWriter_setByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: tut::test_geoswkbwriter_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setByteOrder
    - GEOSWKBWriter_create
    linkageType: ''
    returnType: void
    signature: void test_geoswkbwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:23,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ~test_geoswkbwriter_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSWKBWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geoswkbwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBWriter_setByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:42,1
    - Dst: GEOSWKBWriter_getIncludeSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:43,1
    - Dst: GEOSWKBWriter_getByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:44,1
    - Dst: GEOSWKBWriter_getFlavor
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:45,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_getFlavor
    - GEOSWKBWriter_getByteOrder
    - GEOSWKBWriter_setByteOrder
    - ensure_equals
    - GEOSWKBWriter_getIncludeSRID
    - GEOSWKBWriter_getOutputDimension
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:52,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:53,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:56,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:68,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:69,1
    - Dst: GEOSWKBWriter_setIncludeSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:71,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:74,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_setIncludeSRID
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:86,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:87,1
    - Dst: GEOSWKBWriter_setIncludeSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:89,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:92,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_setIncludeSRID
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:104,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:105,1
    - Dst: GEOSWKBWriter_setByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:107,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:110,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOSWKBWriter_setByteOrder
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:122,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:125,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:125,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:128,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_getOutputDimension
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:140,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:143,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:143,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:146,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_getOutputDimension
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:158,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:160,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:163,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:175,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:178,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:178,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:181,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_getOutputDimension
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBWriter_create
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:16,1
    - Dst: GEOSWKBWriter_setByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: tut::test_geoswkbwriter_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setByteOrder
    - GEOSWKBWriter_create
    linkageType: ''
    returnType: void
    signature: void test_geoswkbwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:23,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ~test_geoswkbwriter_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSWKBWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geoswkbwriter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBWriter_setByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:42,1
    - Dst: GEOSWKBWriter_getIncludeSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:43,1
    - Dst: GEOSWKBWriter_getByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:44,1
    - Dst: GEOSWKBWriter_getFlavor
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:45,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_getFlavor
    - GEOSWKBWriter_getByteOrder
    - GEOSWKBWriter_setByteOrder
    - ensure_equals
    - GEOSWKBWriter_getIncludeSRID
    - GEOSWKBWriter_getOutputDimension
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:52,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:53,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:56,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:68,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:69,1
    - Dst: GEOSWKBWriter_setIncludeSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:71,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:74,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_setIncludeSRID
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:86,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:87,1
    - Dst: GEOSWKBWriter_setIncludeSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:89,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:92,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_setIncludeSRID
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:104,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:105,1
    - Dst: GEOSWKBWriter_setByteOrder
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:107,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:110,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOSWKBWriter_setByteOrder
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:122,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:125,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:125,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:128,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_getOutputDimension
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:140,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:143,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:143,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:146,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_getOutputDimension
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:158,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:160,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:163,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:175,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:178,1
    - Dst: GEOSWKBWriter_getOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:178,1
    - Dst: GEOSWKBWriter_writeHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:181,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBWriterTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBWriter_setOutputDimension
    - string
    - ensure_equals
    - fromWKT
    - GEOSWKBWriter_getOutputDimension
    - GEOSWKBWriter_writeHEX
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:34,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:47,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:48,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:49,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:60,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:62,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:73,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:76,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:88,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:89,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:90,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:95,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:95,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:96,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:99,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getZ
    - GEOSHasZ
    - ensure_geometry_equals
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:112,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:113,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:114,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:124,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineSubstring
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:138,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:139,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineSubstring
    - ensure
    - fromWKT
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:151,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineSubstring
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:34,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:47,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:48,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:49,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:60,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:62,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:73,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:76,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:88,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:89,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:90,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:95,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:95,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:96,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:99,1
    - Dst: GEOSCoordSeq_getZ
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_getZ
    - GEOSHasZ
    - ensure_geometry_equals
    - GEOSGeom_getCoordSeq
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:112,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:113,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:114,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLineSubstring
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:124,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineSubstring
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:138,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:139,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineSubstring
    - ensure
    - fromWKT
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:151,1
    - Dst: GEOSLineSubstring
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLineSubstringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLineSubstring
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:21,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:22,1
    - Dst: GEOSGeom_createCurvePolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:25,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:26,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCurvePolygon
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:38,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:39,1
    - Dst: GEOSGeom_createCurvePolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGeom_createCurvePolygon
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCurvePolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:52,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:53,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:54,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCurvePolygon
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:21,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:22,1
    - Dst: GEOSGeom_createCurvePolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:25,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:26,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeom_createCurvePolygon
    - fromWKT
    - ensure_geometry_equals_identical
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:37,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:38,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:39,1
    - Dst: GEOSGeom_createCurvePolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGeom_createCurvePolygon
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCurvePolygon
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:52,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:53,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:54,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    - GEOSGeom_createEmptyCurvePolygon
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:32,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:36,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:40,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:56,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:60,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:72,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:76,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:80,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:91,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:97,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:32,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:36,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:38,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:40,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:52,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:56,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:60,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:72,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:76,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:80,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:91,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:97,1
    - Dst: GEOSWithin
      Src: /src/geos/tests/unit/capi/GEOSWithinTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWithinTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSWithin
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: tut::test_capiunaryunion_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiunaryunion_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:42,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:47,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:47,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:57,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:62,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:62,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:72,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:77,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:77,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:87,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:92,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:92,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:102,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:105,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:109,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:109,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:121,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:124,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:129,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEquals
    - ensure
    - GEOSUnaryUnion
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:139,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:142,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:144,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:145,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:148,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:148,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - GEOSUnaryUnion
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:159,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:162,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:164,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:165,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:168,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:168,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - GEOSUnaryUnion
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:180,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:181,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - ensure
    - std::strlen
    - GEOSGeomFromHEX_buf
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:195,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:200,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:200,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:210,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:212,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:213,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals
    - GEOSUnaryUnion
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:222,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:224,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: tut::test_capiunaryunion_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capiunaryunion_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:42,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:44,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:47,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:47,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:57,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:62,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:62,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:72,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:77,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:77,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:87,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:92,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:92,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:102,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:105,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:109,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:109,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:121,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:124,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:129,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSEquals
    - ensure
    - GEOSUnaryUnion
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:139,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:142,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:144,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:145,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:148,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:148,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - GEOSUnaryUnion
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:159,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:162,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:164,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:165,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:168,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:168,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - GEOSUnaryUnion
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:180,1
    - Dst: std::strlen
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:181,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - ensure
    - std::strlen
    - GEOSGeomFromHEX_buf
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:195,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:200,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:200,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnaryUnion
    - toWKT
    - string
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:210,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:212,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:213,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_geometry_equals
    - GEOSUnaryUnion
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:222,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:224,1
    - Dst: GEOSUnaryUnion
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnaryUnionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - fromWKT
    - GEOSUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: tut::test_capigeoshausdorffdistance_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeoshausdorffdistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:36,1
    - Dst: GEOSHausdorffDistance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:41,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure_distance
    - GEOSHausdorffDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:50,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:51,1
    - Dst: GEOSHausdorffDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:56,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSHausdorffDistanceDensify
    - ensure_equals
    - ensure_distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:71,1
    - Dst: GEOSHausdorffDistance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:72,1
    - Dst: GEOSHausdorffDistance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHausdorffDistance
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: tut::test_capigeoshausdorffdistance_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capigeoshausdorffdistance_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:36,1
    - Dst: GEOSHausdorffDistance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:41,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - ensure_distance
    - GEOSHausdorffDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:50,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:51,1
    - Dst: GEOSHausdorffDistanceDensify
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:56,1
    - Dst: ensure_distance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSHausdorffDistanceDensify
    - ensure_equals
    - ensure_distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:64,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:71,1
    - Dst: GEOSHausdorffDistance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:72,1
    - Dst: GEOSHausdorffDistance
      Src: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHausdorffDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHausdorffDistance
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:27,1
    - Dst: const_cast<GEOSGeometry *>
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:29,1
    - Dst: GEOSGetExteriorRing
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:29,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:31,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetExteriorRing
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - const_cast<GEOSGeometry *>
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:41,1
    - Dst: GEOSGetExteriorRing
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetExteriorRing
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:49,1
    - Dst: GEOSGetExteriorRing
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:54,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetExteriorRing
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:27,1
    - Dst: const_cast<GEOSGeometry *>
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:29,1
    - Dst: GEOSGetExteriorRing
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:29,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:31,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetExteriorRing
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    - const_cast<GEOSGeometry *>
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:41,1
    - Dst: GEOSGetExteriorRing
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetExteriorRing
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:49,1
    - Dst: GEOSGetExteriorRing
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:54,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetExteriorRingTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetExteriorRing
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:27,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:28,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSDisjoint
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:35,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:41,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:42,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:27,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:28,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSDisjoint
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:35,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:41,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:42,1
    - Dst: GEOSDisjoint
      Src: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSDisjointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - fromWKT
    - GEOSDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:24,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:28,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:28,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:30,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:32,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:34,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - GEOSGetGeometryN
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:44,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:44,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:45,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:45,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetGeometryN
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:24,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:28,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:28,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:30,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:32,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:34,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp
    functionUses: 0
    functionsReached:
    - toWKT
    - GEOSGetGeometryN
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:44,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:44,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:45,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:45,1
    - Dst: GEOSGetGeometryN
      Src: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGetGeometryNTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGetGeometryN
    - toWKT
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:24,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:26,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:31,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnion
    - toWKT
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:23,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:24,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:26,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:28,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:31,1
    - Dst: toWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionCascadedTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSUnion
    - toWKT
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:23,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:24,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:27,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:29,1
    - Dst: GEOSUnionPrec
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGetSRID
    - GEOSUnionPrec
    - GEOSSetSRID
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:23,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:24,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:26,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:27,1
    - Dst: GEOSSetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:29,1
    - Dst: GEOSUnionPrec
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:31,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:37,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:38,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSUnionPrecTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - GEOSGetSRID
    - GEOSUnionPrec
    - GEOSSetSRID
    - GEOSGeom_destroy
    - ensure_equals
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:26,1
    - Dst: GEOSGeomToHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:29,1
    - Dst: getMachineByteOrder
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:37,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomToHEX_buf
    - free
    - getMachineByteOrder
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:50,1
    - Dst: GEOS_getWKBOutputDims_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:51,1
    - Dst: GEOS_getWKBByteOrder_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:51,1
    - Dst: getMachineByteOrder
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:51,1
    - Dst: GEOS_finish_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp
    functionUses: 0
    functionsReached:
    - GEOS_getWKBByteOrder_r
    - getMachineByteOrder
    - GEOS_getWKBOutputDims_r
    - ensure_equals
    - GEOS_finish_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:62,1
    - Dst: GEOS_setWKBOutputDims_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:63,1
    - Dst: GEOS_setWKBByteOrder_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:63,1
    - Dst: getMachineByteOrder
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:65,1
    - Dst: GEOS_getWKBOutputDims_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:66,1
    - Dst: GEOS_getWKBByteOrder_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:66,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:68,1
    - Dst: GEOSGeomToHEX_buf_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:75,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:76,1
    - Dst: GEOS_finish_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp
    functionUses: 0
    functionsReached:
    - GEOS_setWKBOutputDims_r
    - GEOSFree
    - GEOS_getWKBByteOrder_r
    - GEOS_setWKBByteOrder_r
    - GEOSGeomToHEX_buf_r
    - getMachineByteOrder
    - ensure_equals
    - GEOS_getWKBOutputDims_r
    - fromWKT
    - GEOS_finish_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:25,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:26,1
    - Dst: GEOSGeomToHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:29,1
    - Dst: getMachineByteOrder
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:34,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:37,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomToHEX_buf
    - free
    - getMachineByteOrder
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:50,1
    - Dst: GEOS_getWKBOutputDims_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:51,1
    - Dst: GEOS_getWKBByteOrder_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:51,1
    - Dst: getMachineByteOrder
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:51,1
    - Dst: GEOS_finish_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp
    functionUses: 0
    functionsReached:
    - GEOS_getWKBByteOrder_r
    - getMachineByteOrder
    - GEOS_getWKBOutputDims_r
    - ensure_equals
    - GEOS_finish_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_init_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:62,1
    - Dst: GEOS_setWKBOutputDims_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:63,1
    - Dst: GEOS_setWKBByteOrder_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:63,1
    - Dst: getMachineByteOrder
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:65,1
    - Dst: GEOS_getWKBOutputDims_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:66,1
    - Dst: GEOS_getWKBByteOrder_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:66,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:68,1
    - Dst: GEOSGeomToHEX_buf_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:75,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:76,1
    - Dst: GEOS_finish_r
      Src: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToHEX_bufTest.cpp
    functionUses: 0
    functionsReached:
    - GEOS_setWKBOutputDims_r
    - GEOSFree
    - GEOS_getWKBByteOrder_r
    - GEOS_setWKBByteOrder_r
    - GEOSGeomToHEX_buf_r
    - getMachineByteOrder
    - ensure_equals
    - GEOS_getWKBOutputDims_r
    - fromWKT
    - GEOS_finish_r
    - GEOS_init_r
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:25,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:26,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:35,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:36,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:45,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:46,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:55,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:56,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:65,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:66,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:75,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:76,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:85,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:86,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:95,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:96,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:105,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:106,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:115,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:116,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:23,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:25,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:26,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:33,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:35,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:35,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:36,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:45,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:46,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:55,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:56,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:65,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:66,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:75,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:76,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:85,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:86,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:95,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:96,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:105,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:106,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:115,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:116,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSHasZMTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GEOSHasM
    - GEOSHasZ
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: tut::test_capioffsetcurve_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capioffsetcurve_data()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:27,1
    - Dst: printf
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:28,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:29,1
    - Dst: printf
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - label
    - geom
    argTypes:
    - char*
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: tut::debugOutput
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_write
    - printf
    linkageType: ''
    returnType: void
    signature: void debugOutput (const char* label, GEOSGeometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:43,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:44,1
    - Dst: tut::debugOutput
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:45,1
    - Dst: GEOSOffsetCurve
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:48,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:49,1
    - Dst: tut::debugOutput
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:50,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:54,1
    - Dst: tut::debugOutput
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:55,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:56,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - wkt
    - expected
    - width
    - quadSegs
    - joinStyle
    - mitreLimit
    - checkTolerance
    argTypes:
    - char*
    - char*
    - double
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: tut::checkOffset
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSOffsetCurve
    - tut::debugOutput
    - ensure_geometry_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void checkOffset(\n        const char* wkt, const char* expected,\n
      \       double width, int quadSegs, int joinStyle, double mitreLimit,\n        double
      checkTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:176,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:176,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGeomGetNumPoints
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:202,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:202,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGeomGetNumPoints
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:265,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:266,1
    - Dst: GEOSOffsetCurve
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOffsetCurve
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: tut::test_capioffsetcurve_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capioffsetcurve_data()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:27,1
    - Dst: printf
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:28,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:29,1
    - Dst: printf
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - label
    - geom
    argTypes:
    - char*
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: tut::debugOutput
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 1
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_write
    - printf
    linkageType: ''
    returnType: void
    signature: void debugOutput (const char* label, GEOSGeometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:43,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:44,1
    - Dst: tut::debugOutput
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:45,1
    - Dst: GEOSOffsetCurve
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:48,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:49,1
    - Dst: tut::debugOutput
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:50,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:54,1
    - Dst: tut::debugOutput
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:55,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:56,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - wkt
    - expected
    - width
    - quadSegs
    - joinStyle
    - mitreLimit
    - checkTolerance
    argTypes:
    - char*
    - char*
    - double
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: tut::checkOffset
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSOffsetCurve
    - tut::debugOutput
    - ensure_geometry_equals
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: "void checkOffset(\n        const char* wkt, const char* expected,\n
      \       double width, int quadSegs, int joinStyle, double mitreLimit,\n        double
      checkTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:176,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:176,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGeomGetNumPoints
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:202,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:202,1
    - Dst: GEOSGeomGetNumPoints
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - GEOSGeomGetNumPoints
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffset
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffset
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:265,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:266,1
    - Dst: GEOSOffsetCurve
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSOffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSOffsetCurve
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:23,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:23,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:24,1
    - Dst: GEOSGeomToWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:26,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:28,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:29,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: tut::test_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - free
    - GEOSGeom_destroy
    - c_str
    - GEOSGeomToWKT
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_wkt(std::string const& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:37,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:38,1
    - Dst: GEOSGeomToWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:40,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:45,1
    - Dst: std::string::substr
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:45,1
    - Dst: substr
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wkt'
    - n
    argTypes:
    - std::string
    - std::string::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: tut::test_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - std::string::substr
    - free
    - substr
    - GEOSGeom_destroy
    - c_str
    - GEOSGeomToWKT
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_wkt(std::string const& wkt, std::string::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:114,1
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:117,1
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:23,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:23,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:24,1
    - Dst: GEOSGeomToWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:26,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:28,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:29,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: tut::test_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - free
    - GEOSGeom_destroy
    - c_str
    - GEOSGeomToWKT
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_wkt(std::string const& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:37,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:38,1
    - Dst: GEOSGeomToWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:40,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:45,1
    - Dst: std::string::substr
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:45,1
    - Dst: substr
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' wkt'
    - n
    argTypes:
    - std::string
    - std::string::size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: tut::test_wkt
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - std::string::substr
    - free
    - substr
    - GEOSGeom_destroy
    - c_str
    - GEOSGeomToWKT
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void test_wkt(std::string const& wkt, std::string::size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:114,1
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:117,1
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkt
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKTTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkt
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tut::test_capiminimumboundingcircle_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capiminimumboundingcircle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:44,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:46,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:50,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:50,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - GEOSMinimumBoundingCircle
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:59,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:63,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSMinimumBoundingCircle
    - GEOSEqualsExact
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:77,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:79,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:81,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSMinimumBoundingCircle
    - GEOSEqualsExact
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:96,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:98,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:100,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:101,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:108,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:111,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:112,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:115,1
    - Dst: fabs
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - fabs
    - GEOSMinimumBoundingCircle
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:124,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumBoundingCircle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tut::test_capiminimumboundingcircle_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capiminimumboundingcircle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:43,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:44,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:46,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:50,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:50,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - GEOSMinimumBoundingCircle
    - ensure_equals
    - ensure
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:59,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:63,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSMinimumBoundingCircle
    - GEOSEqualsExact
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:77,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:79,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:81,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSMinimumBoundingCircle
    - GEOSEqualsExact
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:96,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:98,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:100,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:101,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:108,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:111,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:112,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:115,1
    - Dst: fabs
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - fabs
    - GEOSMinimumBoundingCircle
    - GEOSGeom_destroy
    - ensure
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:124,1
    - Dst: GEOSMinimumBoundingCircle
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumBoundingCircleTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumBoundingCircle
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capicoverageisvalid_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capicoverageisvalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ~test_capicoverageisvalid_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_capicoverageisvalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:44,1
    - Dst: GEOSCoverageIsValid
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:49,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:49,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:53,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoverageIsValid
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:69,1
    - Dst: GEOSCoverageIsValid
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:74,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:74,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:78,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoverageIsValid
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:95,1
    - Dst: GEOSCoverageIsValid
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoverageIsValid
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: tut::test_capicoverageisvalid_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_capicoverageisvalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ~test_capicoverageisvalid_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_capicoverageisvalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:44,1
    - Dst: GEOSCoverageIsValid
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:49,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:49,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:53,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoverageIsValid
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:69,1
    - Dst: GEOSCoverageIsValid
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:74,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:74,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:78,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoverageIsValid
    - ensure_geometry_equals
    - GEOSGeomTypeId
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:95,1
    - Dst: GEOSCoverageIsValid
      Src: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCoverageIsValidTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCoverageIsValid
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:28,1
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:29,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:30,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:32,1
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:43,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:44,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:45,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:46,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:72,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:74,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 78
    functionName: "GEOSGeometry*\n        fromWKT(const char* wkt)"
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSFree
    - GEOSWKTWriter_setRoundingPrecision
    - std::feclearexcept
    - initGEOS
    - string
    - GEOSGeom_destroy
    - GEOSWKTWriter_destroy
    - GEOSGeomFromWKT
    - GEOSWKTWriter_create
    - finishGEOS
    linkageType: ''
    returnType: "struct utility {\n        GEOSWKTWriter* wktw_ = nullptr;\n        GEOSGeometry*
      geom1_ = nullptr;\n        GEOSGeometry* geom2_ = nullptr;\n        GEOSGeometry*
      geom3_ = nullptr;\n        GEOSGeometry* input_ = nullptr;\n        GEOSGeometry*
      result_ = nullptr;\n        GEOSGeometry* expected_ = nullptr;\n        char*
      wkt_ = nullptr;\n       char* str_ = nullptr;\n\n        utility()\n        {\n
      \           initGEOS(notice, notice);\n            wktw_ = GEOSWKTWriter_create();\n
      \           GEOSWKTWriter_setRoundingPrecision(wktw_, 10);\n\n            std::feclearexcept(FE_ALL_EXCEPT);\n
      \       }\n\n        ~utility()\n        {\n            if (wktw_)     GEOSWKTWriter_destroy(wktw_);\n
      \           if (geom1_)    GEOSGeom_destroy(geom1_);\n            if (geom2_)
      \   GEOSGeom_destroy(geom2_);\n            if (geom3_)    GEOSGeom_destroy(geom3_);\n
      \           if (input_)    GEOSGeom_destroy(input_);\n            if (result_)
      \  GEOSGeom_destroy(result_);\n            if (expected_) GEOSGeom_destroy(expected_);\n
      \           if (wkt_)      GEOSFree(wkt_);\n            if (str_)      GEOSFree(str_);\n
      \           finishGEOS();\n        }\n\n\n        static void notice(GEOS_PRINTF_FORMAT
      const char* fmt, ...) GEOS_PRINTF_FORMAT_ATTR(1, 2)\n        {\n            std::fprintf(stdout,
      \"NOTICE: \");\n\n            va_list ap;\n            va_start(ap, fmt);\n
      \           #ifdef __MINGW32__\n            #pragma GCC diagnostic push\n            #pragma
      GCC diagnostic ignored \"-Wsuggest-attribute=format\"\n            #endif\n
      \           std::vfprintf(stdout, fmt, ap);\n            #ifdef __MINGW32__\n
      \           #pragma GCC diagnostic pop\n            #endif\n            va_end(ap);\n\n
      \           std::fprintf(stdout, \"\\n\");\n        }"
    signature: "struct utility {\n        GEOSWKTWriter* wktw_ = nullptr;\n        GEOSGeometry*
      geom1_ = nullptr;\n        GEOSGeometry* geom2_ = nullptr;\n        GEOSGeometry*
      geom3_ = nullptr;\n        GEOSGeometry* input_ = nullptr;\n        GEOSGeometry*
      result_ = nullptr;\n        GEOSGeometry* expected_ = nullptr;\n        char*
      wkt_ = nullptr;\n       char* str_ = nullptr;\n\n        utility()\n        {\n
      \           initGEOS(notice, notice);\n            wktw_ = GEOSWKTWriter_create();\n
      \           GEOSWKTWriter_setRoundingPrecision(wktw_, 10);\n\n            std::feclearexcept(FE_ALL_EXCEPT);\n
      \       }\n\n        ~utility()\n        {\n            if (wktw_)     GEOSWKTWriter_destroy(wktw_);\n
      \           if (geom1_)    GEOSGeom_destroy(geom1_);\n            if (geom2_)
      \   GEOSGeom_destroy(geom2_);\n            if (geom3_)    GEOSGeom_destroy(geom3_);\n
      \           if (input_)    GEOSGeom_destroy(input_);\n            if (result_)
      \  GEOSGeom_destroy(result_);\n            if (expected_) GEOSGeom_destroy(expected_);\n
      \           if (wkt_)      GEOSFree(wkt_);\n            if (str_)      GEOSFree(str_);\n
      \           finishGEOS();\n        }\n\n\n        static void notice(GEOS_PRINTF_FORMAT
      const char* fmt, ...) GEOS_PRINTF_FORMAT_ATTR(1, 2)\n        {\n            std::fprintf(stdout,
      \"NOTICE: \");\n\n            va_list ap;\n            va_start(ap, fmt);\n
      \           #ifdef __MINGW32__\n            #pragma GCC diagnostic push\n            #pragma
      GCC diagnostic ignored \"-Wsuggest-attribute=format\"\n            #endif\n
      \           std::vfprintf(stdout, fmt, ap);\n            #ifdef __MINGW32__\n
      \           #pragma GCC diagnostic pop\n            #endif\n            va_end(ap);\n\n
      \           std::fprintf(stdout, \"\\n\");\n        } GEOSGeometry*\n        fromWKT(const
      char* wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:28,1
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:29,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:30,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: capitest::utility
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - std::feclearexcept
    - initGEOS
    - GEOSWKTWriter_setRoundingPrecision
    - GEOSWKTWriter_create
    linkageType: ''
    returnType: void
    signature: void utility()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:43,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:44,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:45,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:46,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: ~utility()
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSFree
    - finishGEOS
    - GEOSWKTWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~utility()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:83,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: capitest::toWKT
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_write
    linkageType: ''
    returnType: std::string
    signature: std::string toWKT(const GEOSGeometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:97,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:98,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:99,1
    - Dst: capitest::report_not_equal
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:101,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - g1
    - g2
    - tolerance
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: capitest::ensure_geometry_equals
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSNormalize
    - capitest::report_not_equal
    - GEOSEqualsExact
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals(GEOSGeometry* g1, GEOSGeometry* g2, double
      tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:113,1
    - Dst: capitest::report_not_equal
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:115,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - g1
    - g2
    - tolerance
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: capitest::ensure_geometry_equals_exact
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - capitest::report_not_equal
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals_exact(GEOSGeometry* g1, GEOSGeometry* g2,
      double tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:127,1
    - Dst: capitest::report_not_equal
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:129,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: capitest::ensure_geometry_equals_identical
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSEqualsIdentical
    - capitest::report_not_equal
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals_identical(GEOSGeometry* g1, GEOSGeometry*
      g2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capitest::ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: capitest::ensure_geometry_equals
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 1
    functionsReached:
    - capitest::ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals(GEOSGeometry* g1, GEOSGeometry* g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:142,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:143,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:144,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:145,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:146,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:149,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:150,1
    - Dst: std::fprintf
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:151,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:152,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:153,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:155,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - g1
    - g2str
    argTypes:
    - GEOSGeometry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: capitest::ensure_geometry_equals
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 1
    functionsReached:
    - tut::ensure
    - GEOSEqualsExact
    - GEOSFree
    - tut::ensure_equals
    - GEOSNormalize
    - GEOSGeom_destroy
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    - std::fprintf
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals(GEOSGeometry* g1, const char* g2str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:168,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:170,1
    - Dst: std::fprintf
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:173,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:174,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - tag
    - g1
    - g2
    - tolerance
    - rslt
    argTypes:
    - char*
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: capitest::report_not_equal
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 3
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_write
    - std::fprintf
    linkageType: ''
    returnType: void
    signature: void report_not_equal(const char* tag, GEOSGeometry* g1, GEOSGeometry*
      g2, double tolerance, char rslt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:28,1
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:29,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:30,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:32,1
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:43,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:44,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:45,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:46,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:72,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:74,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 78
    functionName: "GEOSGeometry*\n        fromWKT(const char* wkt)"
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSFree
    - GEOSWKTWriter_setRoundingPrecision
    - std::feclearexcept
    - initGEOS
    - string
    - GEOSGeom_destroy
    - GEOSWKTWriter_destroy
    - GEOSGeomFromWKT
    - GEOSWKTWriter_create
    - finishGEOS
    linkageType: ''
    returnType: "struct utility {\n        GEOSWKTWriter* wktw_ = nullptr;\n        GEOSGeometry*
      geom1_ = nullptr;\n        GEOSGeometry* geom2_ = nullptr;\n        GEOSGeometry*
      geom3_ = nullptr;\n        GEOSGeometry* input_ = nullptr;\n        GEOSGeometry*
      result_ = nullptr;\n        GEOSGeometry* expected_ = nullptr;\n        char*
      wkt_ = nullptr;\n       char* str_ = nullptr;\n\n        utility()\n        {\n
      \           initGEOS(notice, notice);\n            wktw_ = GEOSWKTWriter_create();\n
      \           GEOSWKTWriter_setRoundingPrecision(wktw_, 10);\n\n            std::feclearexcept(FE_ALL_EXCEPT);\n
      \       }\n\n        ~utility()\n        {\n            if (wktw_)     GEOSWKTWriter_destroy(wktw_);\n
      \           if (geom1_)    GEOSGeom_destroy(geom1_);\n            if (geom2_)
      \   GEOSGeom_destroy(geom2_);\n            if (geom3_)    GEOSGeom_destroy(geom3_);\n
      \           if (input_)    GEOSGeom_destroy(input_);\n            if (result_)
      \  GEOSGeom_destroy(result_);\n            if (expected_) GEOSGeom_destroy(expected_);\n
      \           if (wkt_)      GEOSFree(wkt_);\n            if (str_)      GEOSFree(str_);\n
      \           finishGEOS();\n        }\n\n\n        static void notice(GEOS_PRINTF_FORMAT
      const char* fmt, ...) GEOS_PRINTF_FORMAT_ATTR(1, 2)\n        {\n            std::fprintf(stdout,
      \"NOTICE: \");\n\n            va_list ap;\n            va_start(ap, fmt);\n
      \           #ifdef __MINGW32__\n            #pragma GCC diagnostic push\n            #pragma
      GCC diagnostic ignored \"-Wsuggest-attribute=format\"\n            #endif\n
      \           std::vfprintf(stdout, fmt, ap);\n            #ifdef __MINGW32__\n
      \           #pragma GCC diagnostic pop\n            #endif\n            va_end(ap);\n\n
      \           std::fprintf(stdout, \"\\n\");\n        }"
    signature: "struct utility {\n        GEOSWKTWriter* wktw_ = nullptr;\n        GEOSGeometry*
      geom1_ = nullptr;\n        GEOSGeometry* geom2_ = nullptr;\n        GEOSGeometry*
      geom3_ = nullptr;\n        GEOSGeometry* input_ = nullptr;\n        GEOSGeometry*
      result_ = nullptr;\n        GEOSGeometry* expected_ = nullptr;\n        char*
      wkt_ = nullptr;\n       char* str_ = nullptr;\n\n        utility()\n        {\n
      \           initGEOS(notice, notice);\n            wktw_ = GEOSWKTWriter_create();\n
      \           GEOSWKTWriter_setRoundingPrecision(wktw_, 10);\n\n            std::feclearexcept(FE_ALL_EXCEPT);\n
      \       }\n\n        ~utility()\n        {\n            if (wktw_)     GEOSWKTWriter_destroy(wktw_);\n
      \           if (geom1_)    GEOSGeom_destroy(geom1_);\n            if (geom2_)
      \   GEOSGeom_destroy(geom2_);\n            if (geom3_)    GEOSGeom_destroy(geom3_);\n
      \           if (input_)    GEOSGeom_destroy(input_);\n            if (result_)
      \  GEOSGeom_destroy(result_);\n            if (expected_) GEOSGeom_destroy(expected_);\n
      \           if (wkt_)      GEOSFree(wkt_);\n            if (str_)      GEOSFree(str_);\n
      \           finishGEOS();\n        }\n\n\n        static void notice(GEOS_PRINTF_FORMAT
      const char* fmt, ...) GEOS_PRINTF_FORMAT_ATTR(1, 2)\n        {\n            std::fprintf(stdout,
      \"NOTICE: \");\n\n            va_list ap;\n            va_start(ap, fmt);\n
      \           #ifdef __MINGW32__\n            #pragma GCC diagnostic push\n            #pragma
      GCC diagnostic ignored \"-Wsuggest-attribute=format\"\n            #endif\n
      \           std::vfprintf(stdout, fmt, ap);\n            #ifdef __MINGW32__\n
      \           #pragma GCC diagnostic pop\n            #endif\n            va_end(ap);\n\n
      \           std::fprintf(stdout, \"\\n\");\n        } GEOSGeometry*\n        fromWKT(const
      char* wkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:28,1
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:29,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:30,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: capitest::utility
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - std::feclearexcept
    - initGEOS
    - GEOSWKTWriter_setRoundingPrecision
    - GEOSWKTWriter_create
    linkageType: ''
    returnType: void
    signature: void utility()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:37,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:38,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:39,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:40,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:41,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:42,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:43,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:44,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:45,1
    - Dst: finishGEOS
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:46,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: ~utility()
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - GEOSFree
    - finishGEOS
    - GEOSWKTWriter_destroy
    linkageType: ''
    returnType: void
    signature: void ~utility()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:83,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: capitest::toWKT
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_write
    linkageType: ''
    returnType: std::string
    signature: std::string toWKT(const GEOSGeometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:97,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:98,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:99,1
    - Dst: capitest::report_not_equal
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:101,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - g1
    - g2
    - tolerance
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: capitest::ensure_geometry_equals
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 1
    functionsReached:
    - GEOSNormalize
    - capitest::report_not_equal
    - GEOSEqualsExact
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals(GEOSGeometry* g1, GEOSGeometry* g2, double
      tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:113,1
    - Dst: capitest::report_not_equal
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:115,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - g1
    - g2
    - tolerance
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: capitest::ensure_geometry_equals_exact
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSEqualsExact
    - capitest::report_not_equal
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals_exact(GEOSGeometry* g1, GEOSGeometry* g2,
      double tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSEqualsIdentical
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:127,1
    - Dst: capitest::report_not_equal
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:129,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: capitest::ensure_geometry_equals_identical
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 0
    functionsReached:
    - GEOSEqualsIdentical
    - capitest::report_not_equal
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals_identical(GEOSGeometry* g1, GEOSGeometry*
      g2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capitest::ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GEOSGeometry*
    - GEOSGeometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: capitest::ensure_geometry_equals
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 2
    functionsReached:
    - capitest::ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals(GEOSGeometry* g1, GEOSGeometry* g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:142,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:143,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:144,1
    - Dst: GEOSNormalize
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:145,1
    - Dst: GEOSEqualsExact
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:146,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:149,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:150,1
    - Dst: std::fprintf
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:151,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:152,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:153,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:155,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - g1
    - g2str
    argTypes:
    - GEOSGeometry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: capitest::ensure_geometry_equals
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 2
    functionsReached:
    - tut::ensure
    - GEOSEqualsExact
    - GEOSFree
    - tut::ensure_equals
    - GEOSNormalize
    - GEOSGeom_destroy
    - GEOSWKTWriter_write
    - GEOSGeomFromWKT
    - std::fprintf
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals(GEOSGeometry* g1, const char* g2str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:168,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:170,1
    - Dst: std::fprintf
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:173,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:174,1
    - Dst: GEOSFree
      Src: /src/geos/tests/unit/capi/capi_test_utils.h:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - tag
    - g1
    - g2
    - tolerance
    - rslt
    argTypes:
    - char*
    - GEOSGeometry*
    - GEOSGeometry*
    - double
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: capitest::report_not_equal
    functionSourceFile: /src/geos/tests/unit/capi/capi_test_utils.h
    functionUses: 6
    functionsReached:
    - GEOSFree
    - GEOSWKTWriter_write
    - std::fprintf
    linkageType: ''
    returnType: void
    signature: void report_not_equal(const char* tag, GEOSGeometry* g1, GEOSGeometry*
      g2, double tolerance, char rslt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:26,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:26,1
    - Dst: length
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:26,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:29,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:29,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:33,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:33,1
    - Dst: length
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:33,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:36,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:36,1
    - Dst: GEOSMinimumClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:40,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:42,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:47,1
    - Dst: GEOSMinimumClearanceLine
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:50,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:51,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:52,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:52,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:54,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:55,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ' wkx_input'
    - ' wkx_expected'
    - clearance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 57
    functionName: tut::testClearance
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGeomFromHEX_buf
    - tut::ensure_equals
    - length
    - GEOSMinimumClearance
    - GEOSGeom_destroy
    - c_str
    - GEOSMinimumClearanceLine
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: "void testClearance(const std::string& wkx_input,\n                  const
      std::string& wkx_expected,\n                  double clearance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:124,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:126,1
    - Dst: GEOSMinimumClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumClearance
    - GEOSGeom_createPointFromXY
    - ensure_equals
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:26,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:26,1
    - Dst: length
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:26,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:29,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:29,1
    - Dst: GEOSGeomFromHEX_buf
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:33,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:33,1
    - Dst: length
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:33,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:36,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:36,1
    - Dst: GEOSMinimumClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:40,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:42,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:47,1
    - Dst: GEOSMinimumClearanceLine
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:50,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:51,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:52,1
    - Dst: GEOSEquals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:52,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:54,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:55,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ' wkx_input'
    - ' wkx_expected'
    - clearance
    argTypes:
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 57
    functionName: tut::testClearance
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSGeomFromHEX_buf
    - tut::ensure_equals
    - length
    - GEOSMinimumClearance
    - GEOSGeom_destroy
    - c_str
    - GEOSMinimumClearanceLine
    - GEOSGeomFromWKT
    - GEOSEquals
    linkageType: ''
    returnType: void
    signature: "void testClearance(const std::string& wkx_input,\n                  const
      std::string& wkx_expected,\n                  double clearance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - testClearance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:124,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:126,1
    - Dst: GEOSMinimumClearance
      Src: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSMinimumClearanceTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSMinimumClearance
    - GEOSGeom_createPointFromXY
    - ensure_equals
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:21,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:22,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:23,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:24,1
    - Dst: GEOSGeom_createCircularString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:27,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals_identical
    - GEOSGeom_createCircularString
    - GEOSCoordSeq_setXY
    - fromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCircularString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:39,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:40,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeom_createEmptyCircularString
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:21,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:22,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:23,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:24,1
    - Dst: GEOSGeom_createCircularString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:26,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:27,1
    - Dst: ensure_geometry_equals_identical
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_geometry_equals_identical
    - GEOSGeom_createCircularString
    - GEOSCoordSeq_setXY
    - fromWKT
    - GEOSCoordSeq_create
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_createEmptyCircularString
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:38,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:39,1
    - Dst: GEOSHasZ
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:39,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:40,1
    - Dst: GEOSHasM
      Src: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeom_createCircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSHasZ
    - GEOSGeom_createEmptyCircularString
    - ensure
    - GEOSHasM
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:25,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:25,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:26,1
    - Dst: GEOSWKBWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:28,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:29,1
    - Dst: GEOSWKBWriter_setFlavor
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:30,1
    - Dst: GEOSWKBWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:32,1
    - Dst: GEOSWKBWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:33,1
    - Dst: GEOSWKBReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:35,1
    - Dst: GEOSWKBReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:36,1
    - Dst: GEOSWKBReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:37,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:38,1
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:40,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:41,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:42,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:43,1
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:44,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' wkt'
    - flavor
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 49
    functionName: tut::test_wkb
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GEOSWKBReader_create
    - GEOSWKTWriter_setRoundingPrecision
    - GEOSWKTWriter_setOutputDimension
    - GEOSWKBWriter_setOutputDimension
    - tut::ensure_equals
    - GEOSWKTWriter_create
    - free
    - GEOSWKBReader_read
    - GEOSWKTWriter_destroy
    - GEOSWKBWriter_setFlavor
    - c_str
    - GEOSWKBWriter_destroy
    - GEOSWKBReader_destroy
    - GEOSWKBWriter_create
    - GEOSGeomFromWKT
    - GEOSWKTWriter_write
    - GEOSWKBWriter_write
    linkageType: ''
    returnType: void
    signature: void test_wkb(const std::string& wkt, int flavor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: tut::test_wkb
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 1
    functionsReached:
    - tut::test_wkb
    linkageType: ''
    returnType: void
    signature: void test_wkb(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:82,1
    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: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:25,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:25,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:26,1
    - Dst: GEOSWKBWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:28,1
    - Dst: GEOSWKBWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:29,1
    - Dst: GEOSWKBWriter_setFlavor
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:30,1
    - Dst: GEOSWKBWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:32,1
    - Dst: GEOSWKBWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:33,1
    - Dst: GEOSWKBReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:35,1
    - Dst: GEOSWKBReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:36,1
    - Dst: GEOSWKBReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:37,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:38,1
    - Dst: GEOSWKTWriter_create
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:40,1
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:41,1
    - Dst: GEOSWKTWriter_setOutputDimension
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:42,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:43,1
    - Dst: GEOSWKTWriter_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:44,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ' wkt'
    - flavor
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 49
    functionName: tut::test_wkb
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - GEOSWKBReader_create
    - GEOSWKTWriter_setRoundingPrecision
    - GEOSWKTWriter_setOutputDimension
    - GEOSWKBWriter_setOutputDimension
    - tut::ensure_equals
    - GEOSWKTWriter_create
    - free
    - GEOSWKBReader_read
    - GEOSWKTWriter_destroy
    - GEOSWKBWriter_setFlavor
    - c_str
    - GEOSWKBWriter_destroy
    - GEOSWKBReader_destroy
    - GEOSWKBWriter_create
    - GEOSGeomFromWKT
    - GEOSWKTWriter_write
    - GEOSWKBWriter_write
    linkageType: ''
    returnType: void
    signature: void test_wkb(const std::string& wkt, int flavor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: tut::test_wkb
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 2
    functionsReached:
    - tut::test_wkb
    linkageType: ''
    returnType: void
    signature: void test_wkb(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:82,1
    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: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomToWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:34,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:36,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:37,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:45,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:48,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:57,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:67,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:69,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:34,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:36,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:37,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:45,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:47,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:48,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:57,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:67,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:69,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSConcaveHullOfPolygonsTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSConcaveHullOfPolygons
    - ensure
    - fromWKT
    - GEOSisEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:24,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLength
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:38,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLength
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:52,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLength
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:67,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLength
    - ensure
    - fromWKT
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:24,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLength
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:38,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLength
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:52,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:56,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSLength
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:67,1
    - Dst: GEOSLength
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSLengthTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSLengthTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSLength
    - ensure
    - fromWKT
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: tut::test_capigeosgeomfromwkb_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_create
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeomfromwkb_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: ~test_capigeosgeomfromwkb_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeomfromwkb_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::decode
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:33,1
    - Dst: GEOSGeomFromWKB_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:35,1
    - Dst: wkb_hex_decoder::binary_type::size
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:36,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:38,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:38,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:39,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' wkbhex'
    - ' wkt'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: tut::test_wkb
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - ensure_geometry_equals
    - GEOSGeomFromWKB_buf
    - tut::decode
    - c_str
    - wkb_hex_decoder::binary_type::size
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: void test_wkb(const std::string& wkbhex, const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:115,1
    - Dst: GEOSWKTReader_setFixStructure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:116,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:118,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_geometry_equals
    - GEOSWKTReader_setFixStructure
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_create
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: tut::test_capigeosgeomfromwkb_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_create
    linkageType: ''
    returnType: void
    signature: void test_capigeosgeomfromwkb_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: ~test_capigeosgeomfromwkb_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_capigeosgeomfromwkb_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::decode
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:33,1
    - Dst: GEOSGeomFromWKB_buf
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:35,1
    - Dst: wkb_hex_decoder::binary_type::size
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:36,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:38,1
    - Dst: c_str
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:38,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:39,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' wkbhex'
    - ' wkt'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: tut::test_wkb
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - ensure_geometry_equals
    - GEOSGeomFromWKB_buf
    - tut::decode
    - c_str
    - wkb_hex_decoder::binary_type::size
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: void test_wkb(const std::string& wkbhex, const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:115,1
    - Dst: GEOSWKTReader_setFixStructure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:116,1
    - Dst: GEOSWKTReader_read
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:118,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_geometry_equals
    - GEOSWKTReader_setFixStructure
    - GEOSWKTReader_read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wkb
      Src: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSGeomFromWKBTest.cpp
    functionUses: 0
    functionsReached:
    - test_wkb
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_create
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: tut::test_geoswkbreader_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_create
    linkageType: ''
    returnType: void
    signature: void test_geoswkbreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: ~test_geoswkbreader_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geoswkbreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_readHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:37,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:37,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:39,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:40,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:40,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:46,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:47,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 53
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_readHEX
    - GEOSGeomGetX
    - GEOSGetSRID
    - GEOSGeomGetY
    - GEOSGeomTypeId
    - ensure_equals
    - GEOSGeomGetZ
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_readHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:63,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:63,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:64,1
    - Dst: GEOSWKBReader_setFixStructure
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:66,1
    - Dst: GEOSWKBReader_readHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:67,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:67,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:67,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:69,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_readHEX
    - ensure_geometry_equals
    - ensure
    - fromWKT
    - GEOSWKBReader_setFixStructure
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_create
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: tut::test_geoswkbreader_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_create
    linkageType: ''
    returnType: void
    signature: void test_geoswkbreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_destroy
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: ~test_geoswkbreader_data()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_destroy
    linkageType: ''
    returnType: void
    signature: void ~test_geoswkbreader_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_readHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:37,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:37,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:37,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:39,1
    - Dst: GEOSGeomTypeId
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:40,1
    - Dst: GEOSGetSRID
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:40,1
    - Dst: GEOSGeomGetX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:46,1
    - Dst: GEOSGeomGetY
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:47,1
    - Dst: GEOSGeomGetZ
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:48,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 53
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_readHEX
    - GEOSGeomGetX
    - GEOSGetSRID
    - GEOSGeomGetY
    - GEOSGeomTypeId
    - ensure_equals
    - GEOSGeomGetZ
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKBReader_readHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:63,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:63,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:63,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:64,1
    - Dst: GEOSWKBReader_setFixStructure
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:66,1
    - Dst: GEOSWKBReader_readHEX
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:67,1
    - Dst: std::string::c_str
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:67,1
    - Dst: std::string::size
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:67,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:69,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSWKBReaderTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKBReader_readHEX
    - ensure_geometry_equals
    - ensure
    - fromWKT
    - GEOSWKBReader_setFixStructure
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:27,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:28,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:29,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:30,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:31,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:32,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCrosses
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:39,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:45,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:46,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCrosses
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:23,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:24,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:25,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:27,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:27,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:28,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:28,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:29,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:29,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:30,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:30,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:31,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:31,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:32,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCrosses
    - ensure_equals
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:39,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:40,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:43,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:45,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:46,1
    - Dst: GEOSCrosses
      Src: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCrossesTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSCrosses
    - ensure_equals
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:33,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonHullSimplify
    - ensure_geometry_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:46,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:48,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:49,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:51,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonHullSimplify
    - ensure_geometry_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:59,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:62,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSPolygonHullSimplify
    - ensure
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:71,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:73,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:74,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSPolygonHullSimplify
    - ensure
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:83,1
    - Dst: GEOSPolygonHullSimplifyMode
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:85,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:88,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSPolygonHullSimplifyMode
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:97,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonHullSimplify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:33,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:34,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:36,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:38,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonHullSimplify
    - ensure_geometry_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:46,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:47,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:48,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:49,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:51,1
    - Dst: GEOSisEmpty
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonHullSimplify
    - ensure_geometry_equals
    - ensure
    - GEOSisEmpty
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:59,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:61,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:62,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSPolygonHullSimplify
    - ensure
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:71,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:73,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:74,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - GEOSPolygonHullSimplify
    - ensure
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:83,1
    - Dst: GEOSPolygonHullSimplifyMode
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:85,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:88,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure
    - GEOSPolygonHullSimplifyMode
    - ensure_geometry_equals
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:97,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSPolygonHullSimplifyTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSPolygonHullSimplify
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: QUOTE
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUOTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: EXPAND_AND_QUOTE
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND_AND_QUOTE(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:30,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:30,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:30,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:31,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:31,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:31,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:32,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:32,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:33,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:35,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:35,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:36,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:36,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:37,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:37,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:38,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure
    - EXPAND_AND_QUOTE
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:47,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:49,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:49,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:50,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:50,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:51,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure_equals
    - EXPAND_AND_QUOTE
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:60,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:60,1
    - Dst: GEOSversion
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure_equals
    - GEOSversion
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:30,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:30,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:30,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:31,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:31,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:31,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:32,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:32,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:32,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:33,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:33,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:35,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:35,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:35,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:36,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:36,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:36,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:37,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:37,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:37,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:38,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure
    - EXPAND_AND_QUOTE
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:47,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:49,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:49,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:50,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:50,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:51,1
    - Dst: EXPAND_AND_QUOTE
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure_equals
    - EXPAND_AND_QUOTE
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:60,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:60,1
    - Dst: GEOSversion
      Src: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSCAPIDefinesTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - ensure_equals
    - GEOSversion
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:32,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:33,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:37,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:49,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:50,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:53,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:66,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:67,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:70,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:83,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:84,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:87,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:100,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:101,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:103,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:105,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:106,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:108,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:110,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - std::fetestexcept
    - std::feclearexcept
    - GEOSProject
    - ensure_equals
    - ensure
    - GEOSProjectNormalized
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:32,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:33,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:36,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:37,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:49,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:50,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:53,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:55,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:66,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:67,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:70,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:83,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:84,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:87,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSGeomFromWKT
    - ensure_equals
    - GEOSProjectNormalized
    - GEOSProject
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:100,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:101,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:103,1
    - Dst: GEOSProject
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:105,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:106,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:108,1
    - Dst: GEOSProjectNormalized
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:110,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSProjectTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSProjectTest.cpp
    functionUses: 0
    functionsReached:
    - std::fetestexcept
    - std::feclearexcept
    - GEOSProject
    - ensure_equals
    - ensure
    - GEOSProjectNormalized
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: tut::test_capigeossnap_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capigeossnap_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:40,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:41,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:42,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:44,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:57,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:58,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:59,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:61,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:74,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:75,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:76,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:78,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:93,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:94,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:95,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:97,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:110,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:111,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:112,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:114,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:128,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:129,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:130,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:132,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:147,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:148,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:149,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:151,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:165,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:166,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:167,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:169,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:171,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:181,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:182,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:183,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:185,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:187,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:198,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:199,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:200,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:202,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:213,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:216,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:217,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSnap
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSWKTWriter_setRoundingPrecision
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: tut::test_capigeossnap_data
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSWKTWriter_setRoundingPrecision
    linkageType: ''
    returnType: void
    signature: void test_capigeossnap_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:40,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:41,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:42,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:44,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:57,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:58,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:59,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:61,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:74,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:75,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:76,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:78,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:93,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:94,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:95,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:97,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:110,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:111,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:112,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:114,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:128,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:129,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:130,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:132,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:147,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:148,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:149,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:151,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:165,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:166,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:167,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:169,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:171,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:181,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:182,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:183,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:185,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:187,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:198,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:199,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:200,1
    - Dst: GEOSWKTWriter_write
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:202,1
    - Dst: free
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - free
    - ensure_equals
    - GEOSWKTWriter_write
    - GEOSSnap
    - GEOSGeomFromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:213,1
    - Dst: fromWKT
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:216,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:217,1
    - Dst: GEOSSnap
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/capi/GEOSSnapTest.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOSSnapTest.cpp
    functionUses: 0
    functionsReached:
    - GEOSSnap
    - ensure
    - fromWKT
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:31,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:32,1
    - Dst: std::nan
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:32,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:33,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:33,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:34,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:34,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:35,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:36,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:37,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:38,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:39,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:40,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:41,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:42,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:43,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:44,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:45,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:46,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:47,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:48,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:49,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:50,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:51,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:52,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:53,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:54,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:55,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:56,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:57,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:58,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:59,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:60,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:61,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:62,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:63,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:64,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:65,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:66,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:67,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:68,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:69,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:70,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:71,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:72,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:73,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:74,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:75,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:76,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:77,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:78,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:79,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:80,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:81,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:82,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:83,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:84,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:85,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:86,1
    - Dst: GEOS_printDouble
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:90,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:94,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:94,1
    - Dst: expected::size
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 97
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - std::nan
    - TESTCASE
    - string
    - expected::size
    - ensure_equals
    - static_cast<int>
    - GEOS_printDouble
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_p
    - p_d
    - p_expected
    argTypes:
    - unsigned int
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: tut::TESTCASE
    functionSourceFile: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TESTCASE(unsigned int p_p, double p_d, std::string p_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:31,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:32,1
    - Dst: std::nan
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:32,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:33,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:33,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:34,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:34,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:35,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:36,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:37,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:38,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:39,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:40,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:41,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:42,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:43,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:44,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:45,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:46,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:47,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:48,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:49,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:50,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:51,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:52,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:53,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:54,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:55,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:56,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:57,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:58,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:59,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:60,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:61,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:62,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:63,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:64,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:65,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:66,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:67,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:68,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:69,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:70,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:71,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:72,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:73,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:74,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:75,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:76,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:77,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:78,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:79,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:80,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:81,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:82,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:83,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:84,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:85,1
    - Dst: TESTCASE
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:86,1
    - Dst: GEOS_printDouble
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:90,1
    - Dst: string
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:94,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:94,1
    - Dst: expected::size
      Src: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 97
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - std::nan
    - TESTCASE
    - string
    - expected::size
    - ensure_equals
    - static_cast<int>
    - GEOS_printDouble
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_p
    - p_d
    - p_expected
    argTypes:
    - unsigned int
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: tut::TESTCASE
    functionSourceFile: /src/geos/tests/unit/capi/GEOS_printDoubleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TESTCASE(unsigned int p_p, double p_d, std::string p_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:29,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::CommonBits::getBit
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:41,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - ensure_equals
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:52,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:53,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - ensure_equals
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:64,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:65,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:66,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:67,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:68,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:69,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:70,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:71,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:72,1
    - Dst: static_cast<uint64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:72,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:73,1
    - Dst: static_cast<uint64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:73,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:74,1
    - Dst: static_cast<uint64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:74,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:75,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:76,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - ensure_equals
    - geos::precision::CommonBits::zeroLowerBits
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:29,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::CommonBits::getBit
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:39,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:41,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - ensure_equals
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:51,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:52,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:53,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - ensure_equals
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:64,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:65,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:66,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:67,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:68,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:69,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:70,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:71,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:72,1
    - Dst: static_cast<uint64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:72,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:73,1
    - Dst: static_cast<uint64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:73,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:73,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:74,1
    - Dst: static_cast<uint64_t>
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:74,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:75,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:76,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/tests/unit/precision/CommonBitsTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/precision/CommonBitsTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - ensure_equals
    - geos::precision::CommonBits::zeroLowerBits
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:40,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:41,1
    - Dst: get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:42,1
    - Dst: setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:47,1
    - Dst: setChangePrecisionModel
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:48,1
    - Dst: setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:49,1
    - Dst: setChangePrecisionModel
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: tut::test_gpr_data
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - setChangePrecisionModel
    - get
    - setRemoveCollapsedComponents
    linkageType: ''
    returnType: void
    signature: void test_gpr_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:58,1
    - Dst: geos::precision::GeometryPrecisionReducer::reducePointwise
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:59,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:60,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:60,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:60,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:61,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:61,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: tut::checkReducePointwise
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure
    - std::unique_ptr::get
    - read
    - geos::precision::GeometryPrecisionReducer::reducePointwise
    - std::unique_ptr::getFactory
    linkageType: ''
    returnType: void
    signature: "void checkReducePointwise(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: tut::checkReduceKeepCollapse
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkReduceAny
    linkageType: ''
    returnType: void
    signature: "void checkReduceKeepCollapse(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: tut::checkReduceNewPM
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkReduceAny
    linkageType: ''
    returnType: void
    signature: "void checkReduceNewPM(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:85,1
    - Dst: GeometryPrecisionReducer::setChangePrecisionModel
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:86,1
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - scaleFactor
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - double
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: tut::checkReduce
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::setChangePrecisionModel
    - tut::checkReduceAny
    - GeometryPrecisionReducer::setRemoveCollapsedComponents
    linkageType: ''
    returnType: void
    signature: "void checkReduce(\n        double scaleFactor,\n        const std::string&
      wkt,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: tut::checkReduce
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkReduceAny
    linkageType: ''
    returnType: void
    signature: "void checkReduce(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:103,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:104,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:105,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:109,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:111,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:111,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:111,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:113,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:113,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' wkt'
    - ' wktExpected'
    - ' reducerAny'
    argTypes:
    - std::string
    - std::string
    - GeometryPrecisionReducer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: tut::checkReduceAny
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure
    - std::unique_ptr::get
    - read
    - reduce
    - std::unique_ptr::getFactory
    linkageType: ''
    returnType: void
    signature: "void checkReduceAny(\n        const std::string& wkt,\n        const
      std::string& wktExpected,\n        GeometryPrecisionReducer& reducerAny,\n        bool
      samePM = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceKeepCollapse
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceKeepCollapse
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceKeepCollapse
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceNewPM
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceNewPM
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceNewPM
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceNewPM
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReducePointwise
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReducePointwise
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReducePointwise
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReducePointwise
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:391,1
    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: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:40,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:41,1
    - Dst: get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:42,1
    - Dst: setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:47,1
    - Dst: setChangePrecisionModel
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:48,1
    - Dst: setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:49,1
    - Dst: setChangePrecisionModel
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: tut::test_gpr_data
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - setChangePrecisionModel
    - get
    - setRemoveCollapsedComponents
    linkageType: ''
    returnType: void
    signature: void test_gpr_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:58,1
    - Dst: geos::precision::GeometryPrecisionReducer::reducePointwise
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:59,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:60,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:60,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:60,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:61,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:61,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: tut::checkReducePointwise
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure
    - std::unique_ptr::get
    - read
    - geos::precision::GeometryPrecisionReducer::reducePointwise
    - std::unique_ptr::getFactory
    linkageType: ''
    returnType: void
    signature: "void checkReducePointwise(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: tut::checkReduceKeepCollapse
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkReduceAny
    linkageType: ''
    returnType: void
    signature: "void checkReduceKeepCollapse(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: tut::checkReduceNewPM
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkReduceAny
    linkageType: ''
    returnType: void
    signature: "void checkReduceNewPM(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:85,1
    - Dst: GeometryPrecisionReducer::setChangePrecisionModel
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:86,1
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - scaleFactor
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - double
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: tut::checkReduce
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::setChangePrecisionModel
    - tut::checkReduceAny
    - GeometryPrecisionReducer::setRemoveCollapsedComponents
    linkageType: ''
    returnType: void
    signature: "void checkReduce(\n        double scaleFactor,\n        const std::string&
      wkt,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkReduceAny
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: tut::checkReduce
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkReduceAny
    linkageType: ''
    returnType: void
    signature: "void checkReduce(\n        const std::string& wkt,\n        const
      std::string& wktExpected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:103,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:104,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:105,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:109,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:111,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:111,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:111,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:113,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:113,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' wkt'
    - ' wktExpected'
    - ' reducerAny'
    argTypes:
    - std::string
    - std::string
    - GeometryPrecisionReducer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: tut::checkReduceAny
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 8
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure
    - std::unique_ptr::get
    - read
    - reduce
    - std::unique_ptr::getFactory
    linkageType: ''
    returnType: void
    signature: "void checkReduceAny(\n        const std::string& wkt,\n        const
      std::string& wktExpected,\n        GeometryPrecisionReducer& reducerAny,\n        bool
      samePM = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceKeepCollapse
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceKeepCollapse
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceKeepCollapse
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceNewPM
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceNewPM
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduceNewPM
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduceNewPM
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReducePointwise
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReducePointwise
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReducePointwise
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReducePointwise
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:391,1
    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: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/precision/GeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:35,1
    - Dst: get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:36,1
    - Dst: setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: tut::test_sgpr_data
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - setRemoveCollapsedComponents
    linkageType: ''
    returnType: void
    signature: void test_sgpr_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:60,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:62,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:64,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:64,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:74,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:76,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:78,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:78,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:87,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:88,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:90,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:92,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:92,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:101,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:102,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:104,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:106,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:106,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:115,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:116,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:118,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:120,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:120,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:129,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:130,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:132,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:132,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:134,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:134,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:143,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:144,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:146,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:148,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:148,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:35,1
    - Dst: get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:36,1
    - Dst: setRemoveCollapsedComponents
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: tut::test_sgpr_data
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - setRemoveCollapsedComponents
    linkageType: ''
    returnType: void
    signature: void test_sgpr_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:60,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:62,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:64,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:64,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:74,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:76,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:78,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:78,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:87,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:88,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:90,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:92,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:92,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:101,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:102,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:104,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:106,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:106,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:115,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:116,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:118,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:120,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:120,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:129,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:130,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:132,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:132,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:134,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:134,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:143,1
    - Dst: read
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:144,1
    - Dst: reduce
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:146,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:148,1
    - Dst: GeometryPtr::equalsExact
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:148,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/precision/SimpleGeometryPrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - reduce
    - ensure
    - GeometryPtr::get
    - GeometryPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:27,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:28,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:29,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:33,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:35,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:36,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:37,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:38,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:40,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:43,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:45,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:45,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:47,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:48,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:49,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:50,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:53,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:53,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 54
    functionName: tut::test_curvepolygon_data
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - createCurvePolygon
    - std::move
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void test_curvepolygon_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:68,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:69,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:70,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:71,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:72,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:74,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:75,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:77,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:78,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - createCurvePolygon
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - ensure_equals
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:87,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:88,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:89,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:92,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:93,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:94,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:95,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:96,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:97,1
    - Dst: getNumInteriorRing
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:102,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:102,1
    - Dst: geos::geom::Envelope::getMinX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:103,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:103,1
    - Dst: geos::geom::Envelope::getMinY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:104,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:104,1
    - Dst: geos::geom::Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:105,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:105,1
    - Dst: geos::geom::Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:109,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:110,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:111,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:112,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:113,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:114,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:115,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:116,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:117,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:118,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:121,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:122,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:123,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:126,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:127,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:127,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 128
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::getMaxY
    - getGeometryType
    - getMaxX
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getMinX
    - isDimensionStrict
    - geos::geom::Envelope::getMinY
    - getEnvelopeInternal
    - getMaxY
    - getGeometryTypeId
    - geos::geom::Envelope::getMaxX
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getNumInteriorRing
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - geos::geom::Envelope::getMinX
    - ensure_equals
    - getMinY
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:136,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:137,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:137,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:138,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:138,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:138,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:139,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:139,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:139,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:140,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:140,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:141,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:142,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:143,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:143,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:144,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:144,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:145,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:145,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:145,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:146,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:146,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:146,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:150,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:150,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:151,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:151,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:154,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:154,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:155,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:155,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:156,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:156,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:156,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:157,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:157,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:157,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:158,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:158,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:158,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:161,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:161,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:161,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:162,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:162,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:162,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:165,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:165,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:166,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:166,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:169,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:169,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:170,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:170,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:171,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:171,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:172,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:174,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:174,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:178,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:178,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:178,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:182,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:183,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 184
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:27,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:28,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:29,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:33,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:35,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:36,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:37,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:38,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:40,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:43,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:45,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:45,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:47,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:48,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:49,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:50,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:53,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:53,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 54
    functionName: tut::test_curvepolygon_data
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - createCurvePolygon
    - std::move
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void test_curvepolygon_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:68,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:69,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:70,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:71,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:72,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:74,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:75,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:77,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:78,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - createCurvePolygon
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - ensure_equals
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:87,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:88,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:89,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:92,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:93,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:94,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:95,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:96,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:97,1
    - Dst: getNumInteriorRing
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:102,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:102,1
    - Dst: geos::geom::Envelope::getMinX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:103,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:103,1
    - Dst: geos::geom::Envelope::getMinY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:104,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:104,1
    - Dst: geos::geom::Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:105,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:105,1
    - Dst: geos::geom::Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:109,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:110,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:111,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:112,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:113,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:114,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:115,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:116,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:117,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:118,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:121,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:122,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:123,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:126,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:127,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:127,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 128
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::getMaxY
    - getGeometryType
    - getMaxX
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getMinX
    - isDimensionStrict
    - geos::geom::Envelope::getMinY
    - getEnvelopeInternal
    - getMaxY
    - getGeometryTypeId
    - geos::geom::Envelope::getMaxX
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getNumInteriorRing
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - geos::geom::Envelope::getMinX
    - ensure_equals
    - getMinY
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:136,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:137,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:137,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:138,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:138,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:138,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:139,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:139,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:139,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:140,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:140,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:141,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:142,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:143,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:143,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:144,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:144,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:145,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:145,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:145,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:146,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:146,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:146,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:150,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:150,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:151,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:151,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:154,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:154,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:155,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:155,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:156,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:156,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:156,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:157,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:157,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:157,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:158,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:158,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:158,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:161,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:161,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:161,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:162,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:162,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:162,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:165,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:165,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:166,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:166,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:169,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:169,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:170,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:170,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:171,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:171,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:172,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:174,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:174,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:178,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:178,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:178,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:182,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:183,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/CurvePolygonTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 184
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CurvePolygonTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tut::test_coordinatearraysequence_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinatearraysequence_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: tut::Filter
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::CoordinateXY*) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - geos::geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Coordinate* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:77,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:78,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:79,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:81,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:82,1
    - Dst: geos::geom::CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:83,1
    - Dst: geos::geom::CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::getDimension
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::getSize
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::hasM
    - geos::geom::CoordinateSequence::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:95,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:96,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:97,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:99,1
    - Dst: geos::geom::CoordinateSequence::toString
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:99,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:101,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:103,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:104,1
    - Dst: geos::geom::CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:105,1
    - Dst: geos::geom::CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::getDimension
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::getSize
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - geos::geom::CoordinateSequence::toString
    - string
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::hasM
    - geos::geom::CoordinateSequence::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:115,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:116,1
    - Dst: CoordinateSequence::toVector
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:121,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:121,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:122,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:122,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:123,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:123,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:123,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:126,1
    - Dst: CoordinateSequence::toVector
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:129,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:129,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:130,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:131,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:132,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:132,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:135,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:135,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:137,1
    - Dst: CoordinateSequence::toVector
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:140,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:140,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:142,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:142,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:143,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:143,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:144,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:144,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    - CoordinateSequence::toVector
    - ensure_equals
    - ensure
    - equals3D
    - CoordinateSequence::getAt
    - CoordinateXY
    - std::vector::size
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:159,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:159,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:160,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:161,1
    - Dst: geos::geom::CoordinateSequence::toString
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:161,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:166,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:167,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:168,1
    - Dst: geos::geom::CoordinateSequence::toString
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:168,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:168,1
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:172,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:173,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:173,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:174,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:176,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:176,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:177,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:177,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:182,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:183,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:186,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:186,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:187,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:187,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:187,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:188,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:188,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 189
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::toString
    - string
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:200,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:201,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:201,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:202,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:206,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:206,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:207,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:209,1
    - Dst: geos::geom::CoordinateSequence::getX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:210,1
    - Dst: geos::geom::CoordinateSequence::getY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:211,1
    - Dst: geos::geom::CoordinateSequence::getX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:212,1
    - Dst: geos::geom::CoordinateSequence::getY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::getX
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - Coordinate
    - geos::geom::CoordinateSequence::getY
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:224,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:225,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:225,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:226,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:228,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:228,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:229,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:229,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:230,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:230,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:230,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:233,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:234,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:234,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:235,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:236,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:236,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:237,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:238,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:238,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:243,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:246,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:248,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:250,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:251,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:254,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:256,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:262,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:262,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:269,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 270
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - std::isnan
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:282,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:284,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:284,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:285,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:285,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:289,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:292,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:292,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:293,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:293,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:298,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:301,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:301,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:302,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:302,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:304,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:304,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:307,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:307,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:307,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:309,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:310,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:311,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:311,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:312,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:312,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:313,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:313,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:314,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 315
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:327,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:327,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:328,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:328,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:329,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:329,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:333,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:335,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:335,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:336,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:336,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:337,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:337,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:338,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:338,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:343,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:345,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:347,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:348,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:348,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:349,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:349,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:351,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 352
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - geos::geom::CoordinateSequence::setAt
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:360,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:360,1
    - Dst: CoordinateSequence::pop_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:363,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:363,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:364,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:364,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateSequence::pop_back
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:376,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:376,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:377,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:377,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:378,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:382,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:382,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:383,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:383,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:384,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:384,1
    - Dst: geos::geom::CoordinateSequence::setPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:387,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:389,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:390,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:390,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:390,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:391,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:392,1
    - Dst: geos::geom::CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:392,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:393,1
    - Dst: geos::geom::CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:393,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:394,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:394,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:397,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:397,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:398,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:398,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:399,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:399,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:401,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:401,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:402,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:402,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:403,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:405,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:405,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:406,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:406,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:407,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::setPoints
    - geos::geom::CoordinateSequence::getDimension
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::hasM
    - geos::geom::CoordinateSequence::hasZ
    - std::vector::size
    - geos::geom::CoordinateSequence::getAt
    - std::vector::push_back
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:416,1
    - Dst: CoordinateSequence::getEnvelope
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:417,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:418,1
    - Dst: isNull
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:418,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:420,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:421,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:422,1
    - Dst: CoordinateSequence::getEnvelope
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:424,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:426,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:426,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:427,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:427,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:428,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:428,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:429,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 430
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getEnvelope
    - isNull
    - getMinX
    - CoordinateSequence::CoordinateSequence
    - CoordinateXYZM
    - getMaxX
    - ensure_equals
    - ensure
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:446,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:447,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:449,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:450,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:451,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:453,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:454,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:455,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:457,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:458,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:461,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:464,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:467,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:470,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:473,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:474,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:476,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 479
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:492,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:494,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:496,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:499,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:502,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:504,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 507
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:520,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:522,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:524,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:528,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:529,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:531,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:532,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 537
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:553,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:554,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:555,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:556,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:557,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:558,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:562,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:563,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:565,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:567,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:571,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:572,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:573,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:574,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:575,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:576,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:580,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:581,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:582,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:583,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:584,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 587
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:596,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:598,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:598,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:599,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:599,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:600,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:600,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:602,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:602,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:602,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:604,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:604,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:605,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:605,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:606,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:606,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:609,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:609,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:610,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:610,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:610,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:613,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:613,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:614,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:614,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:614,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:618,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:618,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:619,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:619,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:619,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:622,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:622,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:623,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:623,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:623,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:627,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:627,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:628,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:628,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:628,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:629,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:629,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:630,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:630,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:631,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 632
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::size_t
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:641,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:641,1
    - Dst: geos::geom::CoordinateSequence::apply_rw
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:646,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:647,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:647,1
    - Dst: geos::geom::CoordinateSequence::apply_rw
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:650,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:651,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::apply_rw
    - ensure_equals
    - geos::geom::CoordinateSequence::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:662,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:663,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:663,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:663,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:665,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:665,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:666,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:666,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:667,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:667,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:668,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 669
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - ensure
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:679,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:680,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:680,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:680,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:682,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:682,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:683,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:683,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:684,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 685
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - ensure
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:695,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:696,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:696,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:696,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:697,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:697,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:697,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:699,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:699,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:700,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:700,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:701,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:701,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:702,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:702,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:703,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:703,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:704,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:704,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:705,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 706
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - ensure
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:715,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:716,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:718,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:719,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:719,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:719,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:721,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:722,1
    - Dst: Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:722,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 723
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - Coordinate
    - Coordinate::equals3D
    - CoordinateXY
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY::equals2D
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:732,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:733,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:735,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:735,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:736,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:736,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:738,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:738,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:738,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:739,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:739,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:739,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:740,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:740,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 741
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::setAt
    - CoordinateXYZM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:750,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:751,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:753,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:753,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:754,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:754,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:756,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:756,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:756,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:757,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:758,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:759,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:760,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:761,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 762
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::setAt
    - std::isnan
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:771,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:771,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:772,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:772,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:774,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:774,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:775,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:775,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:777,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:777,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:777,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:778,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:778,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 779
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::setAt
    - CoordinateXY
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:789,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:789,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:790,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:790,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:792,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:792,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:793,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:793,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:794,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:794,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:796,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:796,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:796,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:797,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:797,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 798
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:809,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:810,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:812,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:812,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:812,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:814,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:814,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:815,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:815,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:815,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:816,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:816,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 817
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - ensure_equals
    - CoordinateSequence::getAt
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:826,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:826,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:827,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:827,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:831,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:831,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:832,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:832,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:834,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:836,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:836,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:837,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:837,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:838,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:838,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:838,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:839,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:839,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:839,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:840,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:840,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:840,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:841,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:841,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 842
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateXY
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:850,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:851,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:853,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:853,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:854,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:854,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:856,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:856,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:857,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:857,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:859,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:861,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:861,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:862,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:862,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:863,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:863,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:863,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:864,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:864,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:864,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:865,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:865,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:865,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:866,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:866,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 867
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - CoordinateSequence::getDimension
    - CoordinateXY
    - ensure_equals
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:875,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:876,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:878,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:878,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:879,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:879,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:881,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:881,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:882,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:882,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:884,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:885,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:885,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:886,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 888
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - CoordinateSequence::getDimension
    - CoordinateXY
    - ensure_equals
    - Coordinate
    - CoordinateSequence::size
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:896,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:897,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:898,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:899,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:900,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:901,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:903,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:903,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:905,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:905,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:907,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:907,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:908,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:908,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:909,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:909,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:910,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:910,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:911,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 912
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::setAt
    - CoordinateSequence::scroll
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:920,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:921,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:922,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:923,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:926,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:926,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:929,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 930
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - CoordinateSequence::indexOf
    - CoordinateSequence::setAt
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:939,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:940,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:940,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:942,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:943,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:943,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:944,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 945
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - CoordinateXYZM
    - ensure_equals
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:953,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:954,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:957,1
    - Dst: CoordinateSequence::front
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:957,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:960,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 961
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::front
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:969,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:970,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:973,1
    - Dst: CoordinateSequence::front
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:973,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:976,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 977
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::front
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:985,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:986,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:987,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:988,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:989,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:991,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:993,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:993,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:994,1
    - Dst: CoordinateSequence::isRing
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:994,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:996,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:997,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 998
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - CoordinateSequence::isRing
    - ensure_equals
    - ensure
    - CoordinateSequence::closeRing
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1008,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1008,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1009,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1009,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1010,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1011
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::hasZ
    - ensure_equals
    - ensure
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1019,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1027,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1029,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1029,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1030,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1030,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1031,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1031,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1032,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1033
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1041,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1050,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1052,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1052,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1053,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1053,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1054,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1054,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1055,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1056
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1064,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1073,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1075,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1075,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1076,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1076,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1077,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1077,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1078,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1079
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1097,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1099,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1099,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1100,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1101,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1102,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1103
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getAt
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1112,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1113,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1115,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1116,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1117,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1121,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1122,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1123,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1124
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1140,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1146,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1153
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - XY
    - XYZM
    - XYZ
    - CoordinateSequence::reverse
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1169,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1175,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1182
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - XY
    - XYZM
    - XYZ
    - ensure_equals
    - CoordinateSequence::sort
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1191,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1194,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1195,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1199,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1200
    functionName: 'object::test<44>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::setAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<44>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1209,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1209,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1210,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1212,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1212,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1213,1
    - Dst: CoordinateSequence::getCoordinateType
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1213,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1218,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1220,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1220,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1223,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1224,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1225,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1226
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateXYM
    - std::isnan
    - CoordinateSequence::getCoordinateType
    - ensure_equals
    - CoordinateSequence::getAt
    - ensure
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1235,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1235,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1238,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1238,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1238,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1242,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1243,1
    - Dst: CoordinateXYM::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1243,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1246,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1246,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1247
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM
    - CoordinateXYZM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY
    - Coordinate
    - CoordinateXYM::equals3D
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1256,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1258,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1259
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - ensure_equals
    - CoordinateSequence::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1268,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1268,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1270,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1270,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1271,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1271,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1272,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1272,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1273,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1273,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1275,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1275,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1276,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1276,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1277,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1277,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1278,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1278,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1282,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1282,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1284,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1284,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1285,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1285,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1286,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1286,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1287,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1287,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1289,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1289,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1290,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1290,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1291,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1291,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1292,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1292,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1296,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1296,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1298,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1298,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1299,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1299,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1300,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1300,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1301,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1301,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1303,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1303,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1304,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1304,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1305,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1305,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1306,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1306,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1310,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1310,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1312,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1312,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1313,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1313,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1314,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1314,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1315,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1315,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1317,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1317,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1318,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1318,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1319,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1319,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1320,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1323
    functionName: 'object::test<48>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM
    - ensure_same
    - CoordinateSequence::getOrdinate
    - CoordinateXYZM
    - CoordinateXY
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<48>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1331,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1331,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1333,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1334,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1336,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1337,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1338,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1339,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1341,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1342,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1343,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1345
    functionName: 'object::test<49>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - Coordinate
    - CoordinateSequence::getAt
    - ensure_same
    linkageType: ''
    returnType: void
    signature: 'void object::test<49>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1353,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1353,1
    - Dst: CoordinateSequence::data
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1357,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1357,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1358,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1359,1
    - Dst: CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1359,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1360,1
    - Dst: CoordinateSequence::data
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1361
    functionName: 'object::test<50>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::hasZ
    - CoordinateSequence::hasM
    - CoordinateXYM
    - ensure_equals
    - ensure
    - CoordinateSequence::data
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<50>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1375,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1375,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1376,1
    - Dst: CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1377
    functionName: 'object::test<51>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::hasZ
    - CoordinateSequence::hasM
    - ensure
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<51>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1381
    functionName: tut::AddToSequence
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddToSequence(CoordinateSequence& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1386
    functionName: tut::filter
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void filter(const T* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1400,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1402,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1403,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1403,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1403,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1404,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1405,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1405,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1405,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1410,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1413,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1413,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1413,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1414,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1415,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1415,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1415,1
    - Dst: geos::io::createXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1420,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1422,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1423,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1423,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1423,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1424,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1425,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1425,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1425,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1430,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1432,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1433,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1433,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1433,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1435,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1435,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1437
    functionName: 'object::test<52>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::apply_ro
    - geos::io::createXYM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    - geos::io::createXYZM
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<52>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1451,1
    - Dst: CoordinateSequence::forEach
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1454,1
    - Dst: CoordinateSequence::forEach
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1455,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1457,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1457,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1458,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1458,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1459,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1459,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1460,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1460,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1461,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1462
    functionName: 'object::test<53>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::forEach
    - CoordinateSequence::add
    - ensure_equals_xyzm
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<53>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1470,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1471,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1472,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1473,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1475,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1475,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1476,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1476,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1478,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1478,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1479,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1479,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1480,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1480,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1482,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1484,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1484,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1485,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1485,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1486,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1486,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1488,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1488,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1490,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1491,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1491,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1492,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1492,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1493,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1467
    functionDepth: 3
    functionLinenumber: 1467
    functionLinenumberEnd: 1494
    functionName: 'object::test<54>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - CoordinateSequence::setAt
    - CoordinateSequence::equalsIdentical
    - ensure
    - Coordinate
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<54>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1503,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1503,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1508,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1511
    functionName: 'object::test<55>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - ensure_equals
    - CoordinateSequence::add
    linkageType: ''
    returnType: void
    signature: 'void object::test<55>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1519,1
    - Dst: geos::io::createXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1520,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1522,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1522,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1523,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1523,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1525,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1525,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1526,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1526,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1528,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1530,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1530,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1531,1
    - Dst: CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1531,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1533,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1533,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1534,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1534,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1535,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1535,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1536,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1516
    functionDepth: 3
    functionLinenumber: 1516
    functionLinenumberEnd: 1537
    functionName: 'object::test<56>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::hasZ
    - CoordinateSequence::add
    - CoordinateSequence::hasM
    - CoordinateXYM
    - geos::io::createXYM
    - ensure
    - ensure_equals_xyz
    - CoordinateSequence::getAt
    - Coordinate
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<56>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: tut::test_coordinatearraysequence_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinatearraysequence_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: tut::Filter
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::CoordinateXY*) const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - geos::geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Coordinate* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:77,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:78,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:79,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:81,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:82,1
    - Dst: geos::geom::CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:83,1
    - Dst: geos::geom::CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::getDimension
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::getSize
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::hasM
    - geos::geom::CoordinateSequence::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:95,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:96,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:97,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:99,1
    - Dst: geos::geom::CoordinateSequence::toString
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:99,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:101,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:103,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:104,1
    - Dst: geos::geom::CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:105,1
    - Dst: geos::geom::CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::getDimension
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::getSize
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - geos::geom::CoordinateSequence::toString
    - string
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::hasM
    - geos::geom::CoordinateSequence::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:115,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:116,1
    - Dst: CoordinateSequence::toVector
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:121,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:121,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:122,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:122,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:123,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:123,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:123,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:126,1
    - Dst: CoordinateSequence::toVector
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:129,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:129,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:130,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:131,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:132,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:132,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:135,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:135,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:137,1
    - Dst: CoordinateSequence::toVector
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:140,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:140,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:142,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:142,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:143,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:143,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:144,1
    - Dst: equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:144,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    - CoordinateSequence::toVector
    - ensure_equals
    - ensure
    - equals3D
    - CoordinateSequence::getAt
    - CoordinateXY
    - std::vector::size
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:159,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:159,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:160,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:161,1
    - Dst: geos::geom::CoordinateSequence::toString
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:161,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:161,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:166,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:167,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:168,1
    - Dst: geos::geom::CoordinateSequence::toString
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:168,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:168,1
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:172,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:173,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:173,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:174,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:176,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:176,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:177,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:177,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:182,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:183,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:186,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:186,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:187,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:187,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:187,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:188,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:188,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 189
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::toString
    - string
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:200,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:201,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:201,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:202,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:206,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:206,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:207,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:209,1
    - Dst: geos::geom::CoordinateSequence::getX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:210,1
    - Dst: geos::geom::CoordinateSequence::getY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:211,1
    - Dst: geos::geom::CoordinateSequence::getX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:212,1
    - Dst: geos::geom::CoordinateSequence::getY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::getX
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - Coordinate
    - geos::geom::CoordinateSequence::getY
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:224,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:225,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:225,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:226,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:228,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:228,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:229,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:229,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:230,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:230,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:230,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:233,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:234,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:234,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:235,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:236,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:236,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:237,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:238,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:238,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:243,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:245,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:246,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:248,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:250,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:251,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:254,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:255,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:256,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:262,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:262,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:269,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 270
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - std::isnan
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:282,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:284,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:284,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:285,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:285,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:289,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:292,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:292,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:293,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:293,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:298,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:301,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:301,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:302,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:302,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:304,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:304,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:307,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:307,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:307,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:309,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:310,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:311,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:311,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:312,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:312,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:313,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:313,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:314,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 315
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:327,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:327,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:328,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:328,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:329,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:329,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:333,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:335,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:335,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:336,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:336,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:337,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:337,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:338,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:338,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:343,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:345,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:347,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:348,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:348,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:349,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:349,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:351,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 352
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - geos::geom::CoordinateSequence::setAt
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:360,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:360,1
    - Dst: CoordinateSequence::pop_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:363,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:363,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:364,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:364,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateSequence::pop_back
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:376,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:376,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:377,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:377,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:378,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:382,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:382,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:383,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:383,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:384,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:384,1
    - Dst: geos::geom::CoordinateSequence::setPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:387,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:389,1
    - Dst: geos::geom::CoordinateSequence::isEmpty
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:390,1
    - Dst: geos::geom::CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:390,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:390,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:391,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:392,1
    - Dst: geos::geom::CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:392,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:393,1
    - Dst: geos::geom::CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:393,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:394,1
    - Dst: geos::geom::CoordinateSequence::hasRepeatedPoints
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:394,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:397,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:397,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:398,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:398,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:399,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:399,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:401,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:401,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:402,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:402,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:403,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:405,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:405,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:406,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:406,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:407,1
    - Dst: geos::geom::CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::setPoints
    - geos::geom::CoordinateSequence::getDimension
    - geos::geom::CoordinateSequence::isEmpty
    - geos::geom::CoordinateSequence::hasRepeatedPoints
    - ensure_equals
    - ensure
    - geos::geom::CoordinateSequence::size
    - geos::geom::CoordinateSequence::hasM
    - geos::geom::CoordinateSequence::hasZ
    - std::vector::size
    - geos::geom::CoordinateSequence::getAt
    - std::vector::push_back
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:416,1
    - Dst: CoordinateSequence::getEnvelope
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:417,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:418,1
    - Dst: isNull
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:418,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:420,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:421,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:422,1
    - Dst: CoordinateSequence::getEnvelope
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:424,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:426,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:426,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:427,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:427,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:428,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:428,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:429,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 430
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getEnvelope
    - isNull
    - getMinX
    - CoordinateSequence::CoordinateSequence
    - CoordinateXYZM
    - getMaxX
    - ensure_equals
    - ensure
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:446,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:447,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:449,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:450,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:451,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:453,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:454,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:455,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:457,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:458,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:461,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:464,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:467,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:470,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:473,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:474,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:476,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 479
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:492,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:494,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:496,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:499,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:502,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:504,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 507
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:520,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:522,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:524,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:528,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:529,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:531,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:532,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 537
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:553,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:554,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:555,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:556,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:557,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:558,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:562,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:563,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:565,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:567,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:571,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:572,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:573,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:574,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:575,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:576,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:580,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:581,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:582,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:583,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:584,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 587
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:596,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:598,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:598,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:599,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:599,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:600,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:600,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:602,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:602,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:602,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:604,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:604,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:605,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:605,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:606,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:606,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:609,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:609,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:610,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:610,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:610,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:613,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:613,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:614,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:614,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:614,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:618,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:618,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:619,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:619,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:619,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:622,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:622,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:623,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:623,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:623,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:627,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:627,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:628,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:628,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:628,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:629,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:629,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:630,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:630,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:631,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 632
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::size_t
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:641,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:641,1
    - Dst: geos::geom::CoordinateSequence::apply_rw
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:646,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:647,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:647,1
    - Dst: geos::geom::CoordinateSequence::apply_rw
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:650,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:651,1
    - Dst: geos::geom::CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequence::apply_rw
    - ensure_equals
    - geos::geom::CoordinateSequence::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:662,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:663,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:663,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:663,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:665,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:665,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:666,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:666,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:667,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:667,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:668,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 669
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - ensure
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:679,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:680,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:680,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:680,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:682,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:682,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:683,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:683,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:684,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 685
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - ensure
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:695,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:696,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:696,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:696,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:697,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:697,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:697,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:699,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:699,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:700,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:700,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:701,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:701,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:702,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:702,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:703,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:703,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:704,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:704,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:705,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 706
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - ensure
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:715,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:716,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:718,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:719,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:719,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:719,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:721,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:722,1
    - Dst: Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:722,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 723
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - Coordinate
    - Coordinate::equals3D
    - CoordinateXY
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY::equals2D
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:732,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:733,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:735,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:735,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:736,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:736,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:738,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:738,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:738,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:739,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:739,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:739,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:740,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:740,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 741
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::setAt
    - CoordinateXYZM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:750,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:751,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:753,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:753,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:754,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:754,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:756,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:756,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:756,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:757,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:758,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:759,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:760,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:761,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 762
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::setAt
    - std::isnan
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:771,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:771,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:772,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:772,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:774,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:774,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:775,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:775,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:777,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:777,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:777,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:778,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:778,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 779
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::setAt
    - CoordinateXY
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:789,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:789,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:790,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:790,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:792,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:792,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:793,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:793,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:794,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:794,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:796,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:796,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:796,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:797,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:797,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 798
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:809,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:810,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:812,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:812,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:812,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:814,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:814,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:815,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:815,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:815,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:816,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:816,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 817
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - std::vector::begin
    - ensure_equals
    - CoordinateSequence::getAt
    - std::vector::end
    - Coordinate
    - CoordinateSequence::size
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:826,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:826,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:827,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:827,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:831,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:831,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:832,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:832,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:834,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:836,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:836,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:837,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:837,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:838,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:838,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:838,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:839,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:839,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:839,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:840,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:840,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:840,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:841,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:841,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 842
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateXY
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:850,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:851,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:853,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:853,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:854,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:854,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:856,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:856,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:857,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:857,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:859,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:861,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:861,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:862,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:862,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:863,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:863,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:863,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:864,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:864,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:864,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:865,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:865,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:865,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:866,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:866,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 867
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - CoordinateSequence::getDimension
    - CoordinateXY
    - ensure_equals
    - CoordinateSequence::getAt
    - Coordinate
    - CoordinateSequence::size
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:875,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:876,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:878,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:878,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:879,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:879,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:881,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:881,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:882,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:882,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:884,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:885,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:885,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:886,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 888
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - CoordinateSequence::getDimension
    - CoordinateXY
    - ensure_equals
    - Coordinate
    - CoordinateSequence::size
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:896,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:897,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:898,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:899,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:900,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:901,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:903,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:903,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:905,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:905,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:907,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:907,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:908,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:908,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:909,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:909,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:910,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:910,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:911,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 912
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::setAt
    - CoordinateSequence::scroll
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:920,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:921,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:922,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:923,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:926,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:926,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:929,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 930
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - CoordinateSequence::indexOf
    - CoordinateSequence::setAt
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:939,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:940,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:940,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:942,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:943,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:943,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:944,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 945
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - CoordinateXYZM
    - ensure_equals
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:953,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:954,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:957,1
    - Dst: CoordinateSequence::front
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:957,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:960,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 961
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::front
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:969,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:970,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:973,1
    - Dst: CoordinateSequence::front
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:973,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:976,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 977
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::front
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:985,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:986,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:987,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:988,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:989,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:991,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:993,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:993,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:994,1
    - Dst: CoordinateSequence::isRing
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:994,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:996,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:997,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 998
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - CoordinateSequence::isRing
    - ensure_equals
    - ensure
    - CoordinateSequence::closeRing
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1008,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1008,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1009,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1009,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1010,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1011
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - CoordinateSequence::hasZ
    - ensure_equals
    - ensure
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1019,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1027,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1029,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1029,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1030,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1030,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1031,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1031,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1032,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1033
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1041,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1050,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1052,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1052,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1053,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1053,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1054,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1054,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1055,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1056
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1064,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1073,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1075,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1075,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1076,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1076,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1077,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1077,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1078,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1079
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1097,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1099,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1099,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1100,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1101,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1102,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1103
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getAt
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1112,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1113,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1115,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1116,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1117,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1121,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1122,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1123,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1124
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1136,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1137,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1140,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1142,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1143,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1146,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1148,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1149,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1153
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - XY
    - XYZM
    - XYZ
    - CoordinateSequence::reverse
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1165,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1166,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1169,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1171,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: XYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1172,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1175,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1177,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: XYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1178,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1182
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - XY
    - XYZM
    - XYZ
    - ensure_equals
    - CoordinateSequence::sort
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1191,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1194,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1195,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1199,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1200
    functionName: 'object::test<44>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - ensure_equals
    - CoordinateSequence::setAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<44>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1209,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1209,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1210,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1212,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1212,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1213,1
    - Dst: CoordinateSequence::getCoordinateType
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1213,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1218,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1220,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1220,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1223,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1224,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1225,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1226
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - CoordinateXYM
    - std::isnan
    - CoordinateSequence::getCoordinateType
    - ensure_equals
    - CoordinateSequence::getAt
    - ensure
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1235,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1235,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1238,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1238,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1238,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1242,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1243,1
    - Dst: CoordinateXYM::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1243,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1246,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1246,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1247
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM
    - CoordinateXYZM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateXY
    - Coordinate
    - CoordinateXYM::equals3D
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1256,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1258,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1259
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::getDimension
    - ensure_equals
    - CoordinateSequence::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1268,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1268,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1270,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1270,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1271,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1271,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1272,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1272,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1273,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1273,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1275,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1275,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1276,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1276,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1277,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1277,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1278,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1278,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1282,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1282,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1284,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1284,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1285,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1285,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1286,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1286,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1287,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1287,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1289,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1289,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1290,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1290,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1291,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1291,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1292,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1292,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1296,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1296,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1298,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1298,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1299,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1299,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1300,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1300,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1301,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1301,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1303,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1303,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1304,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1304,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1305,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1305,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1306,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1306,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1310,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1310,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1312,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1312,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1313,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1313,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1314,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1314,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1315,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1315,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1317,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1317,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1318,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1318,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1319,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1319,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1320,1
    - Dst: CoordinateSequence::getOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1323
    functionName: 'object::test<48>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM
    - ensure_same
    - CoordinateSequence::getOrdinate
    - CoordinateXYZM
    - CoordinateXY
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<48>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1331,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1331,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1333,1
    - Dst: CoordinateSequence::setOrdinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1334,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1336,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1337,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1338,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1339,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1341,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1342,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1343,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1345
    functionName: 'object::test<49>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setOrdinate
    - Coordinate
    - CoordinateSequence::getAt
    - ensure_same
    linkageType: ''
    returnType: void
    signature: 'void object::test<49>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1353,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1353,1
    - Dst: CoordinateSequence::data
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1357,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1357,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1358,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1359,1
    - Dst: CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1359,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1360,1
    - Dst: CoordinateSequence::data
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1361
    functionName: 'object::test<50>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::hasZ
    - CoordinateSequence::hasM
    - CoordinateXYM
    - ensure_equals
    - ensure
    - CoordinateSequence::data
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<50>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1375,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1375,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1376,1
    - Dst: CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1377
    functionName: 'object::test<51>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::hasZ
    - CoordinateSequence::hasM
    - ensure
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<51>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1381
    functionName: tut::AddToSequence
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddToSequence(CoordinateSequence& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1386
    functionName: tut::filter
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void filter(const T* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1400,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1402,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1403,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1403,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1403,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1404,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1405,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1405,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1405,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1410,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1413,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1413,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1413,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1414,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1415,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1415,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1415,1
    - Dst: geos::io::createXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1420,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1422,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1423,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1423,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1423,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1424,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1425,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1425,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1425,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1430,1
    - Dst: CoordinateSequence::apply_ro
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1432,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1433,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1433,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1433,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1435,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1435,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1437
    functionName: 'object::test<52>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::apply_ro
    - geos::io::createXYM
    - ensure_equals
    - ensure
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    - geos::io::createXYZM
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<52>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1451,1
    - Dst: CoordinateSequence::forEach
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1454,1
    - Dst: CoordinateSequence::forEach
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1455,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1457,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1457,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1458,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1458,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1459,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1459,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1460,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1460,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1461,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1462
    functionName: 'object::test<53>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::forEach
    - CoordinateSequence::add
    - ensure_equals_xyzm
    - ensure_equals
    - CoordinateSequence::getAt
    - CoordinateSequence::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<53>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1470,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1471,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1472,1
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1473,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1475,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1475,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1476,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1476,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1478,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1478,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1479,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1479,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1480,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1480,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1482,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1484,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1484,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1485,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1485,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1486,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1486,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1488,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1488,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1490,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1491,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1491,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1492,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1492,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1493,1
    - Dst: CoordinateSequence::equalsIdentical
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1467
    functionDepth: 3
    functionLinenumber: 1467
    functionLinenumberEnd: 1494
    functionName: 'object::test<54>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - CoordinateSequence::add
    - CoordinateSequence::setAt
    - CoordinateSequence::equalsIdentical
    - ensure
    - Coordinate
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<54>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1503,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1503,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1504,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1506,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1508,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1511
    functionName: 'object::test<55>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - ensure_equals
    - CoordinateSequence::add
    linkageType: ''
    returnType: void
    signature: 'void object::test<55>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1519,1
    - Dst: geos::io::createXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1520,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1522,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1522,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1523,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1523,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1525,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1525,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1526,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1526,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1528,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1530,1
    - Dst: CoordinateSequence::hasZ
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1530,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1531,1
    - Dst: CoordinateSequence::hasM
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1531,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1533,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1533,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1534,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1534,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1535,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1535,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1536,1
    - Dst: CoordinateSequence::getAt
      Src: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1516
    functionDepth: 3
    functionLinenumber: 1516
    functionLinenumberEnd: 1537
    functionName: 'object::test<56>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::hasZ
    - CoordinateSequence::add
    - CoordinateSequence::hasM
    - CoordinateXYM
    - geos::io::createXYM
    - ensure
    - ensure_equals_xyz
    - CoordinateSequence::getAt
    - Coordinate
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<56>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::test_triangle_data
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_triangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:47,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:48,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:49,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:50,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:51,1
    - Dst: geos::geom::Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:53,1
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:54,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:56,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:57,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:58,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:59,1
    - Dst: fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:59,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:60,1
    - Dst: fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:60,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:61,1
    - Dst: fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: tut::checkCircumradius
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::geom::Triangle::circumradius
    - read
    - fabs
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - geos::geom::Triangle::circumcentre
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void checkCircumradius(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:132,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:150,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:153,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::inCentre
    - std::fabs
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:185,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:187,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:187,1
    - Dst: Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:191,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:192,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:194,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:194,1
    - Dst: Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:200,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:201,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:203,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 207
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentre
    - std::isnan
    - ensure_equals
    - ensure
    - std::fabs
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:227,1
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:228,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::algorithm::CGAlgorithmsDD::circumcentreDD
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:240,1
    - Dst: checkCircumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:242,1
    - Dst: checkCircumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircumradius
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::test_triangle_data
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_triangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:47,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:48,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:49,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:50,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:51,1
    - Dst: geos::geom::Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:53,1
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:54,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:56,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:57,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:58,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:59,1
    - Dst: fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:59,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:60,1
    - Dst: fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:60,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:61,1
    - Dst: fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: tut::checkCircumradius
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::geom::Triangle::circumradius
    - read
    - fabs
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - geos::geom::Triangle::circumcentre
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void checkCircumradius(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:132,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:150,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:152,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:153,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::inCentre
    - std::fabs
    - ensure
    - std::isnan
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:185,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:187,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:187,1
    - Dst: Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:191,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:192,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:194,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:194,1
    - Dst: Triangle::circumcentre
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:200,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:201,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:203,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 207
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentre
    - std::isnan
    - ensure_equals
    - ensure
    - std::fabs
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:227,1
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:228,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::algorithm::CGAlgorithmsDD::circumcentreDD
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCircumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:240,1
    - Dst: checkCircumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:242,1
    - Dst: checkCircumradius
      Src: /src/geos/tests/unit/geom/TriangleTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/TriangleTest.cpp
    functionUses: 0
    functionsReached:
    - checkCircumradius
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: tut::test_precisionmodel_data
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_precisionmodel_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:28,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:31,1
    - Dst: Coordinate::equals2D
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' pm'
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - PrecisionModel
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: tut::preciseCoordinateTester
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::equals2D
    - tut::ensure
    - makePrecise
    linkageType: ''
    returnType: void
    signature: "void preciseCoordinateTester(const PrecisionModel& pm,\n                            double
      x1, double y1,\n                            double x2, double y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:53,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:54,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:55,1
    - Dst: PrecisionModel::getScale
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    - PrecisionModel::getScale
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:65,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:66,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:67,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel::getType
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:77,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:78,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:79,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel::getType
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:89,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:90,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:91,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel::getType
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:101,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:102,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:112,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:113,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:123,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:124,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:134,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:135,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: preciseCoordinateTester
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:145,1
    - Dst: preciseCoordinateTester
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - preciseCoordinateTester
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: tut::test_precisionmodel_data
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_precisionmodel_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:28,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:31,1
    - Dst: Coordinate::equals2D
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' pm'
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - PrecisionModel
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: tut::preciseCoordinateTester
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::equals2D
    - tut::ensure
    - makePrecise
    linkageType: ''
    returnType: void
    signature: "void preciseCoordinateTester(const PrecisionModel& pm,\n                            double
      x1, double y1,\n                            double x2, double y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:53,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:54,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:55,1
    - Dst: PrecisionModel::getScale
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    - PrecisionModel::getScale
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:65,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:66,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:67,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel::getType
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:77,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:78,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:79,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel::getType
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:89,1
    - Dst: PrecisionModel::isFloating
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:90,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:91,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel::getType
    - ensure_equals
    - ensure
    - PrecisionModel::isFloating
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:101,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:102,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:112,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:113,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:123,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:124,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:134,1
    - Dst: PrecisionModel::getType
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:135,1
    - Dst: PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel::getMaximumSignificantDigits
    - ensure_equals
    - PrecisionModel::getType
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: preciseCoordinateTester
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:145,1
    - Dst: preciseCoordinateTester
      Src: /src/geos/tests/unit/geom/PrecisionModelTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PrecisionModelTest.cpp
    functionUses: 0
    functionsReached:
    - preciseCoordinateTester
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geos::geom::Geometry>
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:25,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTReader::read
    - std::unique_ptr<geos::geom::Geometry>
    linkageType: ''
    returnType: std::unique_ptr<geos::geom::Geometry>
    signature: std::unique_ptr<geos::geom::Geometry> readWKT(std::string wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:29,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: tut::test_geometry_collection_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::geom::GeometryFactory::create
    linkageType: ''
    returnType: void
    signature: void test_geometry_collection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:53,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:59,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:63,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:64,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:65,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - createPoint
    - createGeometryCollection
    - ensure_equals
    - ensure
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:76,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:77,1
    - Dst: auto::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:78,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:80,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:81,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:83,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:83,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:86,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:86,1
    - Dst: std::unique_ptr::clone
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:89,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::setSRID
    - geos::geom::GeometryFactory::create
    - std::unique_ptr::getGeometryN
    - auto::createGeometryCollection
    - geos::geom::PrecisionModel::PrecisionModel
    - std::unique_ptr::clone
    - ensure_equals
    - auto::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:98,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:108,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:109,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:110,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:119,1
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:120,1
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:123,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:124,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:125,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:127,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:128,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:129,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::isDimensionStrict
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:141,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:142,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:143,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::isDimensionStrict
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:151,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:151,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:151,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - geos::geom::Envelope
    - geos::io::WKTReader
    - ensure_equals
    - auto::getEnvelopeInternal
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:165,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:166,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:167,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::hasDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:177,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:179,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:180,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:181,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::hasDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geos::geom::Geometry>
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:25,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTReader::read
    - std::unique_ptr<geos::geom::Geometry>
    linkageType: ''
    returnType: std::unique_ptr<geos::geom::Geometry>
    signature: std::unique_ptr<geos::geom::Geometry> readWKT(std::string wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:29,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: tut::test_geometry_collection_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::geom::GeometryFactory::create
    linkageType: ''
    returnType: void
    signature: void test_geometry_collection_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:53,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:59,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:63,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:64,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:65,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - createPoint
    - createGeometryCollection
    - ensure_equals
    - ensure
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:76,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:77,1
    - Dst: auto::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:78,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:80,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:81,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:83,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:83,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:86,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:86,1
    - Dst: std::unique_ptr::clone
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:89,1
    - Dst: std::unique_ptr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::setSRID
    - geos::geom::GeometryFactory::create
    - std::unique_ptr::getGeometryN
    - auto::createGeometryCollection
    - geos::geom::PrecisionModel::PrecisionModel
    - std::unique_ptr::clone
    - ensure_equals
    - auto::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:98,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:108,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:109,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:110,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:119,1
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:120,1
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:123,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:124,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:125,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:127,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:128,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:129,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::isDimensionStrict
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:141,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:142,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:143,1
    - Dst: auto::isDimensionStrict
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::isDimensionStrict
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:151,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:151,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:151,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - geos::geom::Envelope
    - geos::io::WKTReader
    - ensure_equals
    - auto::getEnvelopeInternal
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:165,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:166,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:167,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::hasDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:177,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:179,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:180,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:181,1
    - Dst: auto::hasDimension
      Src: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - readWKT
    - ensure
    - auto::hasDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:17,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:18,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: tut::test_coordinatesequenceiterator_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void test_coordinatesequenceiterator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:34,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:41,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:46,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - items
    - size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:54,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:64,1
    - Dst: std::advance
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::advance
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:74,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:98,1
    - Dst: static_cast<long>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:99,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:101,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:103,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:104,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:106,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:108,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:108,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - items
    - ensure_equals
    - ensure
    - static_cast<long>
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:116,1
    - Dst: std::advance
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - std::advance
    - ensure_equals
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:133,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:138,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:143,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:148,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_equals
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:157,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:159,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:160,1
    - Dst: std::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:164,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:164,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:164,1
    - Dst: std::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:165,1
    - Dst: CoordinateSequence::items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:165,1
    - Dst: CoordinateSequence::items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:165,1
    - Dst: CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - ensure_equals
    - CoordinateSequence::getSize
    - std::vector::end
    - std::vector::size
    - CoordinateSequence::items
    - Coordinate
    - std::sort
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:17,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:18,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: tut::test_coordinatesequenceiterator_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void test_coordinatesequenceiterator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:34,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:41,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:41,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:42,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:46,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - items
    - size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:54,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:64,1
    - Dst: std::advance
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::advance
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:74,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:98,1
    - Dst: static_cast<long>
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:99,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:101,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:103,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:104,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:106,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:106,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:108,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:108,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - items
    - ensure_equals
    - ensure
    - static_cast<long>
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:116,1
    - Dst: std::advance
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - std::advance
    - ensure_equals
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:133,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:138,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:138,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:143,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:148,1
    - Dst: items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_equals
    - items
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:157,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:159,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:160,1
    - Dst: std::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:164,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:164,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:164,1
    - Dst: std::sort
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:165,1
    - Dst: CoordinateSequence::items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:165,1
    - Dst: CoordinateSequence::items
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:165,1
    - Dst: CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequenceIteratorTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - ensure_equals
    - CoordinateSequence::getSize
    - std::vector::end
    - std::vector::size
    - CoordinateSequence::items
    - Coordinate
    - std::sort
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:60,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:61,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:62,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:63,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:63,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:63,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:64,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:64,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:64,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:65,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:65,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:71,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: tut::test_polygon_data
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::GeometryFactory::create
    - createPolygon
    - get
    - createLinearRing
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void test_polygon_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_polygon_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tut::test_polygon_data
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygon_data(const test_polygon_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_polygon_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const test_polygon_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_polygon_data
    signature: test_polygon_data & operator=(const test_polygon_data& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:101,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:103,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:103,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:104,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:104,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:105,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:106,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:106,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:107,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:107,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:108,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:111,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:111,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:116,1
    - Dst: geos::geom::LinearRing::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:117,1
    - Dst: geos::geom::LinearRing::isClosed
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:118,1
    - Dst: geos::geom::LinearRing::isRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:119,1
    - Dst: geos::geom::LinearRing::isSimple
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:119,1
    - Dst: geos::geom::LinearRing::clone
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:122,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:125,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:127,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:128,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:129,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:131,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:132,1
    - Dst: auto::getNumInteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:133,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:133,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:136,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 139
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::isEmpty
    - auto::isValid
    - createPolygon
    - geos::geom::LinearRing::isRing
    - auto::getNumInteriorRing
    - ensure
    - auto::getNumPoints
    - auto::getNumGeometries
    - std::move
    - auto::add
    - auto::size
    - auto::isSimple
    - Coordinate
    - geos::geom::LinearRing::clone
    - what
    - geos::geom::LinearRing::isSimple
    - auto::isEmpty
    - fail
    - geos::geom::LinearRing::isClosed
    - geos::detail::make_unique<CoordinateSequence>
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:149,1
    - Dst: GeometryAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryAutoPtr::isEmpty
    - ensure
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:158,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:167,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:204,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:205,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:216,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:225,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:234,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:243,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:252,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:261,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:270,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:279,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:280,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:289,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:291,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:292,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:293,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:293,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:294,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:303,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:305,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:306,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:318,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:320,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:322,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:322,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:323,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:323,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:324,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - convexHull
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:333,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:334,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:343,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:344,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:353,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:354,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:363,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:364,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:373,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:374,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:374,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:378,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:378,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - ensure
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:388,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:389,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:398,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:402,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:403,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:404,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:404,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:405,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:405,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:405,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:406,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:406,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:406,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:409,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:409,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:409,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:410,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:410,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:410,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:413,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:413,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:413,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:414,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:414,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:414,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:416,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:417,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:417,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:417,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:418,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:418,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasM
    - getCoordinates
    - hasZ
    - auto::hasM
    - ensure_equals
    - ensure
    - getNumPoints
    - auto::isEmpty
    - auto::getSize
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:427,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:429,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:430,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:431,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:431,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - get
    - ensure
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:440,1
    - Dst: getExteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:442,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:443,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:444,1
    - Dst: LineStringCPtr::isRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:445,1
    - Dst: LineStringCPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - LineStringCPtr::isRing
    - ensure_equals
    - ensure
    - getExteriorRing
    - LineStringCPtr::getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:454,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:455,1
    - Dst: getNumInteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:466,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:467,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:468,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:468,1
    - Dst: dynamic_cast<PolygonPtr>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:470,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:470,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:472,1
    - Dst: PolygonPtr::getNumInteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:472,1
    - Dst: PolygonPtr::getInteriorRingN
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:474,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:475,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:476,1
    - Dst: LineStringCPtr::isRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:476,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:478,1
    - Dst: LineStringCPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 479
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - PolygonPtr::getInteriorRingN
    - read
    - dynamic_cast<PolygonPtr>
    - LineStringCPtr::isRing
    - PolygonPtr::getNumInteriorRing
    - LineStringCPtr::getGeometryTypeId
    - ensure_equals
    - ensure
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:487,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:491,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:492,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 494
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:502,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:505,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:507,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:507,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:511,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:511,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:511,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:515,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:515,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:516,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - auto::getAt
    - ensure_equals
    - ensure
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:525,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:528,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:537,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:538,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:539,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:549,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 551
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:561,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:561,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:562,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getGeometryTypeId
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:572,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:583,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:584,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:585,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:585,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:586,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:586,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:588,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:589,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:594,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:595,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 599
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getGeometryTypeId
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:607,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:608,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:608,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:609,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:609,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:610,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:610,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:611,1
    - Dst: std::unique_ptr::getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:611,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - buffer
    - std::unique_ptr::isEmpty
    - std::unique_ptr::getGeometryTypeId
    - ensure_not
    - std::unique_ptr::getNumPoints
    - ensure_equals
    - ensure
    - getNumPoints
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:620,1
    - Dst: auto::createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:621,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:623,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 624
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createPolygon
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:632,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:632,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:633,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:642,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:642,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:643,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:653,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:655,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:656,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:656,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:658,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:659,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:660,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:660,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:662,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:663,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:664,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure
    - read
    - auto::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:671,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:672,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:673,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:673,1
    - Dst: auto::releaseExteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:675,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:676,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:676,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:676,1
    - Dst: auto::releaseInteriorRings
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:678,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:679,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: object::test<44>()
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - read
    - Envelope
    - auto::releaseInteriorRings
    - ensure_equals
    - auto::releaseExteriorRing
    - auto::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void object::test<44>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:688,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:688,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:689,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:689,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:690,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:699,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:699,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:700,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:700,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:702,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:702,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:703,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:703,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:705,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:705,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:706,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:706,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:708,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:708,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:709,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:709,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:711,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:711,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:712,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:712,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:714,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:714,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:715,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:715,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:717,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:717,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:718,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:718,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:720,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:720,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:721,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 722
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:730,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:730,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:731,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:731,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:732,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:732,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:733,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:733,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:735,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:735,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:736,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:736,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:737,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:737,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:738,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:738,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:740,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:740,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:741,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:741,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:742,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:742,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:743,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:743,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:745,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:745,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:746,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:746,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:747,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:747,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:748,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 749
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasM
    - ensure
    - hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:60,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:61,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:62,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:63,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:63,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:63,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:64,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:64,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:64,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:65,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:65,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:71,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: tut::test_polygon_data
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::GeometryFactory::create
    - createPolygon
    - get
    - createLinearRing
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void test_polygon_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_polygon_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tut::test_polygon_data
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygon_data(const test_polygon_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_polygon_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const test_polygon_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_polygon_data
    signature: test_polygon_data & operator=(const test_polygon_data& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:101,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:103,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:103,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:104,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:104,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:105,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:106,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:106,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:107,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:107,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:108,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:111,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:111,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:116,1
    - Dst: geos::geom::LinearRing::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:117,1
    - Dst: geos::geom::LinearRing::isClosed
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:118,1
    - Dst: geos::geom::LinearRing::isRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:119,1
    - Dst: geos::geom::LinearRing::isSimple
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:119,1
    - Dst: geos::geom::LinearRing::clone
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:122,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:125,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:127,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:128,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:129,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:131,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:132,1
    - Dst: auto::getNumInteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:133,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:133,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:136,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 139
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::isEmpty
    - auto::isValid
    - createPolygon
    - geos::geom::LinearRing::isRing
    - auto::getNumInteriorRing
    - ensure
    - auto::getNumPoints
    - auto::getNumGeometries
    - std::move
    - auto::add
    - auto::size
    - auto::isSimple
    - Coordinate
    - geos::geom::LinearRing::clone
    - what
    - geos::geom::LinearRing::isSimple
    - auto::isEmpty
    - fail
    - geos::geom::LinearRing::isClosed
    - geos::detail::make_unique<CoordinateSequence>
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:149,1
    - Dst: GeometryAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryAutoPtr::isEmpty
    - ensure
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:158,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:167,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:204,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:205,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:216,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:225,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:234,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:243,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:252,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:261,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:270,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:279,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:280,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:289,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:291,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:292,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:293,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:293,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:294,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:303,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:305,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:306,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:318,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:320,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:322,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:322,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:323,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:323,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:324,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - convexHull
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:333,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:334,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:343,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:344,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:353,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:354,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:363,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:364,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:373,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:374,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:374,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:378,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:378,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - ensure
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:388,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:389,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:398,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:402,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:403,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:404,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:404,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:405,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:405,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:405,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:406,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:406,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:406,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:409,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:409,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:409,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:410,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:410,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:410,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:413,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:413,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:413,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:414,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:414,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:414,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:416,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:417,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:417,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:417,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:418,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:418,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasM
    - getCoordinates
    - hasZ
    - auto::hasM
    - ensure_equals
    - ensure
    - getNumPoints
    - auto::isEmpty
    - auto::getSize
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:427,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:429,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:430,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:431,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:431,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - get
    - ensure
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:440,1
    - Dst: getExteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:442,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:443,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:444,1
    - Dst: LineStringCPtr::isRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:445,1
    - Dst: LineStringCPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - LineStringCPtr::isRing
    - ensure_equals
    - ensure
    - getExteriorRing
    - LineStringCPtr::getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:454,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:455,1
    - Dst: getNumInteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:466,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:467,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:468,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:468,1
    - Dst: dynamic_cast<PolygonPtr>
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:470,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:470,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:472,1
    - Dst: PolygonPtr::getNumInteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:472,1
    - Dst: PolygonPtr::getInteriorRingN
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:474,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:475,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:476,1
    - Dst: LineStringCPtr::isRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:476,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:478,1
    - Dst: LineStringCPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 479
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - PolygonPtr::getInteriorRingN
    - read
    - dynamic_cast<PolygonPtr>
    - LineStringCPtr::isRing
    - PolygonPtr::getNumInteriorRing
    - LineStringCPtr::getGeometryTypeId
    - ensure_equals
    - ensure
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:487,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:491,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:492,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 494
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:502,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:505,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:507,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:507,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:511,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:511,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:511,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:515,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:515,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:516,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - auto::getAt
    - ensure_equals
    - ensure
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:525,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:528,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:537,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:538,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:539,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:549,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 551
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:561,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:561,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:562,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getGeometryTypeId
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:572,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:583,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:584,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:585,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:585,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:586,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:586,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:588,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:589,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:594,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:595,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 599
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getGeometryTypeId
    - getCentroid
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:607,1
    - Dst: ensure_not
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:608,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:608,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:609,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:609,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:610,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:610,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:611,1
    - Dst: std::unique_ptr::getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:611,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - buffer
    - std::unique_ptr::isEmpty
    - std::unique_ptr::getGeometryTypeId
    - ensure_not
    - std::unique_ptr::getNumPoints
    - ensure_equals
    - ensure
    - getNumPoints
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:620,1
    - Dst: auto::createPolygon
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:621,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:623,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 624
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createPolygon
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:632,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:632,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:633,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:642,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:642,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:643,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:653,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:655,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:656,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:656,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:658,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:659,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:660,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:660,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:662,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:663,1
    - Dst: auto::compareTo
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:664,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure
    - read
    - auto::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:671,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:672,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:673,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:673,1
    - Dst: auto::releaseExteriorRing
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:675,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:676,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:676,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:676,1
    - Dst: auto::releaseInteriorRings
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:678,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:679,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: object::test<44>()
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - read
    - Envelope
    - auto::releaseInteriorRings
    - ensure_equals
    - auto::releaseExteriorRing
    - auto::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void object::test<44>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:688,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:688,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:689,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:689,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:690,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:699,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:699,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:700,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:700,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:702,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:702,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:703,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:703,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:705,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:705,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:706,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:706,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:708,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:708,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:709,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:709,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:711,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:711,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:712,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:712,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:714,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:714,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:715,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:715,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:717,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:717,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:718,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:718,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:720,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:720,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:721,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 722
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:730,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:730,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:731,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:731,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:732,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:732,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:733,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:733,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:735,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:735,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:736,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:736,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:737,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:737,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:738,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:738,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:740,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:740,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:741,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:741,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:742,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:742,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:743,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:743,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:745,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:745,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:746,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:746,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:747,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:747,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:748,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/PolygonTest.cpp:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 749
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasM
    - ensure
    - hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PointTest.cpp:50,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:51,1
    - Dst: tut::createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::test_point_data
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - read
    - tut::createPoint
    linkageType: ''
    returnType: void
    signature: void test_point_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~test_point_data()
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_point_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:75,1
    - Dst: PointAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - PointAutoPtr::isEmpty
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:89,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:89,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:91,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:92,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:97,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - createPoint
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:112,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:113,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:113,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:114,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:114,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:116,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:116,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/PointTest.cpp:118,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/PointTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - what
    - createPoint
    - ensure
    - fail
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PointTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:136,1
    - Dst: GeometryAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryAutoPtr::isEmpty
    - ensure
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:145,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:154,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/PointTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:163,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/PointTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/PointTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:173,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:174,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PointTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:185,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PointTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:196,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:205,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PointTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:215,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/PointTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:224,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:233,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:242,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PointTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:251,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PointTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:260,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PointTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:269,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:278,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/PointTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:287,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/PointTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/PointTest.cpp:296,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:297,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:298,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PointTest.cpp:307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:308,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PointTest.cpp:318,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:319,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:320,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:329,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PointTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:339,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/PointTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:348,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:357,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:366,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PointTest.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:375,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PointTest.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:384,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PointTest.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PointTest.cpp:393,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:395,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:395,1
    - Dst: GeometryAutoPtr::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryAutoPtr::get
    - ensure
    - equals
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:404,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:405,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:407,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:407,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:416,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:417,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:419,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:419,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:428,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:429,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:431,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:431,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:440,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:443,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:443,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:452,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:453,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:455,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:455,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:464,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:467,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:467,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:476,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:477,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:479,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:479,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:488,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:489,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:491,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:492,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:493,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:495,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:495,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:495,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:496,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:496,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:498,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:498,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:498,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:499,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:499,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:500,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:500,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 501
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:509,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:511,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:511,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:513,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:515,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 516
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::getCoordinateDimension
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PointTest.cpp:524,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:525,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:527,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 528
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createPoint
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:536,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:536,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:537,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:546,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:546,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:547,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:556,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PointTest.cpp:556,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:557,1
    - Dst: getCoordinatesRO
      Src: /src/geos/tests/unit/geom/PointTest.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: 'object::test<44>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getCoordinatesRO
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: 'void object::test<44>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:567,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:567,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:569,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:570,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:570,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:571,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:571,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:572,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:572,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:574,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:575,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:575,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:576,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:576,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:577,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 578
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - createPoint
    - ensure_equals
    - auto::getCoordinateDimension
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:591,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:592,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:593,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:593,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:595,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:595,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:596,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:596,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:597,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 598
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:606,1
    - Dst: auto::setXY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:608,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:610,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:610,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:612,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/geom/PointTest.cpp:612,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:613,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:613,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:614,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PointTest.cpp:614,1
    - Dst: auto::setXY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:616,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:617,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/geom/PointTest.cpp:617,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:618,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:618,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:619,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PointTest.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 620
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getX
    - auto::setXY
    - createPoint
    - ensure_equals
    - ensure
    - auto::getY
    - auto::isEmpty
    - auto::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:628,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:628,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:629,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:629,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:630,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: 'object::test<48>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<48>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PointTest.cpp:50,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:51,1
    - Dst: tut::createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::test_point_data
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - read
    - tut::createPoint
    linkageType: ''
    returnType: void
    signature: void test_point_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~test_point_data()
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_point_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:75,1
    - Dst: PointAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - PointAutoPtr::isEmpty
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:89,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:89,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:91,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:92,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:97,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - createPoint
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:112,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:113,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:113,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:114,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:114,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:116,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:116,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/PointTest.cpp:118,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/PointTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - what
    - createPoint
    - ensure
    - fail
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PointTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:136,1
    - Dst: GeometryAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryAutoPtr::isEmpty
    - ensure
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:145,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:154,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/PointTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:163,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/PointTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/PointTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:173,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:174,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PointTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:185,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PointTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:196,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:205,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PointTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:215,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/PointTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:224,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:233,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:242,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PointTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:251,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PointTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:260,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PointTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:269,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:278,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/PointTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:287,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/PointTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/PointTest.cpp:296,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:297,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:298,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/PointTest.cpp:307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:308,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/PointTest.cpp:318,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:319,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:320,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:329,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/PointTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:339,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/PointTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:348,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:357,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:366,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/PointTest.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:375,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/PointTest.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:384,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/PointTest.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/geom/PointTest.cpp:393,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:395,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:395,1
    - Dst: GeometryAutoPtr::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryAutoPtr::get
    - ensure
    - equals
    - clone
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:404,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:405,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:407,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:407,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:416,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:417,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:419,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:419,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:428,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:429,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:431,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:431,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:440,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:443,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:443,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:452,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:453,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:455,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:455,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:464,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:467,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:467,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:476,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:477,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:479,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:479,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:488,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:489,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:491,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:492,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:493,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:495,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:495,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:495,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:496,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:496,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:498,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:498,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:498,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:499,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:499,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:500,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:500,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/PointTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 501
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:509,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:511,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:511,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/PointTest.cpp:513,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:515,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 516
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::getCoordinateDimension
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/PointTest.cpp:524,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:525,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:527,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 528
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createPoint
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:536,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:536,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:537,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:546,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:546,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:547,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/PointTest.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:556,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/PointTest.cpp:556,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:557,1
    - Dst: getCoordinatesRO
      Src: /src/geos/tests/unit/geom/PointTest.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: 'object::test<44>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getCoordinatesRO
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: 'void object::test<44>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:567,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:567,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:569,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:570,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:570,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:571,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:571,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:572,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:572,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:574,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:575,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:575,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:576,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:576,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:577,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 578
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - createPoint
    - ensure_equals
    - auto::getCoordinateDimension
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/PointTest.cpp:591,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:592,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/PointTest.cpp:593,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/PointTest.cpp:593,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:595,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/PointTest.cpp:595,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:596,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:596,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:597,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 598
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/PointTest.cpp:606,1
    - Dst: auto::setXY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:608,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:610,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/PointTest.cpp:610,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:612,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/geom/PointTest.cpp:612,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:613,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:613,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:614,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PointTest.cpp:614,1
    - Dst: auto::setXY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:616,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:617,1
    - Dst: auto::getX
      Src: /src/geos/tests/unit/geom/PointTest.cpp:617,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/PointTest.cpp:618,1
    - Dst: auto::getY
      Src: /src/geos/tests/unit/geom/PointTest.cpp:618,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:619,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/PointTest.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 620
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getX
    - auto::setXY
    - createPoint
    - ensure_equals
    - ensure
    - auto::getY
    - auto::isEmpty
    - auto::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:628,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:628,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:629,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:629,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/PointTest.cpp:630,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/PointTest.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: 'object::test<48>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/PointTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<48>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tut::test_heuristic_data
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_heuristic_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:40,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:41,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:42,1
    - Dst: HeuristicOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - opCode
    - ' wkt_expected'
    argTypes:
    - std::string
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: tut::checkOverlay
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - HeuristicOverlay
    linkageType: ''
    returnType: void
    signature: "void checkOverlay(\n        const std::string& wkt1,\n        const
      std::string& wkt2,\n        int opCode,\n        const std::string& wkt_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tut::test_heuristic_data
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_heuristic_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:40,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:41,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:42,1
    - Dst: HeuristicOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - opCode
    - ' wkt_expected'
    argTypes:
    - std::string
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: tut::checkOverlay
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - HeuristicOverlay
    linkageType: ''
    returnType: void
    signature: "void checkOverlay(\n        const std::string& wkt1,\n        const
      std::string& wkt2,\n        int opCode,\n        const std::string& wkt_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlay
      Src: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/geom/HeuristicOverlayTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:27,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:28,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:29,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:33,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:37,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:38,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:40,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:41,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:42,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:43,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:44,1
    - Dst: createMultiSurface
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:47,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 48
    functionName: tut::test_multisurface_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - createPolygon
    - createMultiSurface
    - CoordinateXY
    - createCurvePolygon
    - createLinearRing
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void test_multisurface_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiSurface
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:63,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:64,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:65,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:66,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:67,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:69,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:70,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:72,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:73,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - createMultiSurface
    - ensure_equals
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:82,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:83,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:87,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:88,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:89,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:90,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:91,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:95,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:96,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:97,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:98,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:99,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:100,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:101,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:102,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:103,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:104,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:107,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:108,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:109,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:112,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:113,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:113,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 114
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:122,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:122,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:122,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:123,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:123,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:123,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:124,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:124,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:124,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:125,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:125,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:125,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:126,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:126,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:126,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:127,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:127,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:127,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:128,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:128,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:128,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:129,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:129,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:129,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:130,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:130,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:130,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:131,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:131,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:131,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:132,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:132,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:136,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:136,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:137,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:137,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:140,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:141,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:142,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:143,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:143,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:144,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:144,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:147,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:147,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:148,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:148,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:148,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:151,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:152,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:152,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:155,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:156,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:156,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:157,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:157,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:158,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:160,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:160,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:164,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:164,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:164,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:167,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:168,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 169
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:27,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:28,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:29,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:33,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:37,1
    - Dst: createCurvePolygon
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:38,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:40,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:41,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:42,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:43,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:44,1
    - Dst: createMultiSurface
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:47,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 48
    functionName: tut::test_multisurface_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - createPolygon
    - createMultiSurface
    - CoordinateXY
    - createCurvePolygon
    - createLinearRing
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void test_multisurface_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiSurface
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:63,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:64,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:65,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:66,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:67,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:69,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:70,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:72,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:72,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:73,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - createMultiSurface
    - ensure_equals
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:82,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:83,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:87,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:88,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:89,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:90,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:91,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:95,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:96,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:97,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:98,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:99,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:100,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:101,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:102,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:103,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:104,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:107,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:108,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:109,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:112,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:113,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:113,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 114
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:122,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:122,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:122,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:123,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:123,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:123,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:124,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:124,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:124,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:125,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:125,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:125,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:126,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:126,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:126,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:127,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:127,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:127,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:128,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:128,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:128,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:129,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:129,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:129,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:130,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:130,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:130,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:131,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:131,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:131,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:132,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:132,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:134,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:136,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:136,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:137,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:137,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:140,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:141,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:142,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:143,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:143,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:144,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:144,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:147,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:147,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:148,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:148,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:148,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:151,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:152,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:152,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:155,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:156,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:156,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:157,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:157,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:158,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:160,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:160,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:164,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:164,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:164,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:167,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:168,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 169
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiSurfaceTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_coordinatesequences_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinatesequences_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fail
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: operator()()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - tut::fail
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:60,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:61,1
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:64,1
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:67,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - fail
    - geos::io::createXYZM
    - tut::checkHullByLengthRatioXYZ
    - geos::geom::CoordinateSequences::binaryDispatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:77,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: operator()(int a, double b)
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void operator()(int a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:88,1
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequences::binaryDispatch
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_coordinatesequences_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinatesequences_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: operator()()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - fail
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:60,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:61,1
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:64,1
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:67,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - fail
    - geos::io::createXYZM
    - tut::checkHullByLengthRatioXYZ
    - geos::geom::CoordinateSequences::binaryDispatch
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:77,1
    - Dst: static_cast<int>
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: operator()(int a, double b)
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void operator()(int a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHullByLengthRatioXYZ
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:88,1
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateSequencesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateSequences::binaryDispatch
    - tut::checkHullByLengthRatioXYZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: tut::test_intersectionmatrix_data
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_intersectionmatrix_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_intersectionmatrix_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tut::test_intersectionmatrix_data
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_intersectionmatrix_data(const test_intersectionmatrix_data&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_intersectionmatrix_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const test_intersectionmatrix_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_intersectionmatrix_data
    signature: test_intersectionmatrix_data & operator=(const test_intersectionmatrix_data&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:51,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:63,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:74,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:74,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:86,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:90,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:90,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:100,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:102,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:104,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:105,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:106,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:116,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:117,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:127,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:138,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:149,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:162,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:162,1
    - Dst: geos::geom::IntersectionMatrix::add
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:169,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:170,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - geos::geom::IntersectionMatrix::matches
    - ensure_equals
    - ensure
    - geos::geom::IntersectionMatrix::add
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:183,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:183,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:188,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - set
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:199,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:199,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:204,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - set
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:214,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:214,1
    - Dst: setAll
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:219,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - setAll
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:229,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:229,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:232,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:233,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:233,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:240,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:241,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:241,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:245,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 246
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - ensure
    - setAtLeast
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:257,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:257,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:261,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:261,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:264,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:265,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - setAtLeast
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:278,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:278,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:281,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:282,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:283,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - setAtLeast
    - toString
    - ensure_equals
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:295,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:295,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:296,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:296,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:300,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:300,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:303,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:304,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - get
    - setAtLeast
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:315,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:315,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:316,1
    - Dst: isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:321,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:322,1
    - Dst: geos::geom::IntersectionMatrix::isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:322,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:327,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:327,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:328,1
    - Dst: geos::geom::IntersectionMatrix::isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:328,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:333,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:334,1
    - Dst: geos::geom::IntersectionMatrix::isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 335
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isContains
    - geos::geom::IntersectionMatrix::toString
    - geos::geom::IntersectionMatrix::isContains
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:346,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:346,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:347,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:347,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:350,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:351,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:351,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:355,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:355,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:359,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:359,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:362,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:363,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:363,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:366,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:367,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:367,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:370,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:371,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 372
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isCrosses
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:381,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:381,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:382,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:382,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:384,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:385,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:385,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:387,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:388,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:388,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:390,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:391,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isDisjoint
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:403,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:404,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:404,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:407,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:408,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:408,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:409,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:410,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:410,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:411,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:412,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:412,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:413,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:414,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:414,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:416,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:416,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:417,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:418,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:418,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:419,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:420,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:420,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:421,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:422,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:422,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:423,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:424,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 425
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isEquals
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:434,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:435,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:435,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:437,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:438,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:438,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:439,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:440,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:440,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:442,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 443
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - set
    - isIntersects
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:454,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:455,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:455,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:457,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:458,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:458,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:459,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:460,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:460,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:461,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:462,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:462,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:464,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:464,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:466,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:466,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:467,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:468,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:468,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:469,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:470,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:470,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:471,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:472,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 473
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isEquals
    - isOverlaps
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:484,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:484,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:485,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:485,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:487,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:488,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:488,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:489,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:490,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:490,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:491,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:492,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 493
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - set
    - isTouches
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:502,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:502,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:503,1
    - Dst: isWithin
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:503,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:505,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:506,1
    - Dst: isWithin
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:506,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:507,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:508,1
    - Dst: isWithin
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isWithin
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntersectionMatrix::transpose
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:524,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:525,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:530,1
    - Dst: IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:530,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:532,1
    - Dst: IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 533
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - IntersectionMatrix::toString
    - IntersectionMatrix::transpose
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:541,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:541,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:542,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:542,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:547,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:547,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:548,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - ensure
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:559,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:560,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:561,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:561,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:562,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 563
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - IntersectionMatrix
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:573,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:573,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:574,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:574,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:575,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:575,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:576,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - IntersectionMatrix
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: tut::test_intersectionmatrix_data
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_intersectionmatrix_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_intersectionmatrix_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tut::test_intersectionmatrix_data
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_intersectionmatrix_data(const test_intersectionmatrix_data&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_intersectionmatrix_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const test_intersectionmatrix_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_intersectionmatrix_data
    signature: test_intersectionmatrix_data & operator=(const test_intersectionmatrix_data&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:51,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:63,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:74,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:74,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:86,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:90,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:90,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:100,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:102,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:104,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:104,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:105,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:106,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:116,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:117,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:127,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:138,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:149,1
    - Dst: matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - matches
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:162,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:162,1
    - Dst: geos::geom::IntersectionMatrix::add
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:169,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:170,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::toString
    - geos::geom::IntersectionMatrix::matches
    - ensure_equals
    - ensure
    - geos::geom::IntersectionMatrix::add
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:183,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:183,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:188,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - set
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:199,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:199,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:204,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - set
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:214,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:214,1
    - Dst: setAll
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:219,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - setAll
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:229,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:229,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:232,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:233,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:233,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:240,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:241,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:241,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:244,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:245,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 246
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - ensure
    - setAtLeast
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:257,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:257,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:261,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:261,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:264,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:265,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - setAtLeast
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:278,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:278,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:281,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:282,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:283,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - setAtLeast
    - toString
    - ensure_equals
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:295,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:295,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:296,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:296,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:300,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:300,1
    - Dst: setAtLeast
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:303,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:304,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 305
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - get
    - setAtLeast
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:315,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:315,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:316,1
    - Dst: isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:321,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:322,1
    - Dst: geos::geom::IntersectionMatrix::isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:322,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:327,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:327,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:328,1
    - Dst: geos::geom::IntersectionMatrix::isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:328,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:333,1
    - Dst: geos::geom::IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:334,1
    - Dst: geos::geom::IntersectionMatrix::isContains
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 335
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isContains
    - geos::geom::IntersectionMatrix::toString
    - geos::geom::IntersectionMatrix::isContains
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:346,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:346,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:347,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:347,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:350,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:351,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:351,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:355,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:355,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:359,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:359,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:362,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:363,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:363,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:366,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:367,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:367,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:370,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:371,1
    - Dst: isCrosses
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 372
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isCrosses
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:381,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:381,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:382,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:382,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:384,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:385,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:385,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:387,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:388,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:388,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:390,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:391,1
    - Dst: isDisjoint
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isDisjoint
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:403,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:404,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:404,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:407,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:408,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:408,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:409,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:410,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:410,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:411,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:412,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:412,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:413,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:414,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:414,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:416,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:416,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:417,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:418,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:418,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:419,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:420,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:420,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:421,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:422,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:422,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:423,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:424,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 425
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isEquals
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:434,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:435,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:435,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:437,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:438,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:438,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:439,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:440,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:440,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:442,1
    - Dst: isIntersects
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 443
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - set
    - isIntersects
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:454,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:455,1
    - Dst: isEquals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:455,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:457,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:458,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:458,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:459,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:460,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:460,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:461,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:462,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:462,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:464,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:464,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:466,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:466,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:467,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:468,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:468,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:469,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:470,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:470,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:471,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:472,1
    - Dst: isOverlaps
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 473
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isEquals
    - isOverlaps
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:484,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:484,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:485,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:485,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:487,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:488,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:488,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:489,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:490,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:490,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:491,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:492,1
    - Dst: isTouches
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 493
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - set
    - isTouches
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:502,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:502,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:503,1
    - Dst: isWithin
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:503,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:505,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:506,1
    - Dst: isWithin
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:506,1
    - Dst: set
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:507,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:508,1
    - Dst: isWithin
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - isWithin
    - set
    - toString
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntersectionMatrix::transpose
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:524,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:525,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:530,1
    - Dst: IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:530,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:532,1
    - Dst: IntersectionMatrix::toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 533
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - IntersectionMatrix::toString
    - IntersectionMatrix::transpose
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:541,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:541,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:542,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:542,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:547,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:547,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:548,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - ensure_equals
    - ensure
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:559,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:560,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:561,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:561,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:562,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 563
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - IntersectionMatrix
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:573,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:573,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:574,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:574,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:575,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:575,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:576,1
    - Dst: IntersectionMatrix
      Src: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/IntersectionMatrixTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - IntersectionMatrix
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:32,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:33,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:34,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:35,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:38,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:38,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:40,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: tut::test_compoundcurve_data
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - std::move
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void test_compoundcurve_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:59,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:60,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:61,1
    - Dst: auto::getNumCurves
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:62,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:63,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:64,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:66,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:67,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:69,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:70,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - ensure_equals
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    - auto::getNumCurves
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:79,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:80,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:81,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:84,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:85,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:86,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:87,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:88,1
    - Dst: getNumCurves
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:89,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:91,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:94,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:95,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:96,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:97,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:98,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:99,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:100,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:101,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:102,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:103,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:106,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:107,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:108,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:111,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:112,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:112,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 113
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getNumCurves
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:121,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:121,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:121,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:122,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:122,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:122,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:123,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:123,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:123,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:124,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:124,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:124,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:125,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:125,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:125,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:126,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:126,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:126,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:127,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:127,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:127,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:128,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:128,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:128,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:129,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:129,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:129,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:130,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:130,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:130,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:131,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:131,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:131,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:135,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:135,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:136,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:136,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:139,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:139,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:140,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:140,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:141,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:142,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:143,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:143,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:146,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:146,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:146,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:147,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:147,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:150,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:150,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:151,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:154,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:154,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:155,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:156,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:156,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:157,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:159,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:159,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:161,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:161,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:161,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:163,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:164,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:187,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - get
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:210,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - get
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:221,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:226,1
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:235,1
    - Dst: TestCoordinateFilter::coords::size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:236,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:236,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:237,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:238,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:238,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:239,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - apply_ro
    - TestCoordinateFilter::coords::size
    - push_back
    - ensure_equals
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - geos::geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Coordinate* x) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_rw
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:263,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:265,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:268,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:268,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:269,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:269,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:270,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:270,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:271,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:271,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:272,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - apply_rw
    - getCoordinates
    - ensure_same
    - ensure_equals
    - auto::getOrdinate
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geos::geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Coordinate* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:283,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:288,1
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:302,1
    - Dst: TestCoordinateSequenceFilter::args::size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:304,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:304,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:305,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:307,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:307,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:310,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:311,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:313,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:313,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 315
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - TestCoordinateSequenceFilter::args::size
    - size
    - apply_ro
    - ensure_equals
    - getCurveN
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: tut::isGeometryChanged
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:323,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:323,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:324,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:324,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:326,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:326,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - read
    - ensure_THROW
    - std::vector::push_back
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:32,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:33,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:34,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:35,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:38,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:38,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:40,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: tut::test_compoundcurve_data
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - std::move
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void test_compoundcurve_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:59,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:60,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:61,1
    - Dst: auto::getNumCurves
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:62,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:63,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:64,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:66,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:67,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:69,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:70,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - ensure_equals
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    - auto::getNumCurves
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:79,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:80,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:81,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:84,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:85,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:86,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:87,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:88,1
    - Dst: getNumCurves
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:89,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:91,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:94,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:95,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:96,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:97,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:98,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:99,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:100,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:101,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:102,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:103,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:106,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:107,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:108,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:111,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:112,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:112,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 113
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getNumCurves
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:121,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:121,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:121,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:122,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:122,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:122,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:123,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:123,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:123,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:124,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:124,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:124,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:125,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:125,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:125,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:126,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:126,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:126,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:127,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:127,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:127,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:128,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:128,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:128,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:129,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:129,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:129,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:130,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:130,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:130,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:131,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:131,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:131,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:135,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:135,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:135,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:136,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:136,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:139,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:139,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:140,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:140,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:141,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:142,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:143,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:143,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:146,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:146,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:146,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:147,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:147,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:150,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:150,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:151,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:154,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:154,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:155,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:156,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:156,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:157,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:159,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:159,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:161,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:161,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:161,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:163,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:164,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:187,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - get
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:210,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - get
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:221,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:226,1
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:235,1
    - Dst: TestCoordinateFilter::coords::size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:236,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:236,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:237,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:238,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:238,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:239,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - apply_ro
    - TestCoordinateFilter::coords::size
    - push_back
    - ensure_equals
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - geos::geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Coordinate* x) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_rw
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:263,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:265,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:268,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:268,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:269,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:269,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:270,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:270,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:271,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:271,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:272,1
    - Dst: auto::getOrdinate
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - apply_rw
    - getCoordinates
    - ensure_same
    - ensure_equals
    - auto::getOrdinate
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geos::geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Coordinate* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:283,1
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:288,1
    - Dst: apply_ro
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:302,1
    - Dst: TestCoordinateSequenceFilter::args::size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:304,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:304,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:305,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:307,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:307,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:310,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:311,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:313,1
    - Dst: getCurveN
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:313,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 315
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - TestCoordinateSequenceFilter::args::size
    - size
    - apply_ro
    - ensure_equals
    - getCurveN
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: tut::isGeometryChanged
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:323,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:323,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:324,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:324,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:326,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:326,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/CompoundCurveTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/geom/CompoundCurveTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - read
    - ensure_THROW
    - std::vector::push_back
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: CircularArc::getAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: CircularArc::getAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - expected
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: tut::checkAngle
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - CircularArc::getAngle
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkAngle(const CoordinateXY& p0, const CoordinateXY& p1, const
      CoordinateXY& p2, double expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: CircularArc::getLength
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: CircularArc::getLength
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - expected
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: tut::checkLength
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - CircularArc::getLength
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkLength(const CoordinateXY& p0, const CoordinateXY& p1, const
      CoordinateXY& p2, double expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:44,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:47,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:50,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:51,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:52,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:53,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:56,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:57,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:58,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:59,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:62,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:63,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:64,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - checkAngle
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLength
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - checkLength
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:82,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:84,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - CircularArc
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: CircularArc::getAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:19,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    - Dst: CircularArc::getAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - expected
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: tut::checkAngle
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - CircularArc::getAngle
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkAngle(const CoordinateXY& p0, const CoordinateXY& p1, const
      CoordinateXY& p2, double expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: CircularArc::getLength
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:27,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: toString
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    - Dst: CircularArc::getLength
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - expected
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: tut::checkLength
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - toString
    - CircularArc::getLength
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkLength(const CoordinateXY& p0, const CoordinateXY& p1, const
      CoordinateXY& p2, double expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:44,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:47,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:50,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:51,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:52,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:53,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:56,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:57,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:58,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:59,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:62,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:63,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:64,1
    - Dst: checkAngle
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - checkAngle
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLength
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - checkLength
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:82,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:84,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: CircularArc
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/CircularArcTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularArcTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - CircularArc
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:23,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: tut::test_geometryfilter_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometryfilter_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:63,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:64,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:67,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:89,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:91,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:94,1
    - Dst: GeometryPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:95,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:95,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 96
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::apply_ro
    - read
    - push_back
    - ensure_equals
    - ensure
    - GeometryRefArray::size
    - GeometryPtr::getNumGeometries
    - isLineal
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p_lineal'
    - ' p_nonlineal'
    argTypes:
    - GeometryRefArray
    - GeometryRefArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tut::GeometrySplitter
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - empty
    linkageType: ''
    returnType: void
    signature: void GeometrySplitter(GeometryRefArray& p_lineal, GeometryRefArray&
      p_nonlineal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry*::isLineal
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:63,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:64,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - geos::geom::Geometry*::isLineal
    linkageType: ''
    returnType: void
    signature: void filter_ro(geos::geom::Geometry const* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Geometry*) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:23,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: tut::test_geometryfilter_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometryfilter_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:45,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:63,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:64,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:67,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:89,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:91,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:94,1
    - Dst: GeometryPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:95,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:95,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 96
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::apply_ro
    - read
    - push_back
    - ensure_equals
    - ensure
    - GeometryRefArray::size
    - GeometryPtr::getNumGeometries
    - isLineal
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:57,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p_lineal'
    - ' p_nonlineal'
    argTypes:
    - GeometryRefArray
    - GeometryRefArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tut::GeometrySplitter
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - empty
    linkageType: ''
    returnType: void
    signature: void GeometrySplitter(GeometryRefArray& p_lineal, GeometryRefArray&
      p_nonlineal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry*::isLineal
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:63,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:64,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryFilterTest.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - geos::geom::Geometry*::isLineal
    linkageType: ''
    returnType: void
    signature: void filter_ro(geos::geom::Geometry const* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Geometry*) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: tut::test_envelope_data
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - std::feclearexcept
    linkageType: ''
    returnType: void
    signature: void test_envelope_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::minmax
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: tut::absdiff
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - std::minmax
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t absdiff(std::size_t a, std::size_t b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:39,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:40,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:41,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:42,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:44,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:45,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:45,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:46,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:47,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:47,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:51,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:52,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:52,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:53,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:54,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:54,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:55,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:55,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:58,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:59,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:59,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:60,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:60,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:62,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:63,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:63,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:66,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:67,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:67,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:68,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:68,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:69,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:69,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:70,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - expected
    argTypes:
    - Envelope
    - Envelope
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: tut::check_intersects
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::intersects
    - tut::ensure_equals
    - tut::intersects
    - getMinX
    - getMaxX
    - disjoint
    - tut::isNull
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void check_intersects(const Envelope& e1, const Envelope& e2, bool
      expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:77,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:77,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:78,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:78,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:79,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:79,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:80,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:80,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:81,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:81,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:82,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:82,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:84,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:85,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:85,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:86,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:86,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:87,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' e1'
    - ' q'
    - expected
    argTypes:
    - Envelope
    - CoordinateXY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: tut::check_intersects
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::intersects
    - tut::ensure_equals
    - tut::intersects
    - getMinX
    - getMaxX
    - tut::contains
    - tut::isNull
    - getMinY
    - getMaxY
    - covers
    linkageType: ''
    returnType: void
    signature: void check_intersects(const Envelope& e1, const CoordinateXY& q, bool
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:94,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:94,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:96,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:96,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:97,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:97,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:98,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: tut::ensure_no_fp_except
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::fetestexcept
    linkageType: ''
    returnType: void
    signature: void ensure_no_fp_except()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:119,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:121,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:122,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:122,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::Envelope::getHeight
    - ensure_equals
    - ensure
    - geos::geom::Envelope::getWidth
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:135,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:137,1
    - Dst: geos::geom::Envelope::getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:138,1
    - Dst: geos::geom::Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:139,1
    - Dst: geos::geom::Envelope::getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:140,1
    - Dst: geos::geom::Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:142,1
    - Dst: geos::geom::Envelope::getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:142,1
    - Dst: geos::geom::Envelope::getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:143,1
    - Dst: geos::geom::Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:143,1
    - Dst: geos::geom::Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:145,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:145,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:145,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::getMaxX
    - ensure_no_fp_except
    - geos::geom::Envelope::getHeight
    - geos::geom::Envelope::getMaxY
    - geos::geom::Envelope::getMinY
    - geos::geom::Envelope::getMinX
    - ensure_equals
    - ensure
    - geos::geom::Envelope::getWidth
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:158,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:159,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:159,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:163,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:165,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:165,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:165,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::Envelope::getHeight
    - ensure_equals
    - ensure
    - geos::geom::Envelope::getWidth
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:178,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:178,1
    - Dst: geos::geom::Envelope::setToNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:180,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:180,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::isNull
    - ensure
    - ensure_no_fp_except
    - geos::geom::Envelope::setToNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:191,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:197,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:198,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:199,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:200,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:203,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:205,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:206,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:208,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:208,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:209,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:209,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:211,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:211,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:212,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:212,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:214,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:214,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 217
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::equals
    - std::numeric_limits<double>::infinity
    - ensure_no_fp_except
    - geos::geom::Envelope::isfinite
    - ensure
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:225,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:229,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:229,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:230,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:230,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:231,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:234,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:234,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:235,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:236,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:239,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:240,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:241,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:241,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:244,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:244,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:245,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:246,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:246,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:249,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:250,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:251,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:253,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 256
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - check_intersects
    - ensure_no_fp_except
    - ensure
    - geos::geom::Envelope::contains
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:273,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:274,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:277,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:278,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:279,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:280,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:282,1
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:286,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:291,1
    - Dst: absdiff
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:300,1
    - Dst: absdiff
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:300,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:302,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 310
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - check_intersects
    - ensure_no_fp_except
    - Envelope
    - absdiff
    - geos::geom::Envelope::Envelope
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:318,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:322,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:323,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:323,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:324,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:324,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:327,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:328,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:332,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:333,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::Envelope::expandToInclude
    - ensure
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:345,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:350,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:351,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:355,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 358
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::expandToInclude
    - ensure
    - ensure_no_fp_except
    - geos::geom::Envelope::Envelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:379,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:380,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:381,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:385,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:385,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:386,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:386,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:387,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:387,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:388,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:388,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:391,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:394,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:394,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:397,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:397,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:400,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:400,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:403,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:403,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:407,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:407,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:411,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:411,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:415,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:415,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:416,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 419
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::distanceToCoordinate
    - distance
    - ensure_equals
    - std::vector::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:433,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:433,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:434,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:434,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:434,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:437,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:438,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:439,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:439,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:440,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:440,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:440,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:443,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:445,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:445,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:446,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:446,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:446,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:449,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:450,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:451,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:451,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:452,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:452,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:452,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:455,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:456,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:457,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:457,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:458,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:458,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:458,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:461,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:462,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:464,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:464,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:464,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:467,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:468,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:470,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:470,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:470,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 473
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - Envelope::distance
    - Envelope
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:484,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:485,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_no_fp_except
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:498,1
    - Dst: Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:498,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_no_fp_except
    - Envelope::intersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:511,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:512,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:512,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:516,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:517,1
    - Dst: Envelope::getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:517,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:518,1
    - Dst: Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:518,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:519,1
    - Dst: Envelope::getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:519,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:520,1
    - Dst: Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:520,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:523,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:524,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:524,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:527,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:528,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:528,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 531
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::getMinX
    - ensure_no_fp_except
    - Envelope
    - Envelope::getMaxY
    - Envelope::getMaxX
    - Envelope::expandBy
    - Envelope::isNull
    - ensure_equals
    - ensure
    - Envelope::getMinY
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:546,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:547,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:548,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:548,1
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:552,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:553,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:554,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:554,1
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:558,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:560,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:560,1
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:564,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:565,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:566,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:566,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 569
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::intersection
    - ensure_no_fp_except
    - Envelope
    - Envelope::isNull
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::centre
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:581,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:582,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:583,1
    - Dst: Envelope::centre
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:588,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:589,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::centre
    - ensure
    - ensure_no_fp_except
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::translate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:602,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:603,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:603,1
    - Dst: Envelope::translate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:607,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:608,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:608,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - Envelope
    - Envelope::translate
    - Envelope::isNull
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:622,1
    - Dst: Envelope::hashCode
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:622,1
    - Dst: Envelope::hashCode
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:622,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_no_fp_except
    - Envelope::hashCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:634,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:636,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:636,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:638,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:639,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:639,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 642
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope
    - ensure_equals
    - Envelope::expandToInclude
    - ensure_no_fp_except
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_set::emplace
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:651,1
    - Dst: std::unordered_set::emplace
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:652,1
    - Dst: std::unordered_set::emplace
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:653,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:655,1
    - Dst: std::unordered_set::size
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 656
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::emplace
    - ensure_equals
    - std::unordered_set::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: tut::test_envelope_data
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - std::feclearexcept
    linkageType: ''
    returnType: void
    signature: void test_envelope_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::minmax
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: tut::absdiff
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - std::minmax
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t absdiff(std::size_t a, std::size_t b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:39,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:40,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:41,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:42,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:44,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:45,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:45,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:46,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:47,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:47,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:51,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:52,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:52,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:53,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:54,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:54,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:55,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:55,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:58,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:59,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:59,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:60,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:60,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:62,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:63,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:63,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:66,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:66,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:67,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:67,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:68,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:68,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:69,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:69,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:70,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - expected
    argTypes:
    - Envelope
    - Envelope
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: tut::check_intersects
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::intersects
    - tut::ensure_equals
    - tut::intersects
    - getMinX
    - getMaxX
    - disjoint
    - tut::isNull
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void check_intersects(const Envelope& e1, const Envelope& e2, bool
      expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:77,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:77,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:78,1
    - Dst: tut::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:78,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:79,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:79,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:80,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:80,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:81,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:81,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:82,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:82,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:84,1
    - Dst: getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:85,1
    - Dst: getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:85,1
    - Dst: getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:86,1
    - Dst: getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:86,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:87,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' e1'
    - ' q'
    - expected
    argTypes:
    - Envelope
    - CoordinateXY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: tut::check_intersects
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::intersects
    - tut::ensure_equals
    - tut::intersects
    - getMinX
    - getMaxX
    - tut::contains
    - tut::isNull
    - getMinY
    - getMaxY
    - covers
    linkageType: ''
    returnType: void
    signature: void check_intersects(const Envelope& e1, const CoordinateXY& q, bool
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:94,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:94,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:96,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:96,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:97,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:97,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:98,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: tut::ensure_no_fp_except
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::fetestexcept
    linkageType: ''
    returnType: void
    signature: void ensure_no_fp_except()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:117,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:119,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:121,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:122,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:122,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::Envelope::getHeight
    - ensure_equals
    - ensure
    - geos::geom::Envelope::getWidth
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:135,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:137,1
    - Dst: geos::geom::Envelope::getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:138,1
    - Dst: geos::geom::Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:139,1
    - Dst: geos::geom::Envelope::getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:140,1
    - Dst: geos::geom::Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:142,1
    - Dst: geos::geom::Envelope::getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:142,1
    - Dst: geos::geom::Envelope::getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:142,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:143,1
    - Dst: geos::geom::Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:143,1
    - Dst: geos::geom::Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:145,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:145,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:145,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::getMaxX
    - ensure_no_fp_except
    - geos::geom::Envelope::getHeight
    - geos::geom::Envelope::getMaxY
    - geos::geom::Envelope::getMinY
    - geos::geom::Envelope::getMinX
    - ensure_equals
    - ensure
    - geos::geom::Envelope::getWidth
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:158,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:159,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:159,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:163,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:165,1
    - Dst: geos::geom::Envelope::getWidth
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:165,1
    - Dst: geos::geom::Envelope::getHeight
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:165,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::Envelope::getHeight
    - ensure_equals
    - ensure
    - geos::geom::Envelope::getWidth
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:178,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:178,1
    - Dst: geos::geom::Envelope::setToNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:180,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:180,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::isNull
    - ensure
    - ensure_no_fp_except
    - geos::geom::Envelope::setToNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:191,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:197,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:198,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:199,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:200,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:203,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:205,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:206,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:208,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:208,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:209,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:209,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:211,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:211,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:212,1
    - Dst: geos::geom::Envelope::equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:212,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:214,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:214,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 217
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::equals
    - std::numeric_limits<double>::infinity
    - ensure_no_fp_except
    - geos::geom::Envelope::isfinite
    - ensure
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:225,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:229,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:229,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:230,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:230,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:231,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:234,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:234,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:235,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:236,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:239,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:240,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:241,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:241,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:244,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:244,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:245,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:246,1
    - Dst: geos::geom::Envelope::contains
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:246,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:249,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:250,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:251,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:253,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 256
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - check_intersects
    - ensure_no_fp_except
    - ensure
    - geos::geom::Envelope::contains
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:273,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:274,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:277,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:278,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:279,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:280,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:282,1
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:286,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:291,1
    - Dst: absdiff
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:300,1
    - Dst: absdiff
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:300,1
    - Dst: check_intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:302,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 310
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - check_intersects
    - ensure_no_fp_except
    - Envelope
    - absdiff
    - geos::geom::Envelope::Envelope
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:318,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:322,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:323,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:323,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:324,1
    - Dst: geos::geom::Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:324,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:327,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:328,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:332,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:333,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::Envelope::expandToInclude
    - ensure
    - geos::geom::Envelope::Envelope
    - geos::geom::Envelope::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:345,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:350,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:351,1
    - Dst: geos::geom::Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:355,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 358
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Envelope::expandToInclude
    - ensure
    - ensure_no_fp_except
    - geos::geom::Envelope::Envelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:379,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:380,1
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:381,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:385,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:385,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:386,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:386,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:387,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:387,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:388,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:388,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:391,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:394,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:394,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:397,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:397,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:400,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:400,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:403,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:403,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:407,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:407,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:411,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:411,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:415,1
    - Dst: geos::geom::distanceToCoordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:415,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:416,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 419
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - geos::geom::distanceToCoordinate
    - distance
    - ensure_equals
    - std::vector::size
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:433,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:433,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:434,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:434,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:434,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:437,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:438,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:439,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:439,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:440,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:440,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:440,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:443,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:445,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:445,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:446,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:446,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:446,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:449,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:450,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:451,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:451,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:452,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:452,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:452,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:455,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:456,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:457,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:457,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:458,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:458,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:458,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:461,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:462,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:463,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:464,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:464,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:464,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:467,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:468,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:470,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:470,1
    - Dst: Envelope::distance
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:470,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 473
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - Envelope::distance
    - Envelope
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:484,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:485,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_no_fp_except
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:498,1
    - Dst: Envelope::intersects
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:498,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_no_fp_except
    - Envelope::intersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:511,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:512,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:512,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:516,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:517,1
    - Dst: Envelope::getMinX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:517,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:518,1
    - Dst: Envelope::getMaxX
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:518,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:519,1
    - Dst: Envelope::getMinY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:519,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:520,1
    - Dst: Envelope::getMaxY
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:520,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:523,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:524,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:524,1
    - Dst: Envelope::expandBy
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:527,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:528,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:528,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 531
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::getMinX
    - ensure_no_fp_except
    - Envelope
    - Envelope::getMaxY
    - Envelope::getMaxX
    - Envelope::expandBy
    - Envelope::isNull
    - ensure_equals
    - ensure
    - Envelope::getMinY
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:546,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:547,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:548,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:548,1
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:552,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:553,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:554,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:554,1
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:558,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:560,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:560,1
    - Dst: Envelope::intersection
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:564,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:565,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:566,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:566,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 569
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::intersection
    - ensure_no_fp_except
    - Envelope
    - Envelope::isNull
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::centre
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:581,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:582,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:583,1
    - Dst: Envelope::centre
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:588,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:589,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope::centre
    - ensure
    - ensure_no_fp_except
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::translate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:602,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:603,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:603,1
    - Dst: Envelope::translate
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:607,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:608,1
    - Dst: Envelope::isNull
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:608,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_no_fp_except
    - Envelope
    - Envelope::translate
    - Envelope::isNull
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:622,1
    - Dst: Envelope::hashCode
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:622,1
    - Dst: Envelope::hashCode
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:622,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - ensure_no_fp_except
    - Envelope::hashCode
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:634,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:636,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:636,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:638,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:639,1
    - Dst: Envelope
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:639,1
    - Dst: ensure_no_fp_except
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 642
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - Envelope
    - ensure_equals
    - Envelope::expandToInclude
    - ensure_no_fp_except
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_set::emplace
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:651,1
    - Dst: std::unordered_set::emplace
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:652,1
    - Dst: std::unordered_set::emplace
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:653,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:655,1
    - Dst: std::unordered_set::size
      Src: /src/geos/tests/unit/geom/EnvelopeTest.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 656
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/EnvelopeTest.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_set::emplace
    - ensure_equals
    - std::unordered_set::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:25,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: tut::test_geometrycomponentfilter_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometrycomponentfilter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tut::NumPointsInFirstNComponents::NumPointsInFirstNComponents
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumPointsInFirstNComponents(std::size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry*::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tut::NumPointsInFirstNComponents::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry*::getNumPoints
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::NumPointsInFirstNComponents::filter_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tut::NumPointsInFirstNComponents::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::NumPointsInFirstNComponents::filter_ro
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tut::NumPointsInFirstNComponents::numPoints
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t numPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tut::NumPointsInFirstNComponents::isDone
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:93,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:94,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:97,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:120,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:122,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:124,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:124,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 125
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::apply_ro
    - read
    - push_back
    - ensure_equals
    - ensure
    - GeometryRefArray::size
    - isLineal
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p_lineal'
    - ' p_nonlineal'
    argTypes:
    - GeometryRefArray
    - GeometryRefArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tut::GeometryComponentSplitter
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - empty
    linkageType: ''
    returnType: void
    signature: void GeometryComponentSplitter(GeometryRefArray& p_lineal, GeometryRefArray&
      p_nonlineal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry*::isLineal
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:93,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:94,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - geos::geom::Geometry*::isLineal
    linkageType: ''
    returnType: void
    signature: void filter_ro(geos::geom::Geometry const* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Geometry*) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:134,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:140,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: GeometryPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: GeometryPtr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: GeometryPtr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:147,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:150,1
    - Dst: GeometryPtr::apply_rw
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:152,1
    - Dst: GeometryPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:152,1
    - Dst: GeometryPtr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:152,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::getNumPoints
    - NumPointsInFirstNComponents
    - GeometryPtr::apply_ro
    - read
    - auto::numPoints
    - GeometryPtr::apply_rw
    - ensure_equals
    - GeometryPtr::getGeometryN
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:163,1
    - Dst: dynamic_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:166,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:166,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:168,1
    - Dst: auto::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::getInteriorRingN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:175,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:178,1
    - Dst: GeometryPtr::apply_rw
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:180,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:180,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:180,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getExteriorRing
    - NumPointsInFirstNComponents
    - read
    - auto::numPoints
    - dynamic_cast<geos::geom::Polygon*>
    - GeometryPtr::apply_rw
    - ensure_equals
    - auto::getNumPoints
    - auto::getInteriorRingN
    - auto::apply_ro
    - GeometryPtr::get
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:25,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: tut::test_geometrycomponentfilter_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometrycomponentfilter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tut::NumPointsInFirstNComponents::NumPointsInFirstNComponents
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NumPointsInFirstNComponents(std::size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry*::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tut::NumPointsInFirstNComponents::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Geometry*::getNumPoints
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::NumPointsInFirstNComponents::filter_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tut::NumPointsInFirstNComponents::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::NumPointsInFirstNComponents::filter_ro
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tut::NumPointsInFirstNComponents::numPoints
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t numPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tut::NumPointsInFirstNComponents::isDone
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:93,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:94,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:97,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:120,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:120,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:122,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:124,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:124,1
    - Dst: GeometryRefArray::size
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 125
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::apply_ro
    - read
    - push_back
    - ensure_equals
    - ensure
    - GeometryRefArray::size
    - isLineal
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:87,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    - Dst: empty
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p_lineal'
    - ' p_nonlineal'
    argTypes:
    - GeometryRefArray
    - GeometryRefArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tut::GeometryComponentSplitter
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - empty
    linkageType: ''
    returnType: void
    signature: void GeometryComponentSplitter(GeometryRefArray& p_lineal, GeometryRefArray&
      p_nonlineal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry*::isLineal
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:93,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:94,1
    - Dst: push_back
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - geos::geom::Geometry*::isLineal
    linkageType: ''
    returnType: void
    signature: void filter_ro(geos::geom::Geometry const* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geos::geom::Geometry*) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:134,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:140,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: GeometryPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: GeometryPtr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: GeometryPtr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:146,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:147,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:150,1
    - Dst: GeometryPtr::apply_rw
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:152,1
    - Dst: GeometryPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:152,1
    - Dst: GeometryPtr::getGeometryN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:152,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::getNumPoints
    - NumPointsInFirstNComponents
    - GeometryPtr::apply_ro
    - read
    - auto::numPoints
    - GeometryPtr::apply_rw
    - ensure_equals
    - GeometryPtr::getGeometryN
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:163,1
    - Dst: dynamic_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:166,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:166,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:168,1
    - Dst: auto::apply_ro
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::getInteriorRingN
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:174,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:175,1
    - Dst: NumPointsInFirstNComponents
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:178,1
    - Dst: GeometryPtr::apply_rw
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:180,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:180,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:180,1
    - Dst: auto::numPoints
      Src: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/GeometryComponentFilterTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getExteriorRing
    - NumPointsInFirstNComponents
    - read
    - auto::numPoints
    - dynamic_cast<geos::geom::Polygon*>
    - GeometryPtr::apply_rw
    - ensure_equals
    - auto::getNumPoints
    - auto::getInteriorRingN
    - auto::apply_ro
    - GeometryPtr::get
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:41,1
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:43,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    - expectedx
    - expectedy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: tut::checkLineIntersection
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - LineSegment::lineIntersection
    - Coordinate::distance
    linkageType: ''
    returnType: void
    signature: "void checkLineIntersection(\n        double p1x, double p1y, double
      p2x, double p2y,\n        double q1x, double q1y, double q2x, double q2y,\n
      \       double expectedx, double expectedy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::pointAlongOffset
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:56,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:58,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - x0
    - y0
    - x1
    - y1
    - segFrac
    - offset
    - expectedX
    - expectedY
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: tut::checkOffsetPoint
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::pointAlongOffset
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkOffsetPoint(\n        double x0, double y0,\n        double
      x1, double y1,\n        double segFrac, double offset,\n        double expectedX,
      double expectedY)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::offset
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:70,1
    - Dst: tut::ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:74,1
    - Dst: tut::ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - x0
    - y0
    - x1
    - y1
    - offset
    - expectedX0
    - expectedY0
    - expectedX1
    - expectedY1
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: tut::checkOffsetLine
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_xyz
    - LineSegment::offset
    linkageType: ''
    returnType: void
    signature: "void checkOffsetLine(\n        double x0, double y0,\n        double
      x1, double y1,\n        double offset,\n        double expectedX0, double expectedY0,\n
      \       double expectedX1, double expectedY1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::orientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:84,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - seg
    - x
    - y
    - expectedOrient
    argTypes:
    - LineSegment
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tut::checkOrientationIndex
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - LineSegment::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void checkOrientationIndex(\n        LineSegment seg,\n        double
      x, double y,\n        int expectedOrient)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::orientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:95,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - seg
    - x0
    - y0
    - x1
    - y1
    - expectedOrient
    argTypes:
    - LineSegment
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: tut::checkOrientationIndex
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - LineSegment::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void checkOrientationIndex(\n        LineSegment seg,\n        double
      x0, double y0,\n        double x1, double y1,\n        int expectedOrient)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:107,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - x0
    - y0
    - x1
    - y1
    - px
    - py
    - expected
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: tut::checkDistancePerpendicular
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::distancePerpendicular
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkDistancePerpendicular(\n        double x0, double y0,\n
      \       double x1, double y1,\n        double px, double py,\n        double
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::distancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:119,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - x0
    - y0
    - x1
    - y1
    - px
    - py
    - expected
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: tut::checkDistancePerpendicularOriented
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::distancePerpendicularOriented
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkDistancePerpendicularOriented(\n        double x0, double
      y0,\n        double x1, double y1,\n        double px, double py,\n        double
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:130,1
    - Dst: LineSegment::midPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:130,1
    - Dst: tut::ensure_equals_xy
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x0
    - y0
    - x1
    - y1
    - px
    - py
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: tut::checkMidPoint
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - tut::ensure_equals_xy
    - LineSegment::midPoint
    linkageType: ''
    returnType: void
    signature: "void checkMidPoint(\n        double x0, double y0,\n        double
      x1, double y1,\n        double px, double py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: tut::test_lineseg_data
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_lineseg_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:154,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:155,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:161,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:162,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:174,1
    - Dst: isHorizontal
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:174,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:176,1
    - Dst: isHorizontal
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - ensure
    - isHorizontal
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:185,1
    - Dst: isVertical
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:185,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:187,1
    - Dst: isVertical
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - isVertical
    - reverse
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:196,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:196,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:198,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:198,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:200,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - distance
    - reverse
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:209,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:209,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:211,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:213,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:213,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:214,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:215,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:225,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:225,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:226,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:227,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - distance
    - reverse
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLineIntersection
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:236,1
    - Dst: checkLineIntersection
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkLineIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:253,1
    - Dst: checkOffsetLine
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:254,1
    - Dst: checkOffsetLine
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:255,1
    - Dst: checkOffsetLine
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetLine
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:264,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:265,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:266,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:268,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:269,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:271,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:272,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:274,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:275,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:277,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    - checkOffsetPoint
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:287,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:288,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:290,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:292,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:293,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:295,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkOrientationIndex
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:305,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:306,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:308,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:309,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:311,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkOrientationIndex
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:322,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:323,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:324,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:325,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistancePerpendicular
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:336,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:338,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:340,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:341,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistancePerpendicularOriented
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMidPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:352,1
    - Dst: checkMidPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:353,1
    - Dst: checkMidPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkMidPoint
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:41,1
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:43,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - q1x
    - q1y
    - q2x
    - q2y
    - expectedx
    - expectedy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: tut::checkLineIntersection
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - LineSegment::lineIntersection
    - Coordinate::distance
    linkageType: ''
    returnType: void
    signature: "void checkLineIntersection(\n        double p1x, double p1y, double
      p2x, double p2y,\n        double q1x, double q1y, double q2x, double q2y,\n
      \       double expectedx, double expectedy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::pointAlongOffset
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:56,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:58,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - x0
    - y0
    - x1
    - y1
    - segFrac
    - offset
    - expectedX
    - expectedY
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: tut::checkOffsetPoint
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::pointAlongOffset
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkOffsetPoint(\n        double x0, double y0,\n        double
      x1, double y1,\n        double segFrac, double offset,\n        double expectedX,
      double expectedY)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::offset
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:70,1
    - Dst: tut::ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:74,1
    - Dst: tut::ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - x0
    - y0
    - x1
    - y1
    - offset
    - expectedX0
    - expectedY0
    - expectedX1
    - expectedY1
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: tut::checkOffsetLine
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_xyz
    - LineSegment::offset
    linkageType: ''
    returnType: void
    signature: "void checkOffsetLine(\n        double x0, double y0,\n        double
      x1, double y1,\n        double offset,\n        double expectedX0, double expectedY0,\n
      \       double expectedX1, double expectedY1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::orientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:84,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - seg
    - x
    - y
    - expectedOrient
    argTypes:
    - LineSegment
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tut::checkOrientationIndex
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - LineSegment::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void checkOrientationIndex(\n        LineSegment seg,\n        double
      x, double y,\n        int expectedOrient)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::orientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:95,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - seg
    - x0
    - y0
    - x1
    - y1
    - expectedOrient
    argTypes:
    - LineSegment
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: tut::checkOrientationIndex
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals
    - LineSegment::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void checkOrientationIndex(\n        LineSegment seg,\n        double
      x0, double y0,\n        double x1, double y1,\n        int expectedOrient)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:107,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - x0
    - y0
    - x1
    - y1
    - px
    - py
    - expected
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: tut::checkDistancePerpendicular
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::distancePerpendicular
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkDistancePerpendicular(\n        double x0, double y0,\n
      \       double x1, double y1,\n        double px, double py,\n        double
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::distancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:119,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - x0
    - y0
    - x1
    - y1
    - px
    - py
    - expected
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: tut::checkDistancePerpendicularOriented
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::distancePerpendicularOriented
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void checkDistancePerpendicularOriented(\n        double x0, double
      y0,\n        double x1, double y1,\n        double px, double py,\n        double
      expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:130,1
    - Dst: LineSegment::midPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:130,1
    - Dst: tut::ensure_equals_xy
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x0
    - y0
    - x1
    - y1
    - px
    - py
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: tut::checkMidPoint
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - tut::ensure_equals_xy
    - LineSegment::midPoint
    linkageType: ''
    returnType: void
    signature: "void checkMidPoint(\n        double x0, double y0,\n        double
      x1, double y1,\n        double px, double py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: tut::test_lineseg_data
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_lineseg_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:154,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:155,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:157,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:161,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:162,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:163,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:174,1
    - Dst: isHorizontal
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:174,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:176,1
    - Dst: isHorizontal
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - ensure
    - isHorizontal
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:185,1
    - Dst: isVertical
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:185,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:187,1
    - Dst: isVertical
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - isVertical
    - reverse
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:196,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:196,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:198,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:198,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:200,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - distance
    - reverse
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:209,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:209,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:211,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:213,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:213,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:214,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:215,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:225,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:225,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:226,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:227,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - distance
    - reverse
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLineIntersection
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:236,1
    - Dst: checkLineIntersection
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkLineIntersection
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:253,1
    - Dst: checkOffsetLine
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:254,1
    - Dst: checkOffsetLine
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:255,1
    - Dst: checkOffsetLine
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetLine
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:264,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:265,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:266,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:268,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:269,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:271,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:272,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:274,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:275,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:277,1
    - Dst: checkOffsetPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    - checkOffsetPoint
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:287,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:288,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:290,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:292,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:293,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:295,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkOrientationIndex
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:305,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:306,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:308,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:309,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:311,1
    - Dst: checkOrientationIndex
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkOrientationIndex
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:322,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:323,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:324,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:325,1
    - Dst: checkDistancePerpendicular
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistancePerpendicular
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:336,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:338,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:340,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:341,1
    - Dst: checkDistancePerpendicularOriented
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistancePerpendicularOriented
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMidPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:352,1
    - Dst: checkMidPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:353,1
    - Dst: checkMidPoint
      Src: /src/geos/tests/unit/geom/LineSegmentTest.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/geom/LineSegmentTest.cpp
    functionUses: 0
    functionsReached:
    - checkMidPoint
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:23,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tut::test_multilinestring_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void test_multilinestring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:43,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:52,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:53,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:62,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:63,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:73,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:74,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:75,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:23,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tut::test_multilinestring_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void test_multilinestring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:43,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:52,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:53,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:62,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:62,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:63,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:73,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:74,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:75,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiLineStringTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiLineStringTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:38,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:39,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:40,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: tut::test_multipoint_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - read
    - createMultiPoint
    linkageType: ''
    returnType: void
    signature: void test_multipoint_data()
  - 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: ~test_multipoint_data()
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_multipoint_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_multipoint_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tut::test_multipoint_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_multipoint_data(const test_multipoint_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_multipoint_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const test_multipoint_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_multipoint_data
    signature: test_multipoint_data & operator=(const test_multipoint_data& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:71,1
    - Dst: MultiPointAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:72,1
    - Dst: MultiPointAutoPtr::isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:73,1
    - Dst: MultiPointAutoPtr::isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:74,1
    - Dst: MultiPointAutoPtr::getCentroid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:75,1
    - Dst: MultiPointAutoPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:76,1
    - Dst: MultiPointAutoPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - MultiPointAutoPtr::isValid
    - MultiPointAutoPtr::isEmpty
    - MultiPointAutoPtr::getNumGeometries
    - MultiPointAutoPtr::getCentroid
    - MultiPointAutoPtr::getNumPoints
    - ensure_equals
    - ensure
    - createMultiPoint
    - MultiPointAutoPtr::isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<geos::geom::MultiPoint*>
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:86,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:87,1
    - Dst: MultiPointAutoPtr::get
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:89,1
    - Dst: MultiPointAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:90,1
    - Dst: MultiPointAutoPtr::isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:91,1
    - Dst: MultiPointAutoPtr::isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:92,1
    - Dst: MultiPointAutoPtr::getCentroid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:93,1
    - Dst: MultiPointAutoPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:94,1
    - Dst: MultiPointAutoPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - clone
    - MultiPointAutoPtr::isValid
    - MultiPointAutoPtr::isEmpty
    - MultiPointAutoPtr::getNumGeometries
    - MultiPointAutoPtr::getCentroid
    - dynamic_cast<geos::geom::MultiPoint*>
    - MultiPointAutoPtr::getNumPoints
    - ensure_equals
    - ensure
    - MultiPointAutoPtr::isSimple
    - MultiPointAutoPtr::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:104,1
    - Dst: dynamic_cast<MultiPointPtr>
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:105,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:107,1
    - Dst: MultiPointPtr::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:108,1
    - Dst: MultiPointPtr::isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:109,1
    - Dst: MultiPointPtr::isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:110,1
    - Dst: MultiPointPtr::getCentroid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:111,1
    - Dst: MultiPointPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:112,1
    - Dst: MultiPointPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - MultiPointPtr::isSimple
    - read
    - dynamic_cast<MultiPointPtr>
    - MultiPointPtr::isValid
    - MultiPointPtr::getNumPoints
    - MultiPointPtr::isEmpty
    - MultiPointPtr::getNumGeometries
    - ensure_equals
    - ensure
    - MultiPointPtr::getCentroid
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:121,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:130,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:139,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:150,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:161,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:172,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:181,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:191,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:209,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:218,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:227,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:236,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:246,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:258,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:259,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:260,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:269,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:271,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:275,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:284,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:286,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:287,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:288,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:288,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:289,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:289,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:290,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - convexHull
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:300,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:312,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:321,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:322,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:331,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:332,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:342,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:351,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:352,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:362,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:382,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:383,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:385,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:388,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 392
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:400,1
    - Dst: auto::createMultiPoint
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:403,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - auto::createMultiPoint
    - ensure
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:412,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:412,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:413,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:422,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:422,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:423,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:432,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:432,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:433,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:433,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:434,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:38,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:39,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:40,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: tut::test_multipoint_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - read
    - createMultiPoint
    linkageType: ''
    returnType: void
    signature: void test_multipoint_data()
  - 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: ~test_multipoint_data()
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_multipoint_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_multipoint_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: tut::test_multipoint_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_multipoint_data(const test_multipoint_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_multipoint_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const test_multipoint_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_multipoint_data
    signature: test_multipoint_data & operator=(const test_multipoint_data& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:71,1
    - Dst: MultiPointAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:72,1
    - Dst: MultiPointAutoPtr::isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:73,1
    - Dst: MultiPointAutoPtr::isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:74,1
    - Dst: MultiPointAutoPtr::getCentroid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:75,1
    - Dst: MultiPointAutoPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:76,1
    - Dst: MultiPointAutoPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - MultiPointAutoPtr::isValid
    - MultiPointAutoPtr::isEmpty
    - MultiPointAutoPtr::getNumGeometries
    - MultiPointAutoPtr::getCentroid
    - MultiPointAutoPtr::getNumPoints
    - ensure_equals
    - ensure
    - createMultiPoint
    - MultiPointAutoPtr::isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<geos::geom::MultiPoint*>
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:86,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:87,1
    - Dst: MultiPointAutoPtr::get
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:89,1
    - Dst: MultiPointAutoPtr::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:90,1
    - Dst: MultiPointAutoPtr::isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:91,1
    - Dst: MultiPointAutoPtr::isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:92,1
    - Dst: MultiPointAutoPtr::getCentroid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:93,1
    - Dst: MultiPointAutoPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:94,1
    - Dst: MultiPointAutoPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - clone
    - MultiPointAutoPtr::isValid
    - MultiPointAutoPtr::isEmpty
    - MultiPointAutoPtr::getNumGeometries
    - MultiPointAutoPtr::getCentroid
    - dynamic_cast<geos::geom::MultiPoint*>
    - MultiPointAutoPtr::getNumPoints
    - ensure_equals
    - ensure
    - MultiPointAutoPtr::isSimple
    - MultiPointAutoPtr::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:104,1
    - Dst: dynamic_cast<MultiPointPtr>
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:105,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:107,1
    - Dst: MultiPointPtr::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:108,1
    - Dst: MultiPointPtr::isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:109,1
    - Dst: MultiPointPtr::isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:110,1
    - Dst: MultiPointPtr::getCentroid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:111,1
    - Dst: MultiPointPtr::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:112,1
    - Dst: MultiPointPtr::getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - MultiPointPtr::isSimple
    - read
    - dynamic_cast<MultiPointPtr>
    - MultiPointPtr::isValid
    - MultiPointPtr::getNumPoints
    - MultiPointPtr::isEmpty
    - MultiPointPtr::getNumGeometries
    - ensure_equals
    - ensure
    - MultiPointPtr::getCentroid
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:121,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:130,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:139,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:150,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:161,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:172,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:181,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:191,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:209,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:218,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:227,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:236,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:246,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:258,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:259,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:259,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:260,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:269,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:271,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:275,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:284,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:286,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:287,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:288,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:288,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:289,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:289,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:290,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - convexHull
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:300,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:312,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:321,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:322,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:331,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:332,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:342,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:351,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:352,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:362,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:382,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:383,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:385,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:388,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 392
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:400,1
    - Dst: auto::createMultiPoint
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:403,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - auto::createMultiPoint
    - ensure
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:412,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:412,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:413,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:422,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:422,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:423,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:432,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:432,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:433,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:433,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:434,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPointTest.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPointTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:66,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tut::test_geometryfactory_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometryfactory_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_geometryfactory_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tut::test_geometryfactory_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometryfactory_data(const test_geometryfactory_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_geometryfactory_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(const test_geometryfactory_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_geometryfactory_data
    signature: test_geometryfactory_data & operator=(const test_geometryfactory_data&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:92,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:93,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:93,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:97,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:97,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:98,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:110,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:111,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:111,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:115,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:115,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:116,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:117,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:128,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:129,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:129,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:133,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:133,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:134,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:146,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:147,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:147,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:151,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:151,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:152,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:164,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:165,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:165,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:169,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:169,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:170,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:181,1
    - Dst: getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:181,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:181,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:182,1
    - Dst: getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:182,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - getSRID
    - getPrecisionModel
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:191,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:194,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - createEmptyGeometry
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:213,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:216,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:216,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:217,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:218,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:218,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:219,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:220,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:220,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:223,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:224,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:225,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:225,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:228,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:229,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:229,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:232,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:233,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:235,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:236,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:236,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:237,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:238,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:238,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:239,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:239,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:240,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:241,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:241,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:242,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getSRID
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:255,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:256,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:256,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:257,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:258,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:258,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:259,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:259,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:262,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:263,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:264,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:265,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:269,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:270,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:270,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:273,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:274,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:274,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:276,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:277,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:278,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:278,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:280,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:281,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:282,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:284,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:284,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:285,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:285,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:286,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:286,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:287,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:287,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:288,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:288,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:289,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:289,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:290,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 291
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getCoordinatesRO
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:301,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:303,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:304,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:306,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:306,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:308,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:309,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:310,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:311,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:311,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:312,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:312,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:315,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:317,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:318,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:323,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:323,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:325,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:326,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:327,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:327,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:329,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:330,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:331,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:331,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:334,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:335,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:335,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:337,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:337,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:338,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:338,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:339,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:340,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:340,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:341,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:342,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 343
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getNumPoints
    - auto::getDimension
    - std::move
    - auto::add
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - geos::detail::make_unique<CoordinateSequence>
    - ensure_equals
    - auto::getArea
    - auto::getCoordinatesRO
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:353,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:354,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:356,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:359,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:359,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:360,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:360,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:361,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:361,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:362,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:362,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:365,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:367,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:368,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:372,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:373,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:373,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:375,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:376,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:377,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:377,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:379,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:380,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:381,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:381,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:383,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:384,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:385,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:385,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:387,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:387,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:388,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:388,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:389,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:390,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:390,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:391,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:392,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 393
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - ensure_equals
    - auto::getArea
    - auto::getCoordinatesRO
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:404,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:404,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:405,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:405,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:406,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:406,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:407,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:407,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:408,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:418,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:419,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:419,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:420,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:420,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:421,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:421,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:422,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:422,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:423,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:423,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:424,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 425
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - auto::isValid
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - createLinearRing
    - auto::getLength
    - auto::getDimension
    - auto::getArea
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:435,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:436,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:436,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:438,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:438,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:439,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:440,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:441,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:442,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:442,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:447,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:447,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:448,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:448,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:449,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:449,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:450,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:450,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:451,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:451,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:452,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - createLinearRing
    - auto::getArea
    - std::move
    - auto::getSize
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:463,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:463,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:466,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:466,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:467,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:467,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:468,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:468,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:469,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:471,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:472,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:472,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:473,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:473,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:474,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:474,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:475,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:475,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:476,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 477
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - geos::geom::CoordinateSequence::getSize
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - createLinearRing
    - auto::getArea
    - auto::getDimension
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:485,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:487,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:488,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:488,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:489,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:489,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:490,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:491,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:491,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:498,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:500,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:500,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:502,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:503,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:504,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:504,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:506,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:507,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:508,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:508,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:510,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:510,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:511,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:511,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:512,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:512,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:513,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:513,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:514,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:514,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:515,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:515,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:516,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 517
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundary
    - auto::getEnvelope
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:526,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:527,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:528,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:528,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:530,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:530,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:531,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:532,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:532,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:533,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:533,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:534,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:539,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:539,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:540,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:540,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:541,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:541,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:542,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:543,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:543,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:544,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 545
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - auto::getArea
    - std::move
    - auto::getSize
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:555,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:555,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:557,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:558,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:558,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:559,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:560,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:561,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:561,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:563,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:563,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:564,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:565,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:565,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:566,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:567,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:567,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:568,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - geos::geom::CoordinateSequence::getSize
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:577,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:579,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:580,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:580,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:581,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:581,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:582,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:582,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:583,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:583,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:597,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:598,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:599,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:599,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:601,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:602,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:603,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:603,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:605,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:606,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:606,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:607,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:607,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:608,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:608,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:609,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:609,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:610,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:610,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:611,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 612
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - createPolygon
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundary
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:624,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:625,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:626,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:626,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:627,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:627,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:628,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:628,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:629,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:629,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:630,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:630,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:631,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:631,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:632,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:632,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:633,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:633,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:636,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:636,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:637,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:638,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:638,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:639,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:639,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:640,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:640,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:641,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:641,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:642,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:642,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:643,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:643,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:644,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:644,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:645,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:645,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:648,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:648,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:649,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:650,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:650,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:651,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:651,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:652,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:652,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:653,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:653,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:654,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:654,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:655,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:655,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:656,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:656,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:657,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 658
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isSimple
    - createPolygon
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::isEmpty
    - geos::detail::make_unique<CoordinateSequence>
    - createLinearRing
    - auto::getNumPoints
    - std::move
    - Coordinate
    - auto::getArea
    - auto::getLength
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:671,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:672,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:673,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:673,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:674,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:674,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:675,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:675,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:676,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:676,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:677,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:677,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:678,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:678,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:679,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:679,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:680,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:680,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:683,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:683,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:684,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:685,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:685,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:686,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:686,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:687,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:687,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:688,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:688,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:689,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:689,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:690,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:690,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:691,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:691,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:692,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:692,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:695,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:696,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:697,1
    - Dst: auto::isRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:697,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:698,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:698,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:701,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:701,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:704,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:704,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:704,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:705,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:706,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:706,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:707,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:707,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:708,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:708,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:709,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:709,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:710,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:710,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:711,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:711,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:712,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:712,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:713,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:713,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:715,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:715,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:716,1
    - Dst: auto::getNumInteriorRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 717
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - auto::getNumInteriorRing
    - ensure
    - auto::getNumPoints
    - auto::getNumGeometries
    - auto::getDimension
    - auto::getSize
    - auto::isRing
    - std::move
    - std::vector::emplace_back
    - auto::isSimple
    - auto::getLength
    - Coordinate
    - auto::setAt
    - auto::isEmpty
    - createLinearRing
    - geos::detail::make_unique<CoordinateSequence>
    - read
    - ensure_equals
    - auto::getArea
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:725,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:727,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:728,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:728,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:729,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:729,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:730,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:730,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:731,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:731,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:732,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:732,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:733,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:733,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:734,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:734,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:735,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:735,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:736,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:736,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:737,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - auto::isValid
    - createGeometryCollection
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:753,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:754,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:755,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:755,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:758,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:759,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:760,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:760,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:761,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:761,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:762,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:762,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:763,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:763,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:764,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:764,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:765,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:765,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:768,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:768,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:769,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:770,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:770,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:771,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 772
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - createPoint
    - auto::setAt
    - createGeometryCollection
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::getNumGeometries
    - std::vector::push_back
    - Coordinate
    - createLineString
    - auto::getGeometryTypeId
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:785,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:786,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:786,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:791,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:792,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:792,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:797,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:798,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:798,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:801,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:802,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:803,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:803,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:804,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 805
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - createGeometryCollection
    - ensure_equals
    - ensure
    - auto::getNumGeometries
    - auto::get
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:813,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:815,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:816,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:816,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:817,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:817,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:818,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:818,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:819,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:819,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:830,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:831,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:832,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:832,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:834,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:835,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:836,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:836,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:838,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:838,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:839,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:839,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:840,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:840,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:841,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:841,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:842,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:842,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:843,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:843,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:844,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 845
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getLength
    - auto::getDimension
    - auto::getBoundary
    - auto::getArea
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:858,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:859,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:860,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:860,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:865,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:866,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:867,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:867,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:872,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:873,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:874,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:874,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:877,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:877,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:878,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:879,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:879,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:880,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:880,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:881,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:881,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:882,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 883
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::isValid
    - auto::isSimple
    - createPoint
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::getNumGeometries
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:896,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:897,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:897,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:902,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:903,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:903,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:908,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:909,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:909,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:912,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:913,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:914,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:914,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:915,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:915,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:916,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:916,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:917,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 918
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - auto::isSimple
    - createPoint
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::getNumGeometries
    - auto::get
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:931,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:931,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:932,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:932,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:933,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:933,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:934,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:934,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:936,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:937,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:938,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:938,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:939,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:939,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:940,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:940,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:941,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 942
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - auto::isSimple
    - geos::geom::CoordinateSequence::getSize
    - geos::geom::CoordinateSequence::setAt
    - ensure_equals
    - createMultiPoint
    - ensure
    - auto::getNumGeometries
    - Coordinate
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:950,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:952,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:953,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:953,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:954,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:954,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:955,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:955,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:956,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:956,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:967,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:968,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:969,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:969,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:971,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:972,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:973,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:973,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:975,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:975,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:976,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:976,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:977,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:977,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:978,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:978,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:979,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:979,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:980,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:980,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:981,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 982
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundary
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:998,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:999,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1000,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1001,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1001,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1002,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1002,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1003,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1003,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1005,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1005,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1006,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1006,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1007,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1007,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1008,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1008,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1009,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1009,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1010,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1010,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1012,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1012,1
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1015,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1015,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1016,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1019,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1019,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1020,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1021
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - auto::getCoordinate
    - auto::isSimple
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - std::vector::push_back
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getNumGeometries
    - std::move
    - Coordinate
    - createLineString
    - static_cast<double>
    - auto::getGeometryTypeId
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1037,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1038,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1039,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1040,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1040,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1041,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1041,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1042,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1042,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1044,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1044,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1045,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1045,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1046,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1046,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1047,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1047,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1048,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1048,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1049,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1049,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1051,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1051,1
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1054,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1054,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1055,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1058,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1058,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1059,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1060
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - auto::getCoordinate
    - auto::isSimple
    - std::vector::push_back
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::isEmpty
    - geos::detail::make_unique<CoordinateSequence>
    - auto::getNumPoints
    - auto::getNumGeometries
    - std::move
    - Coordinate
    - createLineString
    - static_cast<double>
    - auto::getGeometryTypeId
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1068,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1070,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1070,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1071,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1071,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1072,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1073
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getCoordinateDimension
    - createMultiPolygon
    - auto::getDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1083
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1093
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1103
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1113
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1129,1
    - Dst: PointVect::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1130,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1130,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1135,1
    - Dst: PointVect::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1136,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1136,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1141,1
    - Dst: PointVect::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1142,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1142,1
    - Dst: buildGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1145,1
    - Dst: PointVect::begin
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1145,1
    - Dst: PointVect::end
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1146,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1147,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1148,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1149
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - PointVect::end
    - PointVect::begin
    - createPoint
    - ensure_equals
    - buildGeometry
    - PointVect::push_back
    - ensure
    - auto::getNumGeometries
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1159,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1160,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1162,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1165,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1166
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ensure_equals
    - createMultiPoint
    - auto::getNumGeometries
    - std::move
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1176,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1179,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1180,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1181,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1182,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1182,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1185,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1187,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1190,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1191,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1192,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1192,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1196,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1196,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1200,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1200,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1204,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1206,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1206,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1207,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1208,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1208,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1209,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1210,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1211,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1212,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1213
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1224,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1224,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1225,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1227,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1228,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1228,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1231,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1234,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1234,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1236,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1237,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1237,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1240,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1243,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1243,1
    - Dst: ensure_equals_xym
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1244,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1245,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1246,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1246,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1249,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1251,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1252,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1252,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1254,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1254,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1255,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1256
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - auto::hasM
    - ensure_equals_xyzm
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - ensure_equals_xyz
    - ensure_equals_xym
    - auto::getCoordinatesRO
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1267,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1268,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1269,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1269,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1270,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1270,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1275,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1276,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1276,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1277,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1277,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1278,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1278,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1283,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1284,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1284,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1285,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1285,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1286,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1286,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1290,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1291,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1291,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1292,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1292,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1293,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1293,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1294,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1295
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::hasM
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::getCoordinateDimension
    - auto::getNumGeometries
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1304,1
    - Dst: createEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1305,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1306,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1306,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1307,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1308,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1308,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1309,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1310,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1311,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1312,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1312,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1313,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1313,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1314,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1315,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1315,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1315,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1316,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1316,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1317
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::get
    - createMulti
    - ensure
    - auto::isEmpty
    - createEmpty
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:66,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tut::test_geometryfactory_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometryfactory_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_geometryfactory_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tut::test_geometryfactory_data
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometryfactory_data(const test_geometryfactory_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_geometryfactory_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(const test_geometryfactory_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_geometryfactory_data
    signature: test_geometryfactory_data & operator=(const test_geometryfactory_data&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:92,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:93,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:93,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:97,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:97,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:98,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:110,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:111,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:111,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:115,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:115,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:116,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:117,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:128,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:129,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:129,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:133,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:133,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:134,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:146,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:147,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:147,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:151,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:151,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:152,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:164,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:165,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:165,1
    - Dst: GeometryFactory::Ptr::createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:169,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:169,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:170,1
    - Dst: auto::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getPrecisionModel
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - ensure_equals
    - ensure
    - auto::getSRID
    - GeometryFactory::Ptr::createEmptyGeometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:181,1
    - Dst: getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:181,1
    - Dst: GeometryFactory::Ptr::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:181,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:182,1
    - Dst: getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:182,1
    - Dst: GeometryFactory::Ptr::getPrecisionModel
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory::Ptr::getPrecisionModel
    - GeometryFactory::Ptr::getSRID
    - geos::geom::GeometryFactory::create
    - getSRID
    - getPrecisionModel
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmptyGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:191,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:194,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - createEmptyGeometry
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:213,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:216,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:216,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:217,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:218,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:218,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:219,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:219,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:220,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:220,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:223,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:224,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:225,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:225,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:228,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:229,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:229,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:232,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:233,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:235,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:236,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:236,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:237,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:238,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:238,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:239,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:239,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:240,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:240,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:241,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:241,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:242,1
    - Dst: auto::getSRID
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getSRID
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:255,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:256,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:256,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:257,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:258,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:258,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:259,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:259,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:262,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:263,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:264,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:265,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:269,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:270,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:270,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:273,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:274,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:274,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:276,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:277,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:278,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:278,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:280,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:281,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:282,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:284,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:284,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:285,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:285,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:286,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:286,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:287,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:287,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:288,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:288,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:289,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:289,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:290,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 291
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getCoordinatesRO
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:301,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:303,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:304,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:306,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:306,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:308,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:309,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:310,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:311,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:311,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:312,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:312,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:315,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:317,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:318,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:323,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:323,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:325,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:326,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:327,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:327,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:329,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:330,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:331,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:331,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:334,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:335,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:335,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:337,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:337,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:338,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:338,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:339,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:339,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:340,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:340,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:341,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:342,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 343
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getNumPoints
    - auto::getDimension
    - std::move
    - auto::add
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - geos::detail::make_unique<CoordinateSequence>
    - ensure_equals
    - auto::getArea
    - auto::getCoordinatesRO
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:353,1
    - Dst: geos::geom::CoordinateSequence::add
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:354,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:356,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:358,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:359,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:359,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:360,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:360,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:361,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:361,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:362,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:362,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:365,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:366,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:367,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:368,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:372,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:373,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:373,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:375,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:376,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:377,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:377,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:379,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:380,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:381,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:381,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:383,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:384,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:385,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:385,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:387,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:387,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:388,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:388,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:389,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:389,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:390,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:390,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:391,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:392,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 393
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - geos::geom::CoordinateSequence::CoordinateSequence
    - geos::geom::CoordinateSequence::add
    - ensure_equals
    - auto::getArea
    - auto::getCoordinatesRO
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:401,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:404,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:404,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:405,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:405,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:406,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:406,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:407,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:407,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:408,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:418,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:419,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:419,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:420,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:420,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:421,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:421,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:422,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:422,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:423,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:423,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:424,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 425
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - auto::isValid
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - createLinearRing
    - auto::getLength
    - auto::getDimension
    - auto::getArea
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:435,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:436,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:436,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:438,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:438,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:439,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:440,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:441,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:441,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:442,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:442,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:447,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:447,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:448,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:448,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:449,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:449,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:450,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:450,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:451,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:451,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:452,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - createLinearRing
    - auto::getArea
    - std::move
    - auto::getSize
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:463,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:463,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:466,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:466,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:467,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:467,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:468,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:468,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:469,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:469,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:471,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:471,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:472,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:472,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:473,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:473,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:474,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:474,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:475,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:475,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:476,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 477
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - geos::geom::CoordinateSequence::getSize
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - createLinearRing
    - auto::getArea
    - auto::getDimension
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:485,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:487,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:488,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:488,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:489,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:489,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:490,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:491,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:491,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:498,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:499,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:500,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:500,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:502,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:503,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:504,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:504,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:506,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:507,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:508,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:508,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:510,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:510,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:511,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:511,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:512,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:512,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:513,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:513,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:514,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:514,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:515,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:515,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:516,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 517
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundary
    - auto::getEnvelope
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:526,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:527,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:528,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:528,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:530,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:530,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:531,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:532,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:532,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:533,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:533,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:534,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:534,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:539,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:539,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:540,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:540,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:541,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:541,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:542,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:543,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:543,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:544,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 545
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - auto::getArea
    - std::move
    - auto::getSize
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:555,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:555,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:557,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:558,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:558,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:559,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:559,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:560,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:561,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:561,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:563,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:563,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:564,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:564,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:565,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:565,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:566,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:566,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:567,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:567,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:568,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isSimple
    - geos::geom::CoordinateSequence::getSize
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:577,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:579,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:580,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:580,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:581,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:581,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:582,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:582,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:583,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:583,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:597,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:598,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:599,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:599,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:601,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:602,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:603,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:603,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:605,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:605,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:606,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:606,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:607,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:607,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:608,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:608,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:609,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:609,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:610,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:610,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:611,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 612
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - createPolygon
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundary
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:624,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:625,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:626,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:626,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:627,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:627,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:628,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:628,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:629,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:629,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:630,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:630,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:631,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:631,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:632,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:632,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:633,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:633,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:636,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:636,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:637,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:638,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:638,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:639,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:639,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:640,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:640,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:641,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:641,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:642,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:642,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:643,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:643,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:644,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:644,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:645,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:645,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:648,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:648,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:649,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:650,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:650,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:651,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:651,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:652,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:652,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:653,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:653,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:654,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:654,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:655,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:655,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:656,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:656,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:657,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 658
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isSimple
    - createPolygon
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::isEmpty
    - geos::detail::make_unique<CoordinateSequence>
    - createLinearRing
    - auto::getNumPoints
    - std::move
    - Coordinate
    - auto::getArea
    - auto::getLength
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:671,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:672,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:673,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:673,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:674,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:674,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:675,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:675,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:676,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:676,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:677,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:677,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:678,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:678,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:679,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:679,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:680,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:680,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:683,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:683,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:684,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:685,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:685,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:686,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:686,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:687,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:687,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:688,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:688,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:689,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:689,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:690,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:690,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:691,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:691,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:692,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:692,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:695,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:696,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:697,1
    - Dst: auto::isRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:697,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:698,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:698,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:701,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:701,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:704,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:704,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:704,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:705,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:706,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:706,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:707,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:707,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:708,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:708,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:709,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:709,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:710,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:710,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:711,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:711,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:712,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:712,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:713,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:713,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:715,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:715,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:716,1
    - Dst: auto::getNumInteriorRing
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 717
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - auto::getNumInteriorRing
    - ensure
    - auto::getNumPoints
    - auto::getNumGeometries
    - auto::getDimension
    - auto::getSize
    - auto::isRing
    - std::move
    - std::vector::emplace_back
    - auto::isSimple
    - auto::getLength
    - Coordinate
    - auto::setAt
    - auto::isEmpty
    - createLinearRing
    - geos::detail::make_unique<CoordinateSequence>
    - read
    - ensure_equals
    - auto::getArea
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:725,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:727,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:728,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:728,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:729,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:729,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:730,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:730,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:731,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:731,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:732,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:732,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:733,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:733,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:734,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:734,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:735,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:735,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:736,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:736,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:737,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - auto::isValid
    - createGeometryCollection
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:753,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:754,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:755,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:755,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:758,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:759,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:760,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:760,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:761,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:761,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:762,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:762,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:763,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:763,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:764,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:764,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:765,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:765,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:768,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:768,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:769,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:770,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:770,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:771,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 772
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - createPoint
    - auto::setAt
    - createGeometryCollection
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::getNumGeometries
    - std::vector::push_back
    - Coordinate
    - createLineString
    - auto::getGeometryTypeId
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:785,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:786,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:786,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:791,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:792,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:792,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:797,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:798,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:798,1
    - Dst: createGeometryCollection
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:801,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:802,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:803,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:803,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:804,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 805
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - createGeometryCollection
    - ensure_equals
    - ensure
    - auto::getNumGeometries
    - auto::get
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:813,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:815,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:816,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:816,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:817,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:817,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:818,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:818,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:819,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:819,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:830,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:831,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:832,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:832,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:834,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:835,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:836,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:836,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:838,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:838,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:839,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:839,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:840,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:840,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:841,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:841,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:842,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:842,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:843,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:843,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:844,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 845
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getLength
    - auto::getDimension
    - auto::getBoundary
    - auto::getArea
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:858,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:859,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:860,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:860,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:865,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:866,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:867,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:867,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:872,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:873,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:874,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:874,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:877,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:877,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:878,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:879,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:879,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:880,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:880,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:881,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:881,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:882,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 883
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - auto::isValid
    - auto::isSimple
    - createPoint
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::getNumGeometries
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:896,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:897,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:897,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:902,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:903,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:903,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:908,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:909,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:909,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:912,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:913,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:914,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:914,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:915,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:915,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:916,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:916,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:917,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 918
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - auto::isSimple
    - createPoint
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::getNumGeometries
    - auto::get
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:931,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:931,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:932,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:932,1
    - Dst: geos::geom::CoordinateSequence::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:933,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:933,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:934,1
    - Dst: geos::geom::CoordinateSequence::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:934,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:936,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:937,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:938,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:938,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:939,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:939,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:940,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:940,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:941,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 942
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - auto::isSimple
    - geos::geom::CoordinateSequence::getSize
    - geos::geom::CoordinateSequence::setAt
    - ensure_equals
    - createMultiPoint
    - ensure
    - auto::getNumGeometries
    - Coordinate
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:950,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:952,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:953,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:953,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:954,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:954,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:955,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:955,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:956,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:956,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:967,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:968,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:969,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:969,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:971,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:972,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:973,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:973,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:975,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:975,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:976,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:976,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:977,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:977,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:978,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:978,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:979,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:979,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:980,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:980,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:981,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 982
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isValid
    - auto::isSimple
    - auto::convexHull
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getLength
    - auto::getArea
    - auto::getDimension
    - auto::getBoundary
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:998,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:999,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1000,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1001,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1001,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1002,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1002,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1003,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1003,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1005,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1005,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1006,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1006,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1007,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1007,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1008,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1008,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1009,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1009,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1010,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1010,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1012,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1012,1
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1015,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1015,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1016,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1019,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1019,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1020,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1021
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - auto::getCoordinate
    - auto::isSimple
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - std::vector::push_back
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::isEmpty
    - auto::getNumPoints
    - auto::getNumGeometries
    - std::move
    - Coordinate
    - createLineString
    - static_cast<double>
    - auto::getGeometryTypeId
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1037,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1038,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1039,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1040,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1040,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1041,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1041,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1042,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1042,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1044,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1044,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1045,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1045,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1046,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1046,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1047,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1047,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1048,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1048,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1049,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1049,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1051,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1051,1
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1054,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1054,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1055,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1058,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1058,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1059,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1060
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - auto::getCoordinate
    - auto::isSimple
    - std::vector::push_back
    - ensure_equals
    - ensure
    - auto::getSize
    - auto::isEmpty
    - geos::detail::make_unique<CoordinateSequence>
    - auto::getNumPoints
    - auto::getNumGeometries
    - std::move
    - Coordinate
    - createLineString
    - static_cast<double>
    - auto::getGeometryTypeId
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPolygon
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1068,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1070,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1070,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1071,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1071,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1072,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1073
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - auto::getCoordinateDimension
    - createMultiPolygon
    - auto::getDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1083
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1093
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1103
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1113
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1129,1
    - Dst: PointVect::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1130,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1130,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1135,1
    - Dst: PointVect::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1136,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1136,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1141,1
    - Dst: PointVect::push_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1142,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1142,1
    - Dst: buildGeometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1145,1
    - Dst: PointVect::begin
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1145,1
    - Dst: PointVect::end
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1146,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1147,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1148,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1149
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - PointVect::end
    - PointVect::begin
    - createPoint
    - ensure_equals
    - buildGeometry
    - PointVect::push_back
    - ensure
    - auto::getNumGeometries
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1159,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1160,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1162,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1165,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1166
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - ensure_equals
    - createMultiPoint
    - auto::getNumGeometries
    - std::move
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1176,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1178,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1179,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1179,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1180,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1180,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1181,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1182,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1182,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1185,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1187,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1190,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1191,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1192,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1192,1
    - Dst: auto::getCentroid
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1195,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1196,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1196,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1200,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1200,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1204,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1206,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1206,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1207,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1208,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1208,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1209,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1210,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1210,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1211,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1212,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1213
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::isValid
    - createPoint
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - auto::getCentroid
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getEnvelope
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1224,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1224,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1225,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1227,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1228,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1228,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1231,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1234,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1234,1
    - Dst: ensure_equals_xyz
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1236,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1237,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1237,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1240,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1243,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1243,1
    - Dst: ensure_equals_xym
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1244,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1245,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1246,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1246,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1249,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1251,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1252,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1252,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1254,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1254,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1255,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1256
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - auto::hasM
    - ensure_equals_xyzm
    - ensure_equals
    - ensure
    - auto::getCoordinateDimension
    - ensure_equals_xyz
    - ensure_equals_xym
    - auto::getCoordinatesRO
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1267,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1268,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1268,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1269,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1269,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1270,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1270,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1275,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1276,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1276,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1277,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1277,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1278,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1278,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1283,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1284,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1284,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1285,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1285,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1286,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1286,1
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1290,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1291,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1291,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1292,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1292,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1293,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1293,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1294,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1295
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::hasM
    - ensure_equals
    - ensure
    - createMultiPoint
    - auto::getCoordinateDimension
    - auto::getNumGeometries
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1304,1
    - Dst: createEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1305,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1306,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1306,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1307,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1307,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1308,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1308,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1309,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1309,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1310,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1311,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1312,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1312,1
    - Dst: createMulti
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1313,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1313,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1314,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1315,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1315,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1315,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1316,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1316,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1317
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/GeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::get
    - createMulti
    - ensure
    - auto::isEmpty
    - createEmpty
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:28,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:29,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:33,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:36,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:37,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:38,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:40,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:41,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:44,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:44,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:50,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:50,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:51,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:52,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:53,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:54,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:55,1
    - Dst: createMultiCurve
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:58,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 59
    functionName: tut::test_multicurve_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - createMultiCurve
    - std::move
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void test_multicurve_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiCurve
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:74,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:75,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:76,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:77,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:78,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:80,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:81,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:83,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:84,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - ensure_equals
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - auto::getCoordinateDimension
    - createMultiCurve
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:93,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:94,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:95,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:98,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:99,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:100,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:101,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:102,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:103,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:106,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:107,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:108,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:109,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:110,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:111,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:112,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:113,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:114,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:115,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:118,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:119,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:120,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:123,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:124,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:124,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:133,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:133,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:133,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:134,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:134,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:134,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:135,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:135,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:135,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:136,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:137,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:137,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:138,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:138,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:138,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:139,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:139,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:139,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:140,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:140,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:141,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:142,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:143,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:143,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:147,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:147,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:148,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:148,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:148,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:151,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:152,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:152,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:152,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:153,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:153,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:153,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:154,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:154,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:154,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:155,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:155,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:158,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:158,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:158,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:159,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:159,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:159,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:162,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:162,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:163,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:163,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:166,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:166,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:167,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:167,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:168,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:168,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:169,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:171,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:171,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:175,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:175,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:175,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:180,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:181,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 182
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:190,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:190,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:193,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:196,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:28,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:29,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:30,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:31,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:32,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:33,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:36,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:37,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:38,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:39,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:40,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:41,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:44,1
    - Dst: createCompoundCurve
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:44,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:47,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:50,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:50,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:51,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:52,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:53,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:54,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:55,1
    - Dst: createMultiCurve
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:58,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 59
    functionName: tut::test_multicurve_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - createCircularString
    - CoordinateXY
    - createMultiCurve
    - std::move
    - createLineString
    - createCompoundCurve
    linkageType: ''
    returnType: void
    signature: void test_multicurve_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiCurve
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:74,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:75,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:76,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:77,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:78,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:80,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:81,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:83,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:84,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - auto::hasM
    - ensure_equals
    - auto::getNumPoints
    - ensure
    - auto::isEmpty
    - auto::getCoordinateDimension
    - createMultiCurve
    - auto::getCoordinates
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:93,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:94,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:95,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:98,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:98,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:99,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:100,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:101,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:102,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:103,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:106,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:107,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:108,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:108,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:109,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:110,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:111,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:112,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:113,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:114,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:115,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:118,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:119,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:120,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:123,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:124,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:124,1
    - Dst: CoordinateXY
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - CoordinateXY
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:133,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:133,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:133,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:134,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:134,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:134,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:135,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:135,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:135,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:136,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:137,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:137,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:138,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:138,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:138,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:139,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:139,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:139,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:140,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:140,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:141,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:141,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:142,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:142,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:142,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:143,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:143,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:143,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:147,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:147,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:148,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:148,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:148,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:151,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:151,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:152,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:152,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:152,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:153,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:153,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:153,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:154,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:154,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:154,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:155,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:155,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:155,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:158,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:158,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:158,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:159,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:159,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:159,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:162,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:162,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:163,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:163,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:166,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:166,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:167,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:167,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:168,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:168,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:169,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:171,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:171,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:175,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:175,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:175,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:180,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:181,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 182
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:190,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:190,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:193,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:196,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiCurveTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/MultiCurveTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: tut::test_location_data
    functionSourceFile: /src/geos/tests/unit/geom/LocationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_location_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LocationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:59,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:59,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:60,1
    - Dst: std::stringstream::clear
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:64,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:64,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:65,1
    - Dst: std::stringstream::clear
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:69,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:69,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:70,1
    - Dst: std::stringstream::clear
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:74,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LocationTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - ensure_equals
    - std::stringstream::clear
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: tut::test_location_data
    functionSourceFile: /src/geos/tests/unit/geom/LocationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_location_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LocationTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:59,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:59,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:60,1
    - Dst: std::stringstream::clear
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:61,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:64,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:64,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:65,1
    - Dst: std::stringstream::clear
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:69,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:69,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:70,1
    - Dst: std::stringstream::clear
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:74,1
    - Dst: std::stringstream::str
      Src: /src/geos/tests/unit/geom/LocationTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LocationTest.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - ensure_equals
    - std::stringstream::clear
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:22,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: tut::test_multipolygon_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void test_multipolygon_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:42,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:51,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:52,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:61,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:62,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:71,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:72,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:73,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:22,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: tut::test_multipolygon_data
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void test_multipolygon_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:42,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:51,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:52,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:61,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:62,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:71,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:72,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:73,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/MultiPolygonTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/MultiPolygonTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:27,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:28,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:29,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:30,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:31,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: tut::test_circularstring_data
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - XY
    linkageType: ''
    returnType: void
    signature: void test_circularstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:50,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:51,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:52,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:53,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:54,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:56,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:57,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:58,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:60,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:61,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - createCircularString
    - auto::hasM
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getCoordinatesRO
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:70,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:71,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:72,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:75,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:76,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:77,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:78,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:79,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:81,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:84,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:85,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:86,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:87,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:88,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:89,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:90,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:91,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:92,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:93,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:96,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:97,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:98,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:101,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:102,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:102,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - XY
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:111,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:111,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:111,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:112,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:112,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:112,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:113,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:113,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:113,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:114,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:114,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:114,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:115,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:115,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:115,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:116,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:116,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:116,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:117,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:117,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:117,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:118,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:118,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:118,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:119,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:119,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:119,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:120,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:120,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:120,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:121,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:121,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:121,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:125,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:125,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:126,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:126,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:126,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:129,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:129,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:130,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:130,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:130,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:131,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:131,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:131,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:132,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:132,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:133,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:133,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:133,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:136,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:137,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:137,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:140,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:141,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:144,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:144,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:145,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:145,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:147,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:147,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:151,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:153,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:153,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:153,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:155,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:155,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:155,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:157,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:158,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 159
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:166,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:167,1
    - Dst: getPointN
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:167,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:169,1
    - Dst: getStartPoint
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:169,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:170,1
    - Dst: getEndPoint
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:170,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:172,1
    - Dst: getCoordinatesRO
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:173,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:173,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:175,1
    - Dst: isCoordinate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - XY
    - read
    - getEndPoint
    - getStartPoint
    - getCoordinateN
    - isClosed
    - isCoordinate
    - ensure
    - getCoordinatesRO
    - getPointN
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:27,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:28,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:29,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:30,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:31,1
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: tut::test_circularstring_data
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - createCircularString
    - XY
    linkageType: ''
    returnType: void
    signature: void test_circularstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCircularString
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:48,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:50,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:50,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:51,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:52,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:53,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:54,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:56,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:57,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:57,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:58,1
    - Dst: auto::getCoordinate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:60,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:61,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getCoordinate
    - createCircularString
    - auto::hasM
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::getCoordinateDimension
    - auto::getCoordinates
    - auto::getCoordinatesRO
    - auto::getArea
    - auto::getLength
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:70,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:71,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:71,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:72,1
    - Dst: isCollection
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:72,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:75,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:75,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:76,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:77,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:78,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:79,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:81,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:84,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:85,1
    - Dst: isLineal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:86,1
    - Dst: isPuntal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:87,1
    - Dst: isPolygonal
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:88,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:89,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:90,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:91,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:92,1
    - Dst: isMixedDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:93,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:96,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:97,1
    - Dst: hasM
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:98,1
    - Dst: getCoordinateDimension
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:101,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:102,1
    - Dst: getCoordinate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:102,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure
    - isCollection
    - isMixedDimension
    - getDimension
    - getEnvelopeInternal
    - getGeometryTypeId
    - getCoordinate
    - getNumPoints
    - isPuntal
    - getNumGeometries
    - isLineal
    - getLength
    - isPolygonal
    - hasDimension
    - XY
    - getCoordinates
    - getCoordinateDimension
    - getArea
    - hasZ
    - getBoundaryDimension
    - ensure_equals
    - isDimensionStrict
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:111,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:111,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:111,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:112,1
    - Dst: coveredBy
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:112,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:112,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:113,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:113,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:113,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:114,1
    - Dst: crosses
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:114,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:114,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:115,1
    - Dst: disjoint
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:115,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:115,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:116,1
    - Dst: equals
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:116,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:116,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:117,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:117,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:117,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:118,1
    - Dst: overlaps
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:118,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:118,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:119,1
    - Dst: relate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:119,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:119,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:120,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:120,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:120,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:121,1
    - Dst: within
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:121,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:121,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:125,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:125,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:126,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:126,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:126,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:129,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:129,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:130,1
    - Dst: Union
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:130,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:130,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:131,1
    - Dst: difference
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:131,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:131,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:132,1
    - Dst: intersection
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:132,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:133,1
    - Dst: symDifference
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:133,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:133,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:136,1
    - Dst: distance
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:136,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:137,1
    - Dst: isWithinDistance
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:137,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:137,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:140,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:140,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:141,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:141,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:144,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:144,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:145,1
    - Dst: buffer
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:145,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:147,1
    - Dst: getCentroid
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:147,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:151,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:153,1
    - Dst: equalsIdentical
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:153,1
    - Dst: clone
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:153,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:155,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:155,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:155,1
    - Dst: reverse
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:157,1
    - Dst: ensure_THROW
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:158,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 159
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - relate
    - touches
    - within
    - reverse
    - ensure
    - contains
    - equalsIdentical
    - auto::get
    - convexHull
    - isWithinDistance
    - clone
    - auto::normalize
    - getCentroid
    - crosses
    - difference
    - equalsExact
    - getBoundary
    - disjoint
    - buffer
    - coveredBy
    - symDifference
    - isValid
    - ensure_THROW
    - read
    - isSimple
    - intersection
    - distance
    - overlaps
    - get
    - equals
    - Union
    - covers
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:166,1
    - Dst: getCoordinateN
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:166,1
    - Dst: XY
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:166,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:167,1
    - Dst: getPointN
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:167,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:169,1
    - Dst: getStartPoint
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:169,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:170,1
    - Dst: getEndPoint
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:170,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:170,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:172,1
    - Dst: getCoordinatesRO
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:173,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:173,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:175,1
    - Dst: isCoordinate
      Src: /src/geos/tests/unit/geom/CircularStringTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/CircularStringTest.cpp
    functionUses: 0
    functionsReached:
    - XY
    - read
    - getEndPoint
    - getStartPoint
    - getCoordinateN
    - isClosed
    - isCoordinate
    - ensure
    - getCoordinatesRO
    - getPointN
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:47,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:48,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: tut::test_linearring_data
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - read
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void test_linearring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~test_linearring_data()
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_linearring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_linearring_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tut::test_linearring_data
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linearring_data(const test_linearring_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_linearring_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& operator=(const test_linearring_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_linearring_data
    signature: test_linearring_data & operator=(const test_linearring_data& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:86,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:86,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:87,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:87,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:88,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:89,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:89,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:90,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:90,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:91,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:91,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:92,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:94,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:94,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:99,1
    - Dst: geos::geom::LinearRing::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:100,1
    - Dst: geos::geom::LinearRing::isClosed
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:101,1
    - Dst: geos::geom::LinearRing::isRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:102,1
    - Dst: geos::geom::LinearRing::isSimple
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:103,1
    - Dst: geos::geom::LinearRing::isValid
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:103,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:107,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 109
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::geom::LinearRing::isEmpty
    - what
    - geos::geom::LinearRing::isValid
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - geos::geom::LinearRing::isRing
    - geos::geom::LinearRing::isSimple
    - ensure_equals
    - ensure
    - fail
    - std::move
    - Coordinate
    - geos::geom::LinearRing::isClosed
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:119,1
    - Dst: geos::geom::LinearRing::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::isEmpty
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:128,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:137,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isClosed
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:146,1
    - Dst: isRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:155,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:164,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:176,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:187,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:198,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:207,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:216,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:225,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:234,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:243,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:252,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:262,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:271,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:272,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:273,1
    - Dst: isRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isClosed
    - isRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:282,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:284,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:285,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:286,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:286,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:287,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:296,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:298,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:299,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:302,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:311,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:313,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:314,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:315,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:315,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:316,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:317,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - convexHull
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:327,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:336,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:337,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:347,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:356,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:357,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:366,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:367,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:367,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:371,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - ensure
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:381,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:382,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:392,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:393,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:394,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:397,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:412,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:413,1
    - Dst: dynamic_cast<LinearRingPtr>
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:415,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:418,1
    - Dst: LinearRingPtr::isValid
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:418,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:420,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:423,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 426
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - read
    - LinearRingPtr::isValid
    - ensure
    - fail
    - auto::get
    - dynamic_cast<LinearRingPtr>
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:434,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:437,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:446,1
    - Dst: auto::createLinearRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:447,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:449,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createLinearRing
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:458,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:458,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:459,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:468,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:468,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:469,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:479,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:491,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:492,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:495,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 498
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:47,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:48,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: tut::test_linearring_data
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    - read
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void test_linearring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ~test_linearring_data()
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_linearring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_linearring_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: tut::test_linearring_data
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linearring_data(const test_linearring_data& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_linearring_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& operator=(const test_linearring_data& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_linearring_data
    signature: test_linearring_data & operator=(const test_linearring_data& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:86,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:86,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:87,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:87,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:88,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:89,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:89,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:90,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:90,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:91,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:91,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:92,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:94,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:94,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:99,1
    - Dst: geos::geom::LinearRing::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:100,1
    - Dst: geos::geom::LinearRing::isClosed
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:101,1
    - Dst: geos::geom::LinearRing::isRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:101,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:102,1
    - Dst: geos::geom::LinearRing::isSimple
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:103,1
    - Dst: geos::geom::LinearRing::isValid
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:103,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:107,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 109
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::geom::LinearRing::isEmpty
    - what
    - geos::geom::LinearRing::isValid
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - geos::geom::LinearRing::isRing
    - geos::geom::LinearRing::isSimple
    - ensure_equals
    - ensure
    - fail
    - std::move
    - Coordinate
    - geos::geom::LinearRing::isClosed
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:119,1
    - Dst: geos::geom::LinearRing::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::isEmpty
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:128,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:137,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isClosed
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:146,1
    - Dst: isRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:155,1
    - Dst: isSimple
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:164,1
    - Dst: isValid
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - isValid
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:176,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:187,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:198,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:207,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:216,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:225,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:234,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:243,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:252,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:262,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:271,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:272,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:272,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:273,1
    - Dst: isRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isClosed
    - isRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:282,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:284,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:285,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:286,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:286,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:287,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:296,1
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:298,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:299,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:302,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:311,1
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:313,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:314,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:315,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:315,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:316,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:316,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:317,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - convexHull
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:327,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:336,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:337,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:347,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:356,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:357,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:366,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:367,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:367,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:371,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - ensure
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:381,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:382,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:392,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:393,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:394,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:397,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:412,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:413,1
    - Dst: dynamic_cast<LinearRingPtr>
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:415,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:416,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:418,1
    - Dst: LinearRingPtr::isValid
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:418,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:420,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:423,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 426
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - read
    - LinearRingPtr::isValid
    - ensure
    - fail
    - auto::get
    - dynamic_cast<LinearRingPtr>
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:434,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:437,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:446,1
    - Dst: auto::createLinearRing
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:447,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:449,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createLinearRing
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:458,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:458,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:459,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:468,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:468,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:469,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:479,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:490,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:491,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:492,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:495,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LinearRingTest.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 498
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LinearRingTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tut::test_coordinatelist_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinatelist_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:49,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:50,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:51,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:57,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:57,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:59,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:62,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:62,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:71,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:74,1
    - Dst: geos::geom::CoordinateList::erase
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:78,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:78,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:85,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:87,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:89,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:89,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:91,1
    - Dst: geos::geom::CoordinateList::erase
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:98,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:98,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 105
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateList::insert
    - geos::geom::CoordinateList::end
    - ensure_equals
    - geos::geom::CoordinateList::erase
    - geos::geom::CoordinateList::size
    - std::vector<Coordinate>::vector<Coordinate>
    - geos::geom::CoordinateList::begin
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:116,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:116,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:118,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:119,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:119,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:121,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:121,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:122,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:122,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:124,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:124,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:125,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:125,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:127,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:127,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:128,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:128,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:130,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:132,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:133,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateList::insert
    - geos::geom::CoordinateList::end
    - ensure_equals
    - geos::geom::CoordinateList::size
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:148,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:149,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:150,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:151,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:152,1
    - Dst: geos::geom::CoordinateList::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:155,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:158,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:159,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:160,1
    - Dst: geos::geom::CoordinateList::erase
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:169,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:169,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:169,1
    - Dst: geos::geom::CoordinateList::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:171,1
    - Dst: geos::geom::CoordinateList::empty
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateList::end
    - geos::geom::CoordinateList::empty
    - ensure_equals
    - geos::geom::CoordinateList::erase
    - std::vector<Coordinate>::vector<Coordinate>
    - geos::geom::CoordinateList::begin
    - std::unique_ptr::push_back
    - geos::geom::CoordinateList::closeRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: tut::test_coordinatelist_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinatelist_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:49,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:50,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:51,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:52,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:57,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:57,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:59,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:62,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:62,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:65,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:71,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:74,1
    - Dst: geos::geom::CoordinateList::erase
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:78,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:78,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:85,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:87,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:89,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:89,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:91,1
    - Dst: geos::geom::CoordinateList::erase
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:98,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:98,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:101,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 105
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateList::insert
    - geos::geom::CoordinateList::end
    - ensure_equals
    - geos::geom::CoordinateList::erase
    - geos::geom::CoordinateList::size
    - std::vector<Coordinate>::vector<Coordinate>
    - geos::geom::CoordinateList::begin
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:116,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:116,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:118,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:119,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:119,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:121,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:121,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:122,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:122,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:124,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:124,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:125,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:125,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:127,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:127,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:128,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:128,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:130,1
    - Dst: geos::geom::CoordinateList::insert
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:132,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:133,1
    - Dst: geos::geom::CoordinateList::size
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateList::insert
    - geos::geom::CoordinateList::end
    - ensure_equals
    - geos::geom::CoordinateList::size
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:148,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:149,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:150,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:151,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:152,1
    - Dst: geos::geom::CoordinateList::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:155,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:158,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:159,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:160,1
    - Dst: geos::geom::CoordinateList::erase
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:169,1
    - Dst: geos::geom::CoordinateList::begin
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:169,1
    - Dst: geos::geom::CoordinateList::end
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:169,1
    - Dst: geos::geom::CoordinateList::closeRing
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:171,1
    - Dst: geos::geom::CoordinateList::empty
      Src: /src/geos/tests/unit/geom/CoordinateListTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateListTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateList::end
    - geos::geom::CoordinateList::empty
    - ensure_equals
    - geos::geom::CoordinateList::erase
    - std::vector<Coordinate>::vector<Coordinate>
    - geos::geom::CoordinateList::begin
    - std::unique_ptr::push_back
    - geos::geom::CoordinateList::closeRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:45,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:46,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:47,1
    - Dst: assert
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:49,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:51,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:52,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:53,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:54,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != empty_line_)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/geos/tests/unit/geom/LineStringTest.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: tut::test_linestring_data
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - geos::geom::GeometryFactory::create
    - get
    - assert
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void test_linestring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ~test_linestring_data()
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_linestring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:81,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:84,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:86,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:87,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:88,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isSimple
    - auto::isValid
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - ensure
    - auto::isEmpty
    - std::move
    - createLineString
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:103,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:105,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:106,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:106,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:107,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:109,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:109,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:112,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:114,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:115,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:116,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:118,1
    - Dst: auto::isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:119,1
    - Dst: auto::isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:119,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:124,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:128,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:128,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:132,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:134,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:135,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:136,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:137,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:138,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:139,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:140,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 141
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - std::move
    - auto::isRing
    - auto::add
    - auto::size
    - auto::isClosed
    - auto::isSimple
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - auto::getLength
    - auto::convexHull
    - Coordinate
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getEnvelope
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:152,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:153,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:154,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:157,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:157,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:158,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - what
    - geos::geom::Coordinate
    - ensure_equals
    - ensure
    - fail
    - std::move
    - createLineString
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:182,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:184,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:184,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:185,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:185,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:186,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:188,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:188,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:191,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:191,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:198,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:199,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:200,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:202,1
    - Dst: auto::isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:203,1
    - Dst: auto::isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:203,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:207,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:208,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:208,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:210,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:211,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:212,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:212,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:216,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:218,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:218,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:219,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:219,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:220,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:221,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:222,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:222,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:223,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - ensure
    - auto::getNumPoints
    - std::move
    - auto::getDimension
    - auto::isRing
    - auto::add
    - auto::size
    - auto::isClosed
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - Coordinate
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - geos::detail::make_unique<CoordinateSequence>
    - auto::clone
    - ensure_equals
    - auto::getArea
    - auto::getEnvelope
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:232,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:232,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:233,1
    - Dst: isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isClosed
    - isRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:242,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:244,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:254,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:255,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:264,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:265,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:266,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:275,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:284,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:293,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:302,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:311,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:320,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:329,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:330,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:332,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:332,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:335,1
    - Dst: LineStringPtr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:335,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:336,1
    - Dst: LineStringPtr::isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:336,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:337,1
    - Dst: LineStringPtr::isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:337,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:338,1
    - Dst: LineStringPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<LineStringPtr>
    - read
    - LineStringPtr::isEmpty
    - ensure
    - LineStringPtr::getCoordinateDimension
    - LineStringPtr::isRing
    - auto::get
    - LineStringPtr::isClosed
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:347,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:348,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:350,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:350,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:351,1
    - Dst: LineStringPtr::getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:353,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:355,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:355,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:356,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<LineStringPtr>
    - read
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::get
    - LineStringPtr::getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:365,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:366,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:368,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:368,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:369,1
    - Dst: LineStringPtr::getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:372,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:373,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:373,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:374,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:374,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:375,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<LineStringPtr>
    - read
    - LineStringPtr::getBoundary
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::get
    - auto::getDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:384,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:385,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:387,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:387,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:388,1
    - Dst: LineStringPtr::convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:390,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:391,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:392,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:392,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:393,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:393,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:394,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - LineStringPtr::convexHull
    - dynamic_cast<LineStringPtr>
    - read
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::get
    - auto::getDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:406,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - read
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:416,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:418,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:427,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:428,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:430,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getBoundaryDimension
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:441,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:443,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getNumPoints
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:455,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:457,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:457,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:459,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:459,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 461
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getLength
    - std::fabs
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:469,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:470,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:472,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - read
    - auto::getArea
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:481,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:482,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:485,1
    - Dst: auto::getGeometryType
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - read
    - auto::getGeometryType
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:494,1
    - Dst: auto::createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:495,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:497,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createLineString
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:506,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:506,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:507,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:516,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:518,1
    - Dst: std::unique_ptr::isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:518,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:519,1
    - Dst: std::unique_ptr::isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::unique_ptr::isDimensionStrict
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:529,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:530,1
    - Dst: dynamic_cast<geos::geom::LineString *>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:531,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - ensure
    - std::unique_ptr::get
    - dynamic_cast<geos::geom::LineString *>
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:541,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:543,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:543,1
    - Dst: auto::releaseCoordinates
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:545,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:546,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::releaseCoordinates
    - read
    - geos::geom::Envelope
    - ensure_equals
    - auto::getSize
    - auto::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:561,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:563,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:563,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:564,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:564,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:565,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:565,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:566,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:566,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:570,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:570,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:571,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:571,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:572,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:575,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 579
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - what
    - ensure_equals
    - ensure
    - auto::isEmpty
    - fail
    - createLinearRing
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:587,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:588,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:588,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:589,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:599,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:600,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:600,1
    - Dst: auto::getPointN
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:601,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:602,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 604
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getPointN
    - ensure_equals
    - auto::getCoordinateDimension
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:611,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:612,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:612,1
    - Dst: auto::getPointN
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:613,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:614,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 616
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getPointN
    - ensure_equals
    - auto::getCoordinateDimension
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:623,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:624,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:624,1
    - Dst: auto::getPointN
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:625,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:626,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getPointN
    - ensure_equals
    - auto::getCoordinateDimension
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:45,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:46,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:47,1
    - Dst: assert
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:49,1
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:51,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:52,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:53,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:54,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != empty_line_)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/geos/tests/unit/geom/LineStringTest.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: tut::test_linestring_data
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - geos::geom::GeometryFactory::create
    - get
    - assert
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void test_linestring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ~test_linestring_data()
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_linestring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:80,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:81,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:84,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:86,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:87,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:88,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isSimple
    - auto::isValid
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - ensure
    - auto::isEmpty
    - std::move
    - createLineString
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:103,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:105,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:106,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:106,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:107,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:109,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:109,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:112,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:114,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:115,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:116,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:118,1
    - Dst: auto::isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:119,1
    - Dst: auto::isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:119,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:122,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:124,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:128,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:128,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:132,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:134,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:135,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:136,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:137,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:138,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:139,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:139,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:140,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 141
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - ensure
    - auto::getCoordinateDimension
    - auto::getNumPoints
    - auto::getDimension
    - std::move
    - auto::isRing
    - auto::add
    - auto::size
    - auto::isClosed
    - auto::isSimple
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - auto::getLength
    - auto::convexHull
    - Coordinate
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - ensure_equals
    - auto::getArea
    - auto::getEnvelope
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:152,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:153,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:154,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:157,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:157,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:158,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - what
    - geos::geom::Coordinate
    - ensure_equals
    - ensure
    - fail
    - std::move
    - createLineString
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:181,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:182,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:184,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:184,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:185,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:185,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:186,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:186,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:188,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:188,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:191,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:191,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:194,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:198,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:199,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:199,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:200,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:202,1
    - Dst: auto::isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:203,1
    - Dst: auto::isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:203,1
    - Dst: auto::getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:206,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:207,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:208,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:208,1
    - Dst: auto::getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:210,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:211,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:212,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:212,1
    - Dst: auto::convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:214,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:215,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:216,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:218,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:218,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:219,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:219,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:220,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:221,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:222,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:222,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:223,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - ensure
    - auto::getNumPoints
    - std::move
    - auto::getDimension
    - auto::isRing
    - auto::add
    - auto::size
    - auto::isClosed
    - auto::isSimple
    - auto::getLength
    - auto::convexHull
    - Coordinate
    - std::unique_ptr::isEmpty
    - auto::isEmpty
    - auto::getBoundary
    - geos::detail::make_unique<CoordinateSequence>
    - auto::clone
    - ensure_equals
    - auto::getArea
    - auto::getEnvelope
    - createLineString
    - auto::getBoundaryDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:232,1
    - Dst: isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:232,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:233,1
    - Dst: isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - isClosed
    - isRing
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:242,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:244,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - auto::isEmpty
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:254,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:255,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundary
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:264,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:265,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:266,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - convexHull
    - ensure
    - auto::isEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:275,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:284,1
    - Dst: getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getDimension
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:293,1
    - Dst: getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryDimension
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:302,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getNumPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:311,1
    - Dst: getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:320,1
    - Dst: getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:329,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:330,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:332,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:332,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:333,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:335,1
    - Dst: LineStringPtr::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:335,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:336,1
    - Dst: LineStringPtr::isClosed
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:336,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:337,1
    - Dst: LineStringPtr::isRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:337,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:338,1
    - Dst: LineStringPtr::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<LineStringPtr>
    - read
    - LineStringPtr::isEmpty
    - ensure
    - LineStringPtr::getCoordinateDimension
    - LineStringPtr::isRing
    - auto::get
    - LineStringPtr::isClosed
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:347,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:348,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:350,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:350,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:351,1
    - Dst: LineStringPtr::getEnvelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:353,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:354,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:355,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:355,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:356,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<LineStringPtr>
    - read
    - auto::getDimension
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::get
    - LineStringPtr::getEnvelope
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:365,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:366,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:368,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:368,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:369,1
    - Dst: LineStringPtr::getBoundary
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:372,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:373,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:373,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:374,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:374,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:375,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<LineStringPtr>
    - read
    - LineStringPtr::getBoundary
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::get
    - auto::getDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:384,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:385,1
    - Dst: dynamic_cast<LineStringPtr>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:387,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:387,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:388,1
    - Dst: LineStringPtr::convexHull
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:390,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:391,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:392,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:392,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:393,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:393,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:394,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - LineStringPtr::convexHull
    - dynamic_cast<LineStringPtr>
    - read
    - ensure_equals
    - ensure
    - auto::isEmpty
    - auto::get
    - auto::getDimension
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:404,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:406,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - read
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:415,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:416,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:418,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:427,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:428,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:430,1
    - Dst: auto::getBoundaryDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getBoundaryDimension
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:441,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:443,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getNumPoints
    - ensure_equals
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:454,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:455,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:457,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:457,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:459,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:459,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 461
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getLength
    - std::fabs
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:469,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:470,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:472,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - read
    - auto::getArea
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:481,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:482,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:485,1
    - Dst: auto::getGeometryType
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    - read
    - auto::getGeometryType
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:494,1
    - Dst: auto::createLineString
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:495,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:497,1
    - Dst: std::unique_ptr::getCoordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - ensure
    - auto::createLineString
    - std::unique_ptr::getCoordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:506,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:506,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:507,1
    - Dst: isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - isDimensionStrict
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:516,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:518,1
    - Dst: std::unique_ptr::isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:518,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:519,1
    - Dst: std::unique_ptr::isDimensionStrict
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::unique_ptr::isDimensionStrict
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:529,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:530,1
    - Dst: dynamic_cast<geos::geom::LineString *>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:531,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - ensure
    - std::unique_ptr::get
    - dynamic_cast<geos::geom::LineString *>
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:541,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:542,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:543,1
    - Dst: geos::geom::Envelope
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:543,1
    - Dst: auto::releaseCoordinates
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:545,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:546,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::releaseCoordinates
    - read
    - geos::geom::Envelope
    - ensure_equals
    - auto::getSize
    - auto::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:560,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:561,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:563,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:563,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:564,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:564,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:565,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:565,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:566,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:566,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:570,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:570,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:571,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:571,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:572,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:575,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 579
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - what
    - ensure_equals
    - ensure
    - auto::isEmpty
    - fail
    - createLinearRing
    - std::move
    - Coordinate
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:587,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:587,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:588,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:588,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:589,1
    - Dst: hasDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:599,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:600,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:600,1
    - Dst: auto::getPointN
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:601,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:602,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 604
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getPointN
    - ensure_equals
    - auto::getCoordinateDimension
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:611,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:612,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:612,1
    - Dst: auto::getPointN
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:613,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:614,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 616
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getPointN
    - ensure_equals
    - auto::getCoordinateDimension
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:623,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:624,1
    - Dst: auto::getCoordinateDimension
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:624,1
    - Dst: auto::getPointN
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:625,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:626,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/LineStringTest.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/LineStringTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - auto::getPointN
    - ensure_equals
    - auto::getCoordinateDimension
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: tut::test_coordinate_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinate_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_coordinate_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: tut::test_coordinate_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinate_data(test_coordinate_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_coordinate_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& operator=(test_coordinate_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_coordinate_data
    signature: test_coordinate_data & operator=(test_coordinate_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:60,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:61,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:64,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:65,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:68,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:69,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:70,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_same
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:157,1
    - Dst: geos::geom::Coordinate::equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::geom::Coordinate::equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:169,1
    - Dst: geos::geom::Coordinate::equals2D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::geom::Coordinate::equals2D
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:182,1
    - Dst: geos::geom::Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:186,1
    - Dst: geos::geom::Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::geom::Coordinate::equals3D
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:199,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:200,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:200,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:206,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:206,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:207,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:207,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:210,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Coordinate::distance
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:223,1
    - Dst: Coordinate::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:227,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:228,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:228,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:229,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:229,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:230,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:230,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:234,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:235,1
    - Dst: geos::geom::Coordinate::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:236,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:237,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:237,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:238,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:238,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:242,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:242,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:244,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:244,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:245,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:246,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:246,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:250,1
    - Dst: CoordinateXYM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:250,1
    - Dst: CoordinateXYM::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:251,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:252,1
    - Dst: CoordinateXYM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:252,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:253,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:254,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:254,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:255,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:255,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:259,1
    - Dst: CoordinateXYZM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:259,1
    - Dst: CoordinateXYZM::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:260,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:261,1
    - Dst: CoordinateXYZM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:262,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:262,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:263,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:263,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:264,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:264,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:265,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 266
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM::setNull
    - Coordinate::setNull
    - CoordinateXYZM::setNull
    - CoordinateXY::isNull
    - CoordinateXYZM::isNull
    - CoordinateXYM::isNull
    - Coordinate::isNull
    - std::isnan
    - CoordinateXY::setNull
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::getNull
    - geos::geom::Coordinate::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::UnorderedSet::emplace
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:276,1
    - Dst: Coordinate::UnorderedSet::size
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:276,1
    - Dst: Coordinate::UnorderedSet::emplace
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:278,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:279,1
    - Dst: Coordinate::UnorderedSet::size
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:279,1
    - Dst: Coordinate::UnorderedSet::emplace
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:284,1
    - Dst: Coordinate::UnorderedSet::size
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::UnorderedSet::size
    - ensure_equals
    - Coordinate::UnorderedSet::emplace
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:293,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:294,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:299,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:300,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:301,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:302,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:305,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:306,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:307,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:310,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:311,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:312,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_same
    - Coordinate
    - ensure_equals
    - CoordinateXYM
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:326,1
    - Dst: Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:326,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:326,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:330,1
    - Dst: CoordinateXYM::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:330,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:330,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:334,1
    - Dst: CoordinateXYZM::equals4D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:334,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM::equals4D
    - CoordinateXYM
    - CoordinateXYZM
    - Coordinate::equals3D
    - ensure
    - Coordinate
    - CoordinateXYM::equals3D
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:344,1
    - Dst: CoordinateXY::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:344,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:344,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:347,1
    - Dst: Coordinate::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:347,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:349,1
    - Dst: Coordinate::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:349,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:352,1
    - Dst: CoordinateXYM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:352,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:352,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:354,1
    - Dst: CoordinateXYM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:354,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:357,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:357,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:357,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:359,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:359,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:359,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:361,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:361,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:363,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:363,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 364
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM::toString
    - Coordinate::toString
    - string
    - ensure_equals
    - CoordinateXY::toString
    - CoordinateXYZM::toString
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:372,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:373,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:374,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:384,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:391,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals_xyzm
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::common_type_t<CoordinateXYM, Coordinate>
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:406,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:407,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 410
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - std::common_type_t<CoordinateXYM, Coordinate>
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:418,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:418,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:419,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:419,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:420,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:420,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:421,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:421,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:424,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:424,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:425,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:425,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:426,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:426,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:427,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:427,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:430,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:430,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:431,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:431,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:432,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:432,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:433,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:433,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:436,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:436,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:437,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:437,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:438,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:438,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:439,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 440
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::get
    - ensure_same
    - CoordinateXY::get
    - CoordinateXYZM::get
    - CoordinateXYM::get
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: tut::test_coordinate_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinate_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_coordinate_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: tut::test_coordinate_data
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_coordinate_data(test_coordinate_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_coordinate_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& operator=(test_coordinate_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_coordinate_data
    signature: test_coordinate_data & operator=(test_coordinate_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:60,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:61,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:64,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:65,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:68,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:69,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:70,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_same
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:96,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:97,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:142,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:157,1
    - Dst: geos::geom::Coordinate::equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::geom::Coordinate::equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:169,1
    - Dst: geos::geom::Coordinate::equals2D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::geom::Coordinate::equals2D
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:182,1
    - Dst: geos::geom::Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:182,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:186,1
    - Dst: geos::geom::Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::geom::Coordinate::equals3D
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:199,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:200,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:200,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:200,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:206,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:206,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:207,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:207,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:210,1
    - Dst: geos::geom::Coordinate::distance
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Coordinate::distance
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:221,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:222,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:223,1
    - Dst: Coordinate::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:226,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:227,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:227,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:228,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:228,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:229,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:229,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:230,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:230,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:234,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:235,1
    - Dst: geos::geom::Coordinate::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:235,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:236,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:237,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:237,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:238,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:238,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:242,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:242,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:243,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:244,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:244,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:245,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:245,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:246,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:246,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:250,1
    - Dst: CoordinateXYM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:250,1
    - Dst: CoordinateXYM::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:251,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:252,1
    - Dst: CoordinateXYM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:252,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:253,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:253,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:254,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:254,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:255,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:255,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:259,1
    - Dst: CoordinateXYZM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:259,1
    - Dst: CoordinateXYZM::setNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:260,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:261,1
    - Dst: CoordinateXYZM::isNull
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:262,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:262,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:263,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:263,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:264,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:264,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:265,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 266
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM::setNull
    - Coordinate::setNull
    - CoordinateXYZM::setNull
    - CoordinateXY::isNull
    - CoordinateXYZM::isNull
    - CoordinateXYM::isNull
    - Coordinate::isNull
    - std::isnan
    - CoordinateXY::setNull
    - ensure_equals
    - ensure
    - geos::io::GeoJSONValue::getNull
    - geos::geom::Coordinate::isNull
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::UnorderedSet::emplace
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:276,1
    - Dst: Coordinate::UnorderedSet::size
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:276,1
    - Dst: Coordinate::UnorderedSet::emplace
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:278,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:279,1
    - Dst: Coordinate::UnorderedSet::size
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:279,1
    - Dst: Coordinate::UnorderedSet::emplace
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:284,1
    - Dst: Coordinate::UnorderedSet::size
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::UnorderedSet::size
    - ensure_equals
    - Coordinate::UnorderedSet::emplace
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:293,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:294,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:299,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:300,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:301,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:302,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:305,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:306,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:307,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:310,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:311,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:312,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_same
    - Coordinate
    - ensure_equals
    - CoordinateXYM
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:326,1
    - Dst: Coordinate::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:326,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:326,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:330,1
    - Dst: CoordinateXYM::equals3D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:330,1
    - Dst: CoordinateXYM
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:330,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:334,1
    - Dst: CoordinateXYZM::equals4D
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:334,1
    - Dst: CoordinateXYZM
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYZM::equals4D
    - CoordinateXYM
    - CoordinateXYZM
    - Coordinate::equals3D
    - ensure
    - Coordinate
    - CoordinateXYM::equals3D
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:344,1
    - Dst: CoordinateXY::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:344,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:344,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:347,1
    - Dst: Coordinate::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:347,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:349,1
    - Dst: Coordinate::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:349,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:352,1
    - Dst: CoordinateXYM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:352,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:352,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:354,1
    - Dst: CoordinateXYM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:354,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:357,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:357,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:357,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:359,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:359,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:359,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:361,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:361,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:361,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:363,1
    - Dst: CoordinateXYZM::toString
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:363,1
    - Dst: string
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 364
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXYM::toString
    - Coordinate::toString
    - string
    - ensure_equals
    - CoordinateXY::toString
    - CoordinateXYZM::toString
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:372,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:373,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:374,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:384,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:391,1
    - Dst: ensure_equals_xyzm
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals_xyzm
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::common_type_t<CoordinateXYM, Coordinate>
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:403,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:406,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:407,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:408,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 410
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - std::common_type_t<CoordinateXYM, Coordinate>
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:418,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:418,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:419,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:419,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:420,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:420,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:421,1
    - Dst: CoordinateXY::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:421,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:424,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:424,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:425,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:425,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:426,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:426,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:427,1
    - Dst: Coordinate::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:427,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:430,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:430,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:431,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:431,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:432,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:432,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:433,1
    - Dst: CoordinateXYM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:433,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:436,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:436,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:437,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:437,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:438,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:438,1
    - Dst: ensure_same
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:439,1
    - Dst: CoordinateXYZM::get
      Src: /src/geos/tests/unit/geom/CoordinateTest.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 440
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/geom/CoordinateTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::get
    - ensure_same
    - CoordinateXY::get
    - CoordinateXYZM::get
    - CoordinateXYM::get
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: tut::test_dimension_data
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_dimension_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:66,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:67,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:68,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:69,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:70,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:71,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:71,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:74,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Dimension::toDimensionSymbol
    - ensure_equals
    - what
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:87,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:88,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:90,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::geom::Dimension::toDimensionSymbol
    - ensure
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:107,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:108,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:109,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:110,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:111,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:112,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:113,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:114,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:114,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:117,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - ensure_equals
    - what
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:130,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:131,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:133,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - ensure
    - what
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:148,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure
    - geos::io::WKTReader::read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: tut::test_dimension_data
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_dimension_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:66,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:67,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:68,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:69,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:70,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:71,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:71,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:74,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Dimension::toDimensionSymbol
    - ensure_equals
    - what
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:87,1
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:88,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:90,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::geom::Dimension::toDimensionSymbol
    - ensure
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:107,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:108,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:108,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:109,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:110,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:111,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:112,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:113,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:113,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:114,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:114,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:117,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - ensure_equals
    - what
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:130,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:131,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:133,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - ensure
    - what
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:148,1
    - Dst: auto::getDimension
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/DimensionTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/DimensionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getDimension
    - ensure
    - geos::io::WKTReader::read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:30,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:31,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: tut::test_touches_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_touches_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:59,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:59,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:60,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:60,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:77,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:77,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:78,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:78,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:87,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:95,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:95,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:96,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:96,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:105,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:113,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:114,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:114,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:127,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:130,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:130,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:131,1
    - Dst: GeomPtr::disjoint
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:131,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:132,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readHEX
    - GeomPtr::intersects
    - GeomPtr::touches
    - GeomPtr::disjoint
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:146,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:149,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:149,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:150,1
    - Dst: GeomPtr::disjoint
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:150,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:151,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readHEX
    - GeomPtr::intersects
    - GeomPtr::touches
    - GeomPtr::disjoint
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:164,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:168,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:168,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:169,1
    - Dst: GeomPtr::disjoint
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:169,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:170,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:170,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readHEX
    - GeomPtr::intersects
    - GeomPtr::touches
    - GeomPtr::disjoint
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:30,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:31,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: tut::test_touches_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_touches_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:59,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:59,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:60,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:60,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:77,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:77,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:78,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:78,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:87,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:95,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:95,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:96,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:96,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:105,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:109,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:113,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:114,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:114,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::touches
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:127,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:130,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:130,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:130,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:131,1
    - Dst: GeomPtr::disjoint
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:131,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:131,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:132,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readHEX
    - GeomPtr::intersects
    - GeomPtr::touches
    - GeomPtr::disjoint
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:146,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:149,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:149,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:150,1
    - Dst: GeomPtr::disjoint
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:150,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:151,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readHEX
    - GeomPtr::intersects
    - GeomPtr::touches
    - GeomPtr::disjoint
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:164,1
    - Dst: readHEX
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:165,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:168,1
    - Dst: GeomPtr::touches
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:168,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:169,1
    - Dst: GeomPtr::disjoint
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:169,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:169,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:170,1
    - Dst: GeomPtr::intersects
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:170,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/touchesTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readHEX
    - GeomPtr::intersects
    - GeomPtr::touches
    - GeomPtr::disjoint
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tut::test_geometry_difference_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometry_difference_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:45,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:48,1
    - Dst: std::unique_ptr::difference
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:50,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:54,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:56,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::normalize
    - std::unique_ptr::get
    - read
    - std::unique_ptr::difference
    - auto::get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tut::test_geometry_difference_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometry_difference_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:45,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:48,1
    - Dst: std::unique_ptr::difference
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:50,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:54,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:56,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/differenceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::normalize
    - std::unique_ptr::get
    - read
    - std::unique_ptr::difference
    - auto::get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:29,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: tut::test_contains_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_contains_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:56,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:56,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:57,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:57,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:67,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:74,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:74,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:75,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:76,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:76,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::contains
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:93,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:93,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:94,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:95,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:95,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:95,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:99,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:99,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:100,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:100,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:101,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:101,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::contains
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:111,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:118,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:118,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:119,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:119,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:120,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:120,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::contains
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:29,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: tut::test_contains_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_contains_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:56,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:56,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:56,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:57,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:57,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:67,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:70,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:74,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:74,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:74,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:75,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:75,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:76,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:76,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::contains
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:93,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:93,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:93,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:94,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:94,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:95,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:95,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:95,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:97,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:99,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:99,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:100,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:100,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:101,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:101,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::contains
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:111,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:118,1
    - Dst: GeomPtr::covers
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:118,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:119,1
    - Dst: GeomPtr::coveredBy
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:119,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:120,1
    - Dst: GeomPtr::contains
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:120,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/coversTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/coversTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeomPtr::covers
    - ensure
    - GeomPtr::contains
    - GeomPtr::coveredBy
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:28,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: tut::test_geometry_clone_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometry_clone_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:47,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:50,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:53,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:53,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:54,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:55,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:55,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:64,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:67,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:70,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:70,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:71,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:72,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:72,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:81,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:84,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:87,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:87,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:88,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:89,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:89,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:98,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:101,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:104,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:105,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:106,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:106,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:115,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:118,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:121,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:121,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:122,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:123,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:123,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:132,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:135,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:137,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:137,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:138,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:139,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:139,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:147,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:150,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:152,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:152,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:152,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:153,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:154,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:154,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:28,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: tut::test_geometry_clone_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometry_clone_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:47,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:50,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:51,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:53,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:53,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:54,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:54,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:55,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:55,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:64,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:67,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:68,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:70,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:70,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:71,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:71,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:72,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:72,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:81,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:84,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:85,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:87,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:87,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:88,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:89,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:89,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:98,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:101,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:104,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:104,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:105,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:105,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:106,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:106,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:115,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:118,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:121,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:121,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:122,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:123,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:123,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:132,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:135,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:136,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:137,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:137,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:137,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:138,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:138,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:139,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:139,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:147,1
    - Dst: GeomPtr::setSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:150,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:152,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:152,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:152,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:153,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:154,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:154,1
    - Dst: GeomPtr::getSRID
      Src: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/cloneTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::clone
    - GeomPtr::getSRID
    - read
    - GeomPtr::get
    - GeomPtr::setSRID
    - ensure_equals
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tut::test_geom_getcentroid_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geom_getcentroid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:36,1
    - Dst: GeomPtr::getCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:37,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:38,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:38,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inputWkt
    - expectedWKT
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: tut::checkCentroid
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 4
    functionsReached:
    - GeomPtr::get
    - tut::ensure_equals_geometry
    - GeomPtr::getCentroid
    - read
    linkageType: ''
    returnType: void
    signature: void checkCentroid(std::string inputWkt, std::string expectedWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tut::test_geom_getcentroid_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geom_getcentroid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:36,1
    - Dst: GeomPtr::getCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:37,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:38,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:38,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inputWkt
    - expectedWKT
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: tut::checkCentroid
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 4
    functionsReached:
    - GeomPtr::get
    - tut::ensure_equals_geometry
    - GeomPtr::getCentroid
    - read
    linkageType: ''
    returnType: void
    signature: void checkCentroid(std::string inputWkt, std::string expectedWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCentroid
      Src: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/getCentroidTest.cpp
    functionUses: 0
    functionsReached:
    - checkCentroid
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: tut::test_totext_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_totext_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp:54,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GeomPtr::toText
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: tut::test_totext_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_totext_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp:53,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp:54,1
    - Dst: GeomPtr::toText
      Src: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/toTextTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - GeomPtr::toText
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: tut::test_isrectangle_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_isrectangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:43,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:55,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:68,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:80,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:92,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:104,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:116,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: tut::test_isrectangle_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_isrectangle_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:42,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:43,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:55,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:68,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:80,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:92,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:103,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:104,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:116,1
    - Dst: auto::isRectangle
      Src: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/isRectangleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isRectangle
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: tut::test_equals_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_equals_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:47,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:47,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:50,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:50,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:51,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:51,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:54,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:54,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:55,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:55,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:56,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:56,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:56,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:59,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:59,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:60,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:60,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:61,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:61,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:62,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::equals
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: tut::test_equals_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_equals_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:46,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:47,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:47,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:49,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:50,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:50,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:50,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:51,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:51,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:54,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:54,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:54,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:55,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:55,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:56,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:56,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:56,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:58,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:59,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:59,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:60,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:60,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:60,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:61,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:61,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:62,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/equalsTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::equals
    - GeomPtr::get
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: tut::test_geometry_normalize_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometry_normalize_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:36,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:36,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:38,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:38,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:44,1
    - Dst: GeomPtr::hasZ
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:44,1
    - Dst: GeomPtr::hasZ
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:45,1
    - Dst: GeomPtr::hasM
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:45,1
    - Dst: GeomPtr::hasM
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:45,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:47,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:47,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:52,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:52,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:54,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:57,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:58,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:59,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:59,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - from
    - exp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GeomPtr::clone
    - GeomPtr::hasM
    - read
    - GeomPtr::hasZ
    - tut::ensure_equals
    - GeomPtr::get
    - GeomPtr::normalize
    - GeomPtr::equalsExact
    - write
    linkageType: ''
    returnType: void
    signature: void runTest(const char* from, const char* exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 219
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:240,1
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: tut::test_geometry_normalize_data
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometry_normalize_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:35,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:36,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:36,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:38,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:38,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:44,1
    - Dst: GeomPtr::hasZ
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:44,1
    - Dst: GeomPtr::hasZ
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:45,1
    - Dst: GeomPtr::hasM
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:45,1
    - Dst: GeomPtr::hasM
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:45,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:47,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:47,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:52,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:52,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:54,1
    - Dst: GeomPtr::clone
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:57,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:58,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:59,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:59,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - from
    - exp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: tut::runTest
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GeomPtr::clone
    - GeomPtr::hasM
    - read
    - GeomPtr::hasZ
    - tut::ensure_equals
    - GeomPtr::get
    - GeomPtr::normalize
    - GeomPtr::equalsExact
    - write
    linkageType: ''
    returnType: void
    signature: void runTest(const char* from, const char* exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 219
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:240,1
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/Geometry/normalizeTest.cpp
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:39,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::test_geometryextracter_data
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometryextracter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:63,1
    - Dst: GeometryExtracter::extract<Point>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:67,1
    - Dst: GeometryExtracter::extract<LineString>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:70,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryExtracter::extract<Point>
    - ensure_equals
    - GeometryExtracter::extract<LineString>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:84,1
    - Dst: GeometryExtracter::extract<Point>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:90,1
    - Dst: GeometryExtracter::extract<LineString>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:91,1
    - Dst: GeometryExtracter::extract<Polygon>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:94,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:95,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:96,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryExtracter::extract<Polygon>
    - read
    - GeometryExtracter::extract<Point>
    - ensure_equals
    - GeometryExtracter::extract<LineString>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:39,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::test_geometryextracter_data
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_geometryextracter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:63,1
    - Dst: GeometryExtracter::extract<Point>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:67,1
    - Dst: GeometryExtracter::extract<LineString>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:68,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:70,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:70,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryExtracter::extract<Point>
    - ensure_equals
    - GeometryExtracter::extract<LineString>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:84,1
    - Dst: GeometryExtracter::extract<Point>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:90,1
    - Dst: GeometryExtracter::extract<LineString>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:91,1
    - Dst: GeometryExtracter::extract<Polygon>
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:92,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:94,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:95,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:95,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:96,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryExtracterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryExtracter::extract<Polygon>
    - read
    - GeometryExtracter::extract<Point>
    - ensure_equals
    - GeometryExtracter::extract<LineString>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_geometrylister_data
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometrylister_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:32,1
    - Dst: geos::index::strtree::ItemsListItem::get_itemslist
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:34,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:34,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:35,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - nSingletons
    argTypes:
    - std::string
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: tut::checkList
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - std::vector::size
    - geos::index::strtree::ItemsListItem::get_itemslist
    linkageType: ''
    returnType: void
    signature: void checkList(const std::string& wkt, std::size_t nSingletons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkList
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached:
    - checkList
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkList
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached:
    - checkList
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tut::test_geometrylister_data
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometrylister_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:32,1
    - Dst: geos::index::strtree::ItemsListItem::get_itemslist
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:34,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:34,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:35,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - nSingletons
    argTypes:
    - std::string
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: tut::checkList
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - std::vector::size
    - geos::index::strtree::ItemsListItem::get_itemslist
    linkageType: ''
    returnType: void
    signature: void checkList(const std::string& wkt, std::size_t nSingletons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkList
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached:
    - checkList
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkList
      Src: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryListerTest.cpp
    functionUses: 0
    functionsReached:
    - checkList
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:36,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:38,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:38,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:38,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:39,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:39,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:41,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:41,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:41,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:42,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:42,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::util::GeometryCombiner::combine
    - auto::get
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:50,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:51,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:54,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:54,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:57,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:57,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::util::GeometryCombiner::combine
    - auto::get
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:66,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:67,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:67,1
    - Dst: GeometryCombiner::setSkipEmpty
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:70,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:72,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:74,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryCombiner::setSkipEmpty
    - auto::get
    - std::vector::push_back
    - GeometryCombiner::combine
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:81,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:82,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:84,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:84,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:84,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:85,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:85,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:91,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:91,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:91,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:92,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:92,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::util::GeometryCombiner::combine
    - auto::clone
    - auto::get
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:101,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:101,1
    - Dst: GeometryCombiner::setSkipEmpty
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:104,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:106,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:108,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryCombiner::setSkipEmpty
    - auto::get
    - GeometryCombiner::combine
    - std::vector::emplace_back
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:119,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:121,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - GeometryCombiner::combine
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:36,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:38,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:38,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:38,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:39,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:39,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:41,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:41,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:41,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:42,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:42,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::util::GeometryCombiner::combine
    - auto::get
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:49,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:50,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:51,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:53,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:54,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:54,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:56,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:57,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:57,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::util::GeometryCombiner::combine
    - auto::get
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:66,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:66,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:67,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:67,1
    - Dst: GeometryCombiner::setSkipEmpty
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:70,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:72,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:74,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryCombiner::setSkipEmpty
    - auto::get
    - std::vector::push_back
    - GeometryCombiner::combine
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:81,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:82,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:84,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:84,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:84,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:85,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:85,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:91,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:91,1
    - Dst: std::move
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:91,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:92,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:92,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::geom::util::GeometryCombiner::combine
    - auto::clone
    - auto::get
    - std::move
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:101,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:101,1
    - Dst: GeometryCombiner::setSkipEmpty
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:104,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:106,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:108,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeometryCombiner::setSkipEmpty
    - auto::get
    - GeometryCombiner::combine
    - std::vector::emplace_back
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:119,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:121,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryCombinerTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - GeometryCombiner::combine
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tut::test_geometryfixer_data
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometryfixer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:42,1
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tut::checkFix
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkFix
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkFix(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:47,1
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tut::checkFixKeepCollapse
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkFix
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkFixKeepCollapse(const std::string& wkt, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ' wktExpected'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tut::checkFix
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 3
    functionsReached:
    - tut::checkFix
    linkageType: ''
    returnType: void
    signature: void checkFix(const Geometry* input, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ' wktExpected'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tut::checkFixKeepCollapse
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkFix
    linkageType: ''
    returnType: void
    signature: void checkFixKeepCollapse(const Geometry* input, const std::string&
      wktExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::setKeepCollapsed
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:64,1
    - Dst: GeometryFixer::getResult
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:65,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:68,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:71,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:76,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:76,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:77,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:77,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - input
    - keepCollapse
    - ' wktExpected'
    argTypes:
    - Geometry*
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: tut::checkFix
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - GeometryFixer::setKeepCollapsed
    - read
    - geos::geom::util::GeometryFixer::fix
    - GeometryFixer::getResult
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkFix(const Geometry* input, bool keepCollapse, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:82,1
    - Dst: tut::checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:83,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tut::checkFixZ
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - tut::checkFixZ
    - read
    linkageType: ''
    returnType: void
    signature: void checkFixZ(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:87,1
    - Dst: tut::checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: tut::checkFixZKeepCollapse
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - tut::checkFixZ
    - read
    linkageType: ''
    returnType: void
    signature: void checkFixZKeepCollapse(const std::string& wkt, const std::string&
      wktExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::setKeepCollapsed
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:95,1
    - Dst: GeometryFixer::getResult
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:96,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:99,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:102,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:104,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:105,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:107,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:107,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:108,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:108,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:108,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:110,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:111,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:111,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - input
    - keepCollapse
    - ' wktExpected'
    argTypes:
    - Geometry*
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: tut::checkFixZ
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - GeometryFixer::setKeepCollapsed
    - read
    - geos::geom::util::GeometryFixer::fix
    - tut::ensure_equals
    - write
    - GeometryFixer::getResult
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkFixZ(const Geometry* input, bool keepCollapse, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:117,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: tut::createPoint
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryFactory::create
    - GeometryFactory::Ptr::createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> createPoint(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:156,1
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:157,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - checkFix
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:165,1
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:166,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - checkFix
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: object::test<33>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<33>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: object::test<34>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<34>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: object::test<35>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<35>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: object::test<36>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<36>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: object::test<37>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<37>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: object::test<38>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<38>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: object::test<39>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<39>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: object::test<40>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<40>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 518
    functionName: object::test<41>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<41>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: object::test<42>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<42>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: object::test<43>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<43>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: object::test<44>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<44>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: object::test<45>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<45>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: object::test<46>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<46>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: object::test<47>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<47>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: object::test<48>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<48>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: object::test<49>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixZ
    linkageType: ''
    returnType: void
    signature: void object::test<49>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: object::test<50>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<50>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: object::test<51>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixZ
    linkageType: ''
    returnType: void
    signature: void object::test<51>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixZKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: object::test<52>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixZKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<52>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tut::test_geometryfixer_data
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometryfixer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:42,1
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tut::checkFix
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 5
    functionsReached:
    - tut::checkFix
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkFix(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:47,1
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tut::checkFixKeepCollapse
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkFix
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkFixKeepCollapse(const std::string& wkt, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ' wktExpected'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tut::checkFix
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 7
    functionsReached:
    - tut::checkFix
    linkageType: ''
    returnType: void
    signature: void checkFix(const Geometry* input, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ' wktExpected'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tut::checkFixKeepCollapse
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkFix
    linkageType: ''
    returnType: void
    signature: void checkFixKeepCollapse(const Geometry* input, const std::string&
      wktExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::setKeepCollapsed
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:64,1
    - Dst: GeometryFixer::getResult
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:65,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:68,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:71,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:76,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:76,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:77,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:77,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - input
    - keepCollapse
    - ' wktExpected'
    argTypes:
    - Geometry*
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: tut::checkFix
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 8
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - GeometryFixer::setKeepCollapsed
    - read
    - geos::geom::util::GeometryFixer::fix
    - GeometryFixer::getResult
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkFix(const Geometry* input, bool keepCollapse, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:82,1
    - Dst: tut::checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:83,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tut::checkFixZ
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - tut::checkFixZ
    - read
    linkageType: ''
    returnType: void
    signature: void checkFixZ(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:87,1
    - Dst: tut::checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: tut::checkFixZKeepCollapse
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - tut::checkFixZ
    - read
    linkageType: ''
    returnType: void
    signature: void checkFixZKeepCollapse(const std::string& wkt, const std::string&
      wktExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::setKeepCollapsed
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:95,1
    - Dst: GeometryFixer::getResult
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:96,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:99,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:102,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:104,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:105,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:107,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:107,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:108,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:108,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:108,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:110,1
    - Dst: write
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:111,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:111,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - input
    - keepCollapse
    - ' wktExpected'
    argTypes:
    - Geometry*
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: tut::checkFixZ
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - GeometryFixer::setKeepCollapsed
    - read
    - geos::geom::util::GeometryFixer::fix
    - tut::ensure_equals
    - write
    - GeometryFixer::getResult
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkFixZ(const Geometry* input, bool keepCollapse, const std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:117,1
    - Dst: GeometryFactory::Ptr::createPoint
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: tut::createPoint
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryFactory::create
    - GeometryFactory::Ptr::createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> createPoint(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:156,1
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:157,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - checkFix
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:165,1
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:166,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - checkFix
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: object::test<33>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<33>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: object::test<34>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<34>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: object::test<35>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<35>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: object::test<36>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<36>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: object::test<37>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<37>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: object::test<38>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<38>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: object::test<39>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<39>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: object::test<40>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<40>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 518
    functionName: object::test<41>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<41>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: object::test<42>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<42>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: object::test<43>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<43>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: object::test<44>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<44>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: object::test<45>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<45>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: object::test<46>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<46>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: object::test<47>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<47>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: object::test<48>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<48>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: object::test<49>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixZ
    linkageType: ''
    returnType: void
    signature: void object::test<49>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFix
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 612
    functionName: object::test<50>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFix
    linkageType: ''
    returnType: void
    signature: void object::test<50>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixZ
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: object::test<51>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixZ
    linkageType: ''
    returnType: void
    signature: void object::test<51>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFixZKeepCollapse
      Src: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: object::test<52>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryFixerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFixZKeepCollapse
    linkageType: ''
    returnType: void
    signature: void object::test<52>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:41,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dim
    - op
    - ' wktExpected'
    argTypes:
    - std::string
    - int
    - GeometryMapper::mapOp
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: tut::checkFlatMap
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - tut::ensure_equals_geometry
    - geos::geom::util::GeometryMapper::flatMap
    - read
    linkageType: ''
    returnType: void
    signature: void checkFlatMap(const std::string& wkt, int dim, GeometryMapper::mapOp
      op, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:80,1
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:84,1
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:108,1
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:41,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dim
    - op
    - ' wktExpected'
    argTypes:
    - std::string
    - int
    - GeometryMapper::mapOp
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: tut::checkFlatMap
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - tut::ensure_equals_geometry
    - geos::geom::util::GeometryMapper::flatMap
    - read
    linkageType: ''
    returnType: void
    signature: void checkFlatMap(const std::string& wkt, int dim, GeometryMapper::mapOp
      op, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:80,1
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:84,1
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:108,1
    - Dst: checkFlatMap
      Src: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/geom/util/GeometryMapperTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlatMap
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:36,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::test_preparedgeometry_data
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_preparedgeometry_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:62,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:64,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:66,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:66,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:67,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:67,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:68,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:68,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - read
    - prepare
    - ensure
    - get
    - contains
    - covers
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:78,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:79,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:81,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:83,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:83,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:84,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:84,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - read
    - prepare
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:93,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:94,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:96,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:98,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:98,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:99,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:99,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - contains
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:36,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::test_preparedgeometry_data
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_preparedgeometry_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:62,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:64,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:66,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:66,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:66,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:67,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:67,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:68,1
    - Dst: covers
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:68,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - read
    - prepare
    - ensure
    - get
    - contains
    - covers
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:78,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:79,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:81,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:81,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:83,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:83,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:84,1
    - Dst: intersects
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:84,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - read
    - prepare
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:93,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:94,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:96,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:98,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:98,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:99,1
    - Dst: contains
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:99,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - contains
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:38,1
    - Dst: assert
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:40,1
    - Dst: assert
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == g_)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    - condition: (nullptr == pg_)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::test_preparedgeometryfactory_data
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_preparedgeometryfactory_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:74,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:76,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - prepare
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:94,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:96,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - prep::PreparedGeometryFactory::create
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmptyGeometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:111,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:113,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:114,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:116,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:116,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - get
    - createEmptyGeometry
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmptyGeometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:126,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:129,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:130,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - createEmptyGeometry
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:142,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:145,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - createPoint
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:157,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:160,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:161,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:163,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:163,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:173,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:175,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:176,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:178,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:178,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - get
    - createLineString
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:187,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:188,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:191,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:191,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:193,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:193,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - createLineString
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:203,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:205,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:206,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:208,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:208,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - createPolygon
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:218,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:221,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:222,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:224,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:224,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:233,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:234,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:236,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:237,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:239,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:239,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - createMultiPoint
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:248,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:249,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:252,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:252,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:253,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:255,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:255,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 256
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - prep::PreparedGeometryFactory::create
    - createMultiPoint
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:264,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:265,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:267,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:267,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:268,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:270,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:270,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:279,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:280,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:283,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:283,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:284,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:286,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:286,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:295,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:296,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:298,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:298,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:299,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:301,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:301,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - get
    - createMultiPolygon
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:311,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:314,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:314,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:315,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:317,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:317,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prep::PreparedGeometryFactory::create
    - ensure
    - createMultiPolygon
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:326,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:327,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:329,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:329,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:330,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:332,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:332,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:341,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:342,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:345,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:345,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:346,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:348,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:348,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:357,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:358,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:360,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:360,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:361,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:363,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:363,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:372,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:373,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:376,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:376,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:377,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:379,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:379,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:388,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:389,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:391,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:391,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:392,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:394,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:394,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:404,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:407,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:407,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:408,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:410,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:410,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:419,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:420,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:422,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:422,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:423,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:425,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:425,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:435,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:438,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:438,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:439,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:441,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:441,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 442
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:450,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:451,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:453,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:453,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:454,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:456,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:456,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 457
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:466,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:469,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:469,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:470,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:472,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:472,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:481,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:482,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:484,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:484,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:485,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:487,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:487,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:497,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:500,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:500,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:501,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:503,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:503,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 504
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:38,1
    - Dst: assert
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:40,1
    - Dst: assert
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr == g_)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    - condition: (nullptr == pg_)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::test_preparedgeometryfactory_data
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - assert
    - get
    linkageType: ''
    returnType: void
    signature: void test_preparedgeometryfactory_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:74,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:76,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - fail
    - prepare
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:94,1
    - Dst: fail
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:96,1
    - Dst: what
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - what
    - ensure
    - prep::PreparedGeometryFactory::create
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmptyGeometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:110,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:111,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:113,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:114,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:116,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:116,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - get
    - createEmptyGeometry
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createEmptyGeometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:126,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:129,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:129,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:130,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:132,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - createEmptyGeometry
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:142,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:144,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:145,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:147,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - createPoint
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:156,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:157,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:160,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:160,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:161,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:163,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:163,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:173,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:175,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:176,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:178,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:178,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - get
    - createLineString
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:187,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:188,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:191,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:191,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:193,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:193,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - createLineString
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:203,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:205,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:205,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:206,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:208,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:208,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - createPolygon
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:217,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:218,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:221,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:222,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:224,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:224,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:233,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:234,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:236,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:237,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:239,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:239,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - createMultiPoint
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:248,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:249,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:252,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:252,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:253,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:255,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:255,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 256
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - prep::PreparedGeometryFactory::create
    - createMultiPoint
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:264,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:265,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:267,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:267,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:268,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:270,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:270,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:279,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:280,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:283,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:283,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:284,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:286,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:286,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:295,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:296,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:298,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:298,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:299,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:301,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:301,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - ensure
    - get
    - createMultiPolygon
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPolygon
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:310,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:311,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:314,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:314,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:315,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:317,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:317,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - prep::PreparedGeometryFactory::create
    - ensure
    - createMultiPolygon
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:326,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:327,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:329,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:329,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:330,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:332,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:332,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:341,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:342,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:345,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:345,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:346,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:348,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:348,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:357,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:358,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:360,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:360,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:361,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:363,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:363,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:372,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:373,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:376,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:376,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:377,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:379,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:379,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:388,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:389,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:391,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:391,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:392,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:394,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:394,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:404,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:407,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:407,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:408,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:410,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:410,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:419,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:420,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:422,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:422,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:423,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:425,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:425,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:434,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:435,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:438,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:438,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:439,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:441,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:441,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 442
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:450,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:451,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:453,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:453,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:454,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:456,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:456,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 457
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:465,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:466,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:469,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:469,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:470,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:472,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:472,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:481,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:482,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:484,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:484,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:485,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:487,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:487,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:497,1
    - Dst: prep::PreparedGeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:500,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:500,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:501,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:503,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:503,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 504
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryFactoryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prep::PreparedGeometryFactory::create
    - ensure
    - get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:36,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::test_preparedgeometrytouches_data
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_preparedgeometrytouches_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:60,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:63,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:66,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:66,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:67,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:69,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:69,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:70,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:70,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:79,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:82,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:85,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:85,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:86,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:88,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:88,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:89,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:89,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:98,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:101,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:104,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:104,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:105,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:107,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:107,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:108,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:108,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:117,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:120,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:123,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:123,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:124,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:126,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:126,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:127,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:127,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:36,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: tut::test_preparedgeometrytouches_data
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_preparedgeometrytouches_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:60,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:63,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:66,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:66,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:67,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:69,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:69,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:69,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:70,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:70,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:79,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:82,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:85,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:85,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:86,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:88,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:88,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:88,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:89,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:89,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:98,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:101,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:104,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:104,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:105,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:107,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:107,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:108,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:108,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:117,1
    - Dst: read
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:120,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:123,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:123,1
    - Dst: prepare
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:124,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:126,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:126,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:126,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:127,1
    - Dst: touches
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:127,1
    - Dst: get
      Src: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/geom/prep/PreparedGeometryTouchesTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - prepare
    - touches
    - ensure
    - get
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:30,1
    - Dst: DD::doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:31,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - d1
    - d2
    - tolerance
    argTypes:
    - char*
    - DD
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: tut::ensure_dd_equals
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD::doubleValue
    - geos::math::DD::abs
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_dd_equals(const char *str, const DD &d1, const DD &d2,
      double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::trunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - expected
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: tut::checkTrunc
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::trunc
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkTrunc(const DD &x, const DD &expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/tests/unit/math/DDTest.cpp:43,1
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:45,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x1
    - y1
    - x2
    - y2
    - expected
    - errBound
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: tut::checkDeterminant
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::determinant
    - DD
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkDeterminant(double x1, double y1, double x2, double y2, double
      expected, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:51,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x1
    - y1
    - x2
    - y2
    - expected
    - errBound
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tut::checkDeterminantDD
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::determinant
    - DD
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkDeterminantDD(double x1, double y1, double x2, double y2,
      double expected, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:57,1
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dd
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tut::checkAddMult2
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkAddMult2(const DD &dd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - errBound
    argTypes:
    - DD
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tut::checkMultiplyDivide
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkMultiplyDivide(const DD &a, const DD &b, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - errBound
    argTypes:
    - DD
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tut::checkDivideMultiply
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkDivideMultiply(const DD &a, const DD &b, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:93,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:94,1
    - Dst: DD::isZero
      Src: /src/geos/tests/unit/math/DDTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: tut::checkBinomialSquare
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - DD::isZero
    linkageType: ''
    returnType: void
    signature: void checkBinomialSquare(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/geos/tests/unit/math/DDTest.cpp:111,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:114,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:115,1
    - Dst: DD::isZero
      Src: /src/geos/tests/unit/math/DDTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: tut::checkBinomial2
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD::isZero
    - tut::ensure
    - negate
    linkageType: ''
    returnType: void
    signature: void checkBinomial2(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::reciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:121,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:122,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - errBound
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: tut::checkReciprocal
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - doubleValue
    - DD::reciprocal
    linkageType: ''
    returnType: void
    signature: void checkReciprocal(double x, double errBound)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:129,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:131,1
    - Dst: DD::reciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - exp
    argTypes:
    - DD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: tut::slowPow
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - std::abs
    - DD::reciprocal
    linkageType: ''
    returnType: DD
    signature: DD slowPow(const DD &x, int exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::pow
      Src: /src/geos/tests/unit/math/DDTest.cpp:146,1
    - Dst: tut::slowPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:147,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:148,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - errBound
    argTypes:
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: tut::checkPow
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::math::DD::pow
    - doubleValue
    - tut::slowPow
    linkageType: ''
    returnType: void
    signature: void checkPow(double x, int exp, double errBound)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD::doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: tut::arctan
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD::doubleValue
    linkageType: ''
    returnType: DD
    signature: DD arctan(DD x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:187,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: tut::computeEByTaylorSeries
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD::doubleValue
    - DD
    linkageType: ''
    returnType: DD
    signature: DD computeEByTaylorSeries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:205,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:205,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:206,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:206,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:207,1
    - Dst: tut::arctan
      Src: /src/geos/tests/unit/math/DDTest.cpp:207,1
    - Dst: tut::arctan
      Src: /src/geos/tests/unit/math/DDTest.cpp:207,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: tut::computePiByMachine
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - tut::arctan
    linkageType: ''
    returnType: DD
    signature: DD computePiByMachine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:214,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: tut::test_dd_data
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    linkageType: ''
    returnType: void
    signature: void test_dd_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computePiByMachine
      Src: /src/geos/tests/unit/math/DDTest.cpp:235,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:236,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - computePiByMachine
    - ensure
    - std::abs
    - doubleValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeEByTaylorSeries
      Src: /src/geos/tests/unit/math/DDTest.cpp:247,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:248,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:248,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - computeEByTaylorSeries
    - doubleValue
    - std::abs
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:260,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:260,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:261,1
    - Dst: DD::isNaN
      Src: /src/geos/tests/unit/math/DDTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:262,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:262,1
    - Dst: isNaN
      Src: /src/geos/tests/unit/math/DDTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - ensure
    - DD::isNaN
    - isNaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAddMult2
      Src: /src/geos/tests/unit/math/DDTest.cpp:271,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:271,1
    - Dst: checkAddMult2
      Src: /src/geos/tests/unit/math/DDTest.cpp:272,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - checkAddMult2
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:282,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:282,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:282,1
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:285,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:285,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - checkMultiplyDivide
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDivideMultiply
      Src: /src/geos/tests/unit/math/DDTest.cpp:295,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:295,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:295,1
    - Dst: checkDivideMultiply
      Src: /src/geos/tests/unit/math/DDTest.cpp:296,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:296,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - checkDivideMultiply
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:308,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:308,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:308,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:309,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:309,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:309,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:311,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:311,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:311,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:312,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:312,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkTrunc
    - DD
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:321,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:322,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:323,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:324,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:325,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:326,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkPow
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:337,1
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:338,1
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:339,1
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkReciprocal
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDeterminant
      Src: /src/geos/tests/unit/math/DDTest.cpp:349,1
    - Dst: checkDeterminantDD
      Src: /src/geos/tests/unit/math/DDTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkDeterminantDD
    - checkDeterminant
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDeterminant
      Src: /src/geos/tests/unit/math/DDTest.cpp:359,1
    - Dst: checkDeterminantDD
      Src: /src/geos/tests/unit/math/DDTest.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkDeterminantDD
    - checkDeterminant
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:370,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:371,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:372,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:373,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:374,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:375,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:376,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:377,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:381,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:382,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkBinomialSquare
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:392,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:393,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:394,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:395,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:396,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:397,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:398,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:399,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:401,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:403,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 405
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkBinomial2
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:30,1
    - Dst: DD::doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:31,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - d1
    - d2
    - tolerance
    argTypes:
    - char*
    - DD
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: tut::ensure_dd_equals
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 5
    functionsReached:
    - DD::doubleValue
    - geos::math::DD::abs
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_dd_equals(const char *str, const DD &d1, const DD &d2,
      double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::trunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - expected
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: tut::checkTrunc
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::trunc
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkTrunc(const DD &x, const DD &expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/tests/unit/math/DDTest.cpp:43,1
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:45,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x1
    - y1
    - x2
    - y2
    - expected
    - errBound
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: tut::checkDeterminant
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::determinant
    - DD
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkDeterminant(double x1, double y1, double x2, double y2, double
      expected, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:50,1
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:51,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x1
    - y1
    - x2
    - y2
    - expected
    - errBound
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tut::checkDeterminantDD
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::determinant
    - DD
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkDeterminantDD(double x1, double y1, double x2, double y2,
      double expected, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:57,1
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dd
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: tut::checkAddMult2
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkAddMult2(const DD &dd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - errBound
    argTypes:
    - DD
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tut::checkMultiplyDivide
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkMultiplyDivide(const DD &a, const DD &b, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_dd_equals
      Src: /src/geos/tests/unit/math/DDTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - errBound
    argTypes:
    - DD
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: tut::checkDivideMultiply
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_dd_equals
    linkageType: ''
    returnType: void
    signature: void checkDivideMultiply(const DD &a, const DD &b, double errBound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:93,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:94,1
    - Dst: DD::isZero
      Src: /src/geos/tests/unit/math/DDTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: tut::checkBinomialSquare
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - DD::isZero
    linkageType: ''
    returnType: void
    signature: void checkBinomialSquare(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/geos/tests/unit/math/DDTest.cpp:111,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:114,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:115,1
    - Dst: DD::isZero
      Src: /src/geos/tests/unit/math/DDTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: tut::checkBinomial2
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD::isZero
    - tut::ensure
    - negate
    linkageType: ''
    returnType: void
    signature: void checkBinomial2(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::reciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:121,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:122,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - errBound
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: tut::checkReciprocal
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - doubleValue
    - DD::reciprocal
    linkageType: ''
    returnType: void
    signature: void checkReciprocal(double x, double errBound)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:129,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:131,1
    - Dst: DD::reciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - exp
    argTypes:
    - DD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: tut::slowPow
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 1
    functionsReached:
    - DD
    - std::abs
    - DD::reciprocal
    linkageType: ''
    returnType: DD
    signature: DD slowPow(const DD &x, int exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::pow
      Src: /src/geos/tests/unit/math/DDTest.cpp:146,1
    - Dst: tut::slowPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:147,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:148,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - exp
    - errBound
    argTypes:
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: tut::checkPow
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::math::DD::pow
    - doubleValue
    - tut::slowPow
    linkageType: ''
    returnType: void
    signature: void checkPow(double x, int exp, double errBound)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD::doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: tut::arctan
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 1
    functionsReached:
    - DD::doubleValue
    linkageType: ''
    returnType: DD
    signature: DD arctan(DD x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:187,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: tut::computeEByTaylorSeries
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD::doubleValue
    - DD
    linkageType: ''
    returnType: DD
    signature: DD computeEByTaylorSeries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:205,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:205,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:206,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:206,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:207,1
    - Dst: tut::arctan
      Src: /src/geos/tests/unit/math/DDTest.cpp:207,1
    - Dst: tut::arctan
      Src: /src/geos/tests/unit/math/DDTest.cpp:207,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: tut::computePiByMachine
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - tut::arctan
    linkageType: ''
    returnType: DD
    signature: DD computePiByMachine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:214,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: tut::test_dd_data
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    linkageType: ''
    returnType: void
    signature: void test_dd_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computePiByMachine
      Src: /src/geos/tests/unit/math/DDTest.cpp:235,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:236,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:236,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - computePiByMachine
    - ensure
    - std::abs
    - doubleValue
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeEByTaylorSeries
      Src: /src/geos/tests/unit/math/DDTest.cpp:247,1
    - Dst: std::abs
      Src: /src/geos/tests/unit/math/DDTest.cpp:248,1
    - Dst: doubleValue
      Src: /src/geos/tests/unit/math/DDTest.cpp:248,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - computeEByTaylorSeries
    - doubleValue
    - std::abs
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:260,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:260,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:261,1
    - Dst: DD::isNaN
      Src: /src/geos/tests/unit/math/DDTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/math/DDTest.cpp:262,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:262,1
    - Dst: isNaN
      Src: /src/geos/tests/unit/math/DDTest.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - ensure
    - DD::isNaN
    - isNaN
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAddMult2
      Src: /src/geos/tests/unit/math/DDTest.cpp:271,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:271,1
    - Dst: checkAddMult2
      Src: /src/geos/tests/unit/math/DDTest.cpp:272,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - checkAddMult2
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:282,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:282,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:282,1
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:283,1
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:284,1
    - Dst: checkMultiplyDivide
      Src: /src/geos/tests/unit/math/DDTest.cpp:285,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:285,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - checkMultiplyDivide
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDivideMultiply
      Src: /src/geos/tests/unit/math/DDTest.cpp:295,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:295,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:295,1
    - Dst: checkDivideMultiply
      Src: /src/geos/tests/unit/math/DDTest.cpp:296,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:296,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - DD
    - checkDivideMultiply
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:306,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:308,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:308,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:308,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:309,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:309,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:309,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:311,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:311,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:311,1
    - Dst: checkTrunc
      Src: /src/geos/tests/unit/math/DDTest.cpp:312,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:312,1
    - Dst: DD
      Src: /src/geos/tests/unit/math/DDTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkTrunc
    - DD
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:321,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:322,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:323,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:324,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:325,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:326,1
    - Dst: checkPow
      Src: /src/geos/tests/unit/math/DDTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkPow
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:337,1
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:338,1
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:339,1
    - Dst: checkReciprocal
      Src: /src/geos/tests/unit/math/DDTest.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkReciprocal
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDeterminant
      Src: /src/geos/tests/unit/math/DDTest.cpp:349,1
    - Dst: checkDeterminantDD
      Src: /src/geos/tests/unit/math/DDTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkDeterminantDD
    - checkDeterminant
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDeterminant
      Src: /src/geos/tests/unit/math/DDTest.cpp:359,1
    - Dst: checkDeterminantDD
      Src: /src/geos/tests/unit/math/DDTest.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkDeterminantDD
    - checkDeterminant
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:370,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:371,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:372,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:373,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:374,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:375,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:376,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:377,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:381,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:382,1
    - Dst: checkBinomialSquare
      Src: /src/geos/tests/unit/math/DDTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkBinomialSquare
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:392,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:393,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:394,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:395,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:396,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:397,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:398,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:399,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:401,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:403,1
    - Dst: checkBinomial2
      Src: /src/geos/tests/unit/math/DDTest.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 405
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/math/DDTest.cpp
    functionUses: 0
    functionsReached:
    - checkBinomial2
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tut::test_lengthindexedline_data
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_lengthindexedline_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:46,1
    - Dst: tut::checkExpected
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:47,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - ' expected'
    argTypes:
    - Geometry*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: tut::checkExpected
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 1
    functionsReached:
    - GeomPtr::get
    - read
    - tut::checkExpected
    linkageType: ''
    returnType: void
    signature: void checkExpected(Geometry* result, string const& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::equalsExact
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:54,1
    - Dst: write
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:54,1
    - Dst: write
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - expected
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tut::checkExpected
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 1
    functionsReached:
    - write
    - Geometry*::equalsExact
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkExpected(Geometry* result, const Geometry* expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:60,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:61,1
    - Dst: tut::indicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:62,1
    - Dst: tut::checkExpected
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' inputStr'
    - ' subLineStr'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: tut::runIndicesOfThenExtract
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - tut::indicesOfThenExtract
    - read
    - tut::checkExpected
    linkageType: ''
    returnType: void
    signature: void runIndicesOfThenExtract(string const& inputStr, string const&
      subLineStr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexedLine::indexOf
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:73,1
    - Dst: LengthIndexedLine::indexOfAfter
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:74,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:80,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:81,1
    - Dst: Coordinate::equals2D
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:82,1
    - Dst: Coordinate::equals2D
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - linearGeom
    - testPt
    argTypes:
    - Geometry*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: tut::indexOfAfterCheck
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::equals2D
    - LengthIndexedLine::indexOfAfter
    - LengthIndexedLine::indexOf
    - LengthIndexedLine::extractPoint
    linkageType: ''
    returnType: bool
    signature: bool indexOfAfterCheck(Geometry* linearGeom, Coordinate testPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:95,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:96,1
    - Dst: GeomPtr::getCoordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:97,1
    - Dst: tut::indexOfAfterCheck
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:98,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:98,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' inputStr'
    - ' testPtWKT'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: tut::runIndexOfAfterTest
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - GeomPtr::get
    - GeomPtr::getCoordinate
    - tut::indexOfAfterCheck
    linkageType: ''
    returnType: void
    signature: void runIndexOfAfterTest(string const& inputStr, string const& testPtWKT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:106,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:107,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:108,1
    - Dst: GeomPtr::getCoordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:109,1
    - Dst: GeomPtr::getCoordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:110,1
    - Dst: tut::extractOffsetAt
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:111,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:111,1
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:113,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' inputWKT'
    - ' testPtWKT'
    - offsetDistance
    - ' expectedPtWKT'
    argTypes:
    - string
    - string
    - double
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: tut::runOffsetTest
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - GeomPtr::get
    - Coordinate::distance
    - GeomPtr::getCoordinate
    - tut::extractOffsetAt
    linkageType: ''
    returnType: void
    signature: "void runOffsetTest(string const& inputWKT, string const& testPtWKT,\n
      \                 double offsetDistance, string const& expectedPtWKT)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexedLine::indexOf
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:124,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - testPt
    - offsetDistance
    argTypes:
    - Geometry*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tut::extractOffsetAt
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 1
    functionsReached:
    - LengthIndexedLine::indexOf
    - LengthIndexedLine::extractPoint
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate extractOffsetAt(Geometry* linearGeom, Coordinate testPt,
      double offsetDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:133,1
    - Dst: LengthIndexedLine::extractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:134,1
    - Dst: tut::checkExpected
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:135,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wkt
    - start
    - end
    - expected
    argTypes:
    - char*
    - double
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: tut::checkExtractLine
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - read
    - tut::checkExpected
    - LengthIndexedLine::extractLine
    linkageType: ''
    returnType: void
    signature: void checkExtractLine(const char* wkt, double start, double end, const
      char* expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexedLine::indicesOf
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:143,1
    - Dst: LengthIndexedLine::extractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - linearGeom
    - subLine
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: tut::indicesOfThenExtract
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 1
    functionsReached:
    - LengthIndexedLine::extractLine
    - LengthIndexedLine::indicesOf
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> indicesOfThenExtract(Geometry* linearGeom,
      Geometry* subLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndexOfAfterTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndexOfAfterTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndexOfAfterTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndexOfAfterTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:285,1
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:287,1
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:289,1
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runOffsetTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:389,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:390,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:391,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:392,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:392,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:394,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:395,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - ensure
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:404,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:405,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:406,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:406,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - ensure
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:420,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:421,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:422,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:422,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:423,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:425,1
    - Dst: Coordinate::equals3D
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:425,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - Coordinate::equals3D
    - ensure
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:439,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:440,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:441,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:441,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:442,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:443,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - std::isnan
    - ensure
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:455,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:456,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:457,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:457,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:458,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:459,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - ensure_equals
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:472,1
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:476,1
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:480,1
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 487
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:494,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:497,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:499,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:499,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:500,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:502,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:502,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:504,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:504,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:505,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:507,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 508
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - ensure_equals
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:515,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:516,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:517,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:518,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - Coordinate::isNull
    - LengthIndexedLine::extractPoint
    - ensure
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: tut::test_lengthindexedline_data
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_lengthindexedline_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:46,1
    - Dst: tut::checkExpected
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:47,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - ' expected'
    argTypes:
    - Geometry*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: tut::checkExpected
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 4
    functionsReached:
    - GeomPtr::get
    - read
    - tut::checkExpected
    linkageType: ''
    returnType: void
    signature: void checkExpected(Geometry* result, string const& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::equalsExact
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:54,1
    - Dst: write
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:54,1
    - Dst: write
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - expected
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tut::checkExpected
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 4
    functionsReached:
    - write
    - Geometry*::equalsExact
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkExpected(Geometry* result, const Geometry* expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:60,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:61,1
    - Dst: tut::indicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:62,1
    - Dst: tut::checkExpected
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' inputStr'
    - ' subLineStr'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: tut::runIndicesOfThenExtract
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - tut::indicesOfThenExtract
    - read
    - tut::checkExpected
    linkageType: ''
    returnType: void
    signature: void runIndicesOfThenExtract(string const& inputStr, string const&
      subLineStr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexedLine::indexOf
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:73,1
    - Dst: LengthIndexedLine::indexOfAfter
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:74,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:80,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:81,1
    - Dst: Coordinate::equals2D
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:82,1
    - Dst: Coordinate::equals2D
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - linearGeom
    - testPt
    argTypes:
    - Geometry*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: tut::indexOfAfterCheck
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 1
    functionsReached:
    - Coordinate::equals2D
    - LengthIndexedLine::indexOfAfter
    - LengthIndexedLine::indexOf
    - LengthIndexedLine::extractPoint
    linkageType: ''
    returnType: bool
    signature: bool indexOfAfterCheck(Geometry* linearGeom, Coordinate testPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:95,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:96,1
    - Dst: GeomPtr::getCoordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:97,1
    - Dst: tut::indexOfAfterCheck
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:98,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:98,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' inputStr'
    - ' testPtWKT'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: tut::runIndexOfAfterTest
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - GeomPtr::get
    - GeomPtr::getCoordinate
    - tut::indexOfAfterCheck
    linkageType: ''
    returnType: void
    signature: void runIndexOfAfterTest(string const& inputStr, string const& testPtWKT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:106,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:107,1
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:108,1
    - Dst: GeomPtr::getCoordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:109,1
    - Dst: GeomPtr::getCoordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:110,1
    - Dst: tut::extractOffsetAt
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:111,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:111,1
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:113,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' inputWKT'
    - ' testPtWKT'
    - offsetDistance
    - ' expectedPtWKT'
    argTypes:
    - string
    - string
    - double
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: tut::runOffsetTest
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - GeomPtr::get
    - Coordinate::distance
    - GeomPtr::getCoordinate
    - tut::extractOffsetAt
    linkageType: ''
    returnType: void
    signature: "void runOffsetTest(string const& inputWKT, string const& testPtWKT,\n
      \                 double offsetDistance, string const& expectedPtWKT)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexedLine::indexOf
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:124,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - testPt
    - offsetDistance
    argTypes:
    - Geometry*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tut::extractOffsetAt
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 2
    functionsReached:
    - LengthIndexedLine::indexOf
    - LengthIndexedLine::extractPoint
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate extractOffsetAt(Geometry* linearGeom, Coordinate testPt,
      double offsetDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:133,1
    - Dst: LengthIndexedLine::extractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:134,1
    - Dst: tut::checkExpected
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:135,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wkt
    - start
    - end
    - expected
    argTypes:
    - char*
    - double
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: tut::checkExtractLine
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - read
    - tut::checkExpected
    - LengthIndexedLine::extractLine
    linkageType: ''
    returnType: void
    signature: void checkExtractLine(const char* wkt, double start, double end, const
      char* expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexedLine::indicesOf
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:143,1
    - Dst: LengthIndexedLine::extractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - linearGeom
    - subLine
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: tut::indicesOfThenExtract
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 2
    functionsReached:
    - LengthIndexedLine::extractLine
    - LengthIndexedLine::indicesOf
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> indicesOfThenExtract(Geometry* linearGeom,
      Geometry* subLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndexOfAfterTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndexOfAfterTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndexOfAfterTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndexOfAfterTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:285,1
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:287,1
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:289,1
    - Dst: runOffsetTest
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runOffsetTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:389,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:390,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:391,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:392,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:392,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:394,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:395,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - ensure
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:404,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:405,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:406,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:406,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - ensure
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:420,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:421,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:422,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:422,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:423,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:425,1
    - Dst: Coordinate::equals3D
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:425,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - Coordinate::equals3D
    - ensure
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:439,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:440,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:441,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:441,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:442,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:443,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - std::isnan
    - ensure
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:455,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:456,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:457,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:457,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:458,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:459,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - ensure_equals
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:472,1
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:476,1
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:480,1
    - Dst: checkExtractLine
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 487
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - checkExtractLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:494,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:497,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:499,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:499,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:500,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:501,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:502,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:502,1
    - Dst: LengthIndexedLine::project
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:504,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:504,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:505,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:506,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:507,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 508
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - LengthIndexedLine::extractPoint
    - ensure_equals
    - LengthIndexedLine::project
    - Coordinate
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:515,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:516,1
    - Dst: LengthIndexedLine::extractPoint
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:517,1
    - Dst: ensure
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:518,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - Coordinate::isNull
    - LengthIndexedLine::extractPoint
    - ensure
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIndicesOfThenExtract
      Src: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/linearref/LengthIndexedLineTest.cpp
    functionUses: 0
    functionsReached:
    - runIndicesOfThenExtract
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: tut::test_topologylocation_data
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_topologylocation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:40,1
    - Dst: TopologyLocation::isLine
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:41,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:44,1
    - Dst: TopologyLocation::isArea
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:45,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:46,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:47,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached:
    - TopologyLocation::get
    - TopologyLocation::isArea
    - ensure_equals
    - ensure
    - TopologyLocation::isLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:58,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:59,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:60,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:60,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:62,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:63,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:66,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:67,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:68,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached:
    - TopologyLocation::setLocation
    - ensure_equals
    - TopologyLocation::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopologyLocation::setAllLocations
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:81,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:82,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:83,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:83,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:87,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:88,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:89,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:89,1
    - Dst: TopologyLocation::setAllLocationsIfNull
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:93,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:94,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:95,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached:
    - TopologyLocation::setAllLocationsIfNull
    - TopologyLocation::get
    - TopologyLocation::setLocation
    - TopologyLocation::setAllLocations
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: tut::test_topologylocation_data
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_topologylocation_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:40,1
    - Dst: TopologyLocation::isLine
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:40,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:41,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:41,1
    - Dst: ensure
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:44,1
    - Dst: TopologyLocation::isArea
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:44,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:45,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:45,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:46,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:46,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:47,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached:
    - TopologyLocation::get
    - TopologyLocation::isArea
    - ensure_equals
    - ensure
    - TopologyLocation::isLine
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:58,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:58,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:59,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:60,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:60,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:62,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:63,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:66,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:67,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:68,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached:
    - TopologyLocation::setLocation
    - ensure_equals
    - TopologyLocation::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopologyLocation::setAllLocations
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:81,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:82,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:83,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:83,1
    - Dst: TopologyLocation::setLocation
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:87,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:88,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:89,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:89,1
    - Dst: TopologyLocation::setAllLocationsIfNull
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:91,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:93,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:94,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:95,1
    - Dst: TopologyLocation::get
      Src: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/geomgraph/TopologyLocationTest.cpp
    functionUses: 0
    functionsReached:
    - TopologyLocation::setAllLocationsIfNull
    - TopologyLocation::get
    - TopologyLocation::setLocation
    - TopologyLocation::setAllLocations
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 41
    functionName: ensure_THROW
    functionSourceFile: /src/geos/tests/unit/tut/tut_macros.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ensure_THROW(x, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: ensure_NO_THROW
    functionSourceFile: /src/geos/tests/unit/tut/tut_macros.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ensure_NO_THROW( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: TUT_TESTCASE
    functionSourceFile: /src/geos/tests/unit/tut/tut_macros.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TUT_TESTCASE(object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: tut::tut_error
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tut_error(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_exception.hpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tut::what
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 2
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: ~tut_error() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~tut_error() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' grp'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tut::no_such_group
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void no_such_group(const std::string& grp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: ~no_such_group() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~no_such_group() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' grp'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tut::no_such_test
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void no_such_test(const std::string& grp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: ~no_such_test() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~no_such_test() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: tut::bad_ctor
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bad_ctor(const std::string& msg)
  - 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: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: ~bad_ctor() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bad_ctor() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tut::failure
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void failure(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: ~failure() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~failure() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: tut::warning
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warning(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: ~warning() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~warning() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: tut::seh
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void seh(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - 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: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: ~seh() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~seh() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_result
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: tut::rethrown
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rethrown(const test_result &p_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: ~rethrown() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~rethrown() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: tut::skipped
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void skipped(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: ~skipped() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~skipped() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: tut::tut_error
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tut_error(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_exception.hpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: tut::what
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 2
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: ~tut_error() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~tut_error() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' grp'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tut::no_such_group
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void no_such_group(const std::string& grp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: ~no_such_group() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~no_such_group() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' grp'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tut::no_such_test
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void no_such_test(const std::string& grp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: ~no_such_test() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~no_such_test() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: tut::bad_ctor
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bad_ctor(const std::string& msg)
  - 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: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: ~bad_ctor() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~bad_ctor() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tut::failure
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void failure(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: ~failure() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~failure() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: tut::warning
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warning(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: ~warning() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~warning() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: tut::seh
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void seh(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - 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: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: ~seh() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~seh() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_result
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: tut::rethrown
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rethrown(const test_result &p_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: ~rethrown() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~rethrown() throw() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: tut::skipped
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void skipped(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: tut::result
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_result::result_type
    signature: test_result::result_type result() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: tut::type
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: ~skipped() throw() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_exception.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~skipped() throw() override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:58,1
    - Dst: groupnames::begin
      Src: /src/geos/tests/unit/tut/tut_main.hpp:60,1
    - Dst: groupnames::end
      Src: /src/geos/tests/unit/tut/tut_main.hpp:60,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:67,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:69,1
    - Dst: std::stringstream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_main.hpp:72,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:81,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:85,1
    - Dst: strtol
      Src: /src/geos/tests/unit/tut/tut_main.hpp:91,1
    - Dst: strlen
      Src: /src/geos/tests/unit/tut/tut_main.hpp:92,1
    - Dst: tut::no_such_test
      Src: /src/geos/tests/unit/tut/tut_main.hpp:94,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:94,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:98,1
    - Dst: tut::no_such_test
      Src: /src/geos/tests/unit/tut/tut_main.hpp:100,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 107
    functionName: tut::tut_main
    functionSourceFile: /src/geos/tests/unit/tut/tut_main.hpp
    functionUses: 0
    functionsReached:
    - std::stringstream::rdbuf
    - strtol
    - groupnames::end
    - string
    - tut::no_such_test
    - get
    - groupnames::begin
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool tut_main(int argc, const char * const * const argv, std::ostream
      &os = std::cerr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:58,1
    - Dst: groupnames::begin
      Src: /src/geos/tests/unit/tut/tut_main.hpp:60,1
    - Dst: groupnames::end
      Src: /src/geos/tests/unit/tut/tut_main.hpp:60,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:67,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:68,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:69,1
    - Dst: std::stringstream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_main.hpp:72,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:81,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:85,1
    - Dst: strtol
      Src: /src/geos/tests/unit/tut/tut_main.hpp:91,1
    - Dst: strlen
      Src: /src/geos/tests/unit/tut/tut_main.hpp:92,1
    - Dst: tut::no_such_test
      Src: /src/geos/tests/unit/tut/tut_main.hpp:94,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:94,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_main.hpp:98,1
    - Dst: tut::no_such_test
      Src: /src/geos/tests/unit/tut/tut_main.hpp:100,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_main.hpp:100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 107
    functionName: tut::tut_main
    functionSourceFile: /src/geos/tests/unit/tut/tut_main.hpp
    functionUses: 0
    functionsReached:
    - std::stringstream::rdbuf
    - strtol
    - groupnames::end
    - string
    - tut::no_such_test
    - get
    - groupnames::begin
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool tut_main(int argc, const char * const * const argv, std::ostream
      &os = std::cerr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:34,1
    - Dst: std::ofstream::ofstream
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:34,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:36,1
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: tut::cppunit_reporter::cppunit_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - good
    - c_str
    - tut_error
    - std::ofstream::ofstream
    linkageType: ''
    returnType: void
    signature: void cppunit_reporter(const std::string &filename = "testResult.xml")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tut::cppunit_reporter::cppunit_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cppunit_reporter(std::ostream &stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:51,1
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: ~cppunit_reporter()
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - release
    - empty
    linkageType: ''
    returnType: void
    signature: void ~cppunit_reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:59,1
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: tut::cppunit_reporter::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void run_started()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:65,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:69,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - tut::test_result
    assertStmts:
    - condition: (tr.result != test_result::dummy )
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: tut::cppunit_reporter::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_completed(const tut::test_result& tr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:87,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:91,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:134,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:134,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:140,1
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:148,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:151,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:154,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:154,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:163,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:163,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 171
    functionName: tut::cppunit_reporter::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::cppunit_reporter::encode
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void run_completed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: tut::cppunit_reporter::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: tut::cppunit_reporter::encode
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 1
    functionsReached:
    - length
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const std::string & text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:34,1
    - Dst: std::ofstream::ofstream
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:34,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:36,1
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: tut::cppunit_reporter::cppunit_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - good
    - c_str
    - tut_error
    - std::ofstream::ofstream
    linkageType: ''
    returnType: void
    signature: void cppunit_reporter(const std::string &filename = "testResult.xml")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tut::cppunit_reporter::cppunit_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cppunit_reporter(std::ostream &stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:51,1
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: ~cppunit_reporter()
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - release
    - empty
    linkageType: ''
    returnType: void
    signature: void ~cppunit_reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:59,1
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: tut::cppunit_reporter::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void run_started()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:65,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:69,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - tut::test_result
    assertStmts:
    - condition: (tr.result != test_result::dummy )
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: tut::cppunit_reporter::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_completed(const tut::test_result& tr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:87,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:91,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:134,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:134,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:140,1
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:148,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:151,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:154,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:154,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:163,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:163,1
    - Dst: size
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 171
    functionName: tut::cppunit_reporter::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::cppunit_reporter::encode
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void run_completed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: tut::cppunit_reporter::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: tut::cppunit_reporter::encode
    functionSourceFile: /src/geos/tests/unit/tut/tut_cppunit_reporter.hpp
    functionUses: 2
    functionsReached:
    - length
    linkageType: ''
    returnType: std::string
    signature: std::string encode(const std::string & text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T*::get_pipe_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:47,1
    - Dst: std::copy
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: test_result::message::begin
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: test_result::message::end
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: std::ostreambuf_iterator<char>
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: std::ostringstream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:62,1
    - Dst: write
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:63,1
    - Dst: T*::get_pipe_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:63,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:63,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - tr
    argTypes:
    - T*
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: tut::test_group_posix::send_result_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - std::ostreambuf_iterator<char>
    - T*::get_pipe_
    - test_result::message::end
    - std::ostringstream::str
    - std::copy
    - test_result::message::begin
    - ensure_errno
    - write
    - std::ostringstream::rdbuf
    linkageType: ''
    returnType: void
    signature: void send_result_(const T *obj, const test_result &tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: ~test_group_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_group_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:79,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:80,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:82,1
    - Dst: test_object*::fork_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: tut::fork
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - dynamic_cast< tut::test_object<T>* >
    - static_cast< tut::test_object<T>* >
    - test_object*::fork_
    - tut::ensure
    linkageType: ''
    returnType: pid_t
    signature: pid_t fork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:91,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:92,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:94,1
    - Dst: test_object*::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pid
    - status
    argTypes:
    - pid_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: tut::waitpid
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - dynamic_cast< tut::test_object<T>* >
    - static_cast< tut::test_object<T>* >
    - test_object*::waitpid_
    - tut::ensure
    linkageType: ''
    returnType: pid_t
    signature: pid_t waitpid(pid_t pid, int *status, int flags = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:103,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:104,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:106,1
    - Dst: test_object*::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:110,1
    - Dst: test_object*::ensure_child_exit_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: tut::ensure_child_exit
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - static_cast< tut::test_object<T>* >
    - test_object*::ensure_child_exit_
    - test_object*::waitpid_
    - dynamic_cast< tut::test_object<T>* >
    linkageType: ''
    returnType: void
    signature: void ensure_child_exit(pid_t pid, int exit_status = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:119,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:120,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:122,1
    - Dst: test_object*::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:126,1
    - Dst: test_object*::ensure_child_signal_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: tut::ensure_child_signal
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - test_object*::ensure_child_signal_
    - static_cast< tut::test_object<T>* >
    - tut::ensure
    - test_object*::waitpid_
    - dynamic_cast< tut::test_object<T>* >
    linkageType: ''
    returnType: void
    signature: void ensure_child_signal(pid_t pid, int signal = SIGTERM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< const tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:134,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:135,1
    - Dst: static_cast< const tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:137,1
    - Dst: test_object*::get_pids_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: tut::get_pids
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - static_cast< const tut::test_object<T>* >
    - dynamic_cast< const tut::test_object<T>* >
    - test_object*::get_pids_
    linkageType: ''
    returnType: std::set<pid_t>
    signature: std::set<pid_t> get_pids() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: ~tut_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~tut_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: tut::test_object_posix::test_object_posix
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_object_posix()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::exit
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:170,1
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:173,1
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:178,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:178,1
    - Dst: kill_child_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:181,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:183,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:185,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:189,1
    - Dst: std::ostringstream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:192,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:194,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 198
    functionName: ~test_object_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - kill_child_
    - std::ostringstream::rdbuf
    - tut::fail
    - tut::what
    - begin
    - std::exit
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ~test_object_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: tut::test_object_posix::get_pipe_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_pipe_() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:216,1
    - Dst: ::pipe
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:216,1
    - Dst: tut::fork
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:218,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:225,1
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:225,1
    - Dst: std::make_pair
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:225,1
    - Dst: close
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:228,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:233,1
    - Dst: close
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 241
    functionName: tut::test_object_posix::fork_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - insert
    - std::make_pair
    - close
    - ensure
    - get
    - tut::fork
    - ensure_errno
    - ::pipe
    linkageType: ''
    returnType: pid_t
    signature: pid_t fork_()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:247,1
    - Dst: tut::test_object_posix::ensure_child_exit_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:249,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:253,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:265,1
    - Dst: fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:266,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:266,1
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:270,1
    - Dst: tut::test_object_posix::ensure_child_signal_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:275,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:275,1
    - Dst: sleep
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:280,1
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:282,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:285,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:296,1
    - Dst: fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:297,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:297,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:301,1
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:301,1
    - Dst: tut::test_object_posix::ensure_child_signal_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:304,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:304,1
    - Dst: fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:308,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 310
    functionName: tut::test_object_posix::kill_child_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - ::kill
    - std::ostringstream::str
    - tut::test_object_posix::ensure_child_exit_
    - ensure_equals
    - tut::test_object_posix::waitpid_
    - fail
    - tut::test_object_posix::ensure_child_signal_
    - sleep
    - strerror_r
    linkageType: ''
    returnType: void
    signature: void kill_child_(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_result::result_type
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:318,1
    - Dst: std::istream::ignore
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:319,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:321,1
    - Dst: std::istream::ignore
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:323,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:324,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:325,1
    - Dst: std::copy
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:326,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:326,1
    - Dst: std::istream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:326,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:327,1
    - Dst: std::back_inserter
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ss
    - pid
    argTypes:
    - std::istream
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: tut::test_object_posix::receive_result_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - std::istream::rdbuf
    - std::getline
    - std::istreambuf_iterator<char>
    - std::copy
    - test_result::result_type
    - std::back_inserter
    - std::istream::ignore
    linkageType: ''
    returnType: test_result
    signature: test_result receive_result_(std::istream &ss, pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: tut::test_object_posix::fdclose
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fdclose(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: ~fdclose()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~fdclose()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:349,1
    - Dst: count
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:349,1
    - Dst: tut::waitpid
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:351,1
    - Dst: FD_ZERO
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:363,1
    - Dst: FD_SET
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:368,1
    - Dst: select
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:370,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:375,1
    - Dst: FD_ISSET
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:375,1
    - Dst: read
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:381,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:382,1
    - Dst: std::stringstream::write
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:386,1
    - Dst: rethrown
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:387,1
    - Dst: tut::test_object_posix::receive_result_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pid
    - status
    argTypes:
    - pid_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 392
    functionName: tut::test_object_posix::waitpid_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 1
    functionsReached:
    - FD_ISSET
    - std::stringstream::write
    - tut::test_object_posix::receive_result_
    - read
    - tut::waitpid
    - FD_SET
    - count
    - ensure
    - FD_ZERO
    - rethrown
    - ensure_errno
    - select
    linkageType: ''
    returnType: pid_t
    signature: pid_t waitpid_(pid_t pid, int *status, int flags = 0)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WIFSIGNALED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:396,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:399,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:402,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:402,1
    - Dst: WIFEXITED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:405,1
    - Dst: WEXITSTATUS
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:407,1
    - Dst: WEXITSTATUS
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:413,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:416,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:416,1
    - Dst: WIFSTOPPED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:420,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:423,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:425,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - status
    - exit_status
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 427
    functionName: tut::test_object_posix::ensure_child_exit_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 1
    functionsReached:
    - WIFEXITED
    - WIFSIGNALED
    - std::ostringstream::str
    - WEXITSTATUS
    - failure
    - WTERMSIG
    - WIFSTOPPED
    linkageType: ''
    returnType: void
    signature: void ensure_child_exit_(int status, int exit_status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WIFSIGNALED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:431,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:433,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:439,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:441,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:441,1
    - Dst: WIFEXITED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:445,1
    - Dst: WEXITSTATUS
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:448,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:451,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:451,1
    - Dst: WIFSTOPPED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:454,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:457,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:460,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - status
    - signal
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 462
    functionName: tut::test_object_posix::ensure_child_signal_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 1
    functionsReached:
    - WIFEXITED
    - WIFSIGNALED
    - std::ostringstream::str
    - WEXITSTATUS
    - failure
    - WTERMSIG
    - WIFSTOPPED
    linkageType: ''
    returnType: void
    signature: void ensure_child_signal_(int status, int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:469,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:469,1
    - Dst: set::insert
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: tut::test_object_posix::get_pids_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - set::insert
    - begin
    - end
    linkageType: ''
    returnType: std::set<pid_t>
    signature: std::set<pid_t> get_pids_() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T*::get_pipe_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:47,1
    - Dst: std::copy
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: test_result::message::begin
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: test_result::message::end
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: std::ostreambuf_iterator<char>
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: std::ostringstream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:60,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:62,1
    - Dst: write
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:63,1
    - Dst: T*::get_pipe_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:63,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:63,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - tr
    argTypes:
    - T*
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: tut::test_group_posix::send_result_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - std::ostreambuf_iterator<char>
    - T*::get_pipe_
    - test_result::message::end
    - std::ostringstream::str
    - std::copy
    - test_result::message::begin
    - ensure_errno
    - write
    - std::ostringstream::rdbuf
    linkageType: ''
    returnType: void
    signature: void send_result_(const T *obj, const test_result &tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: ~test_group_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_group_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:79,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:80,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:82,1
    - Dst: test_object*::fork_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: tut::fork
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 1
    functionsReached:
    - dynamic_cast< tut::test_object<T>* >
    - static_cast< tut::test_object<T>* >
    - test_object*::fork_
    - tut::ensure
    linkageType: ''
    returnType: pid_t
    signature: pid_t fork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:91,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:92,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:94,1
    - Dst: test_object*::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pid
    - status
    argTypes:
    - pid_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: tut::waitpid
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 1
    functionsReached:
    - dynamic_cast< tut::test_object<T>* >
    - static_cast< tut::test_object<T>* >
    - test_object*::waitpid_
    - tut::ensure
    linkageType: ''
    returnType: pid_t
    signature: pid_t waitpid(pid_t pid, int *status, int flags = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:103,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:104,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:106,1
    - Dst: test_object*::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:110,1
    - Dst: test_object*::ensure_child_exit_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: tut::ensure_child_exit
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - static_cast< tut::test_object<T>* >
    - test_object*::ensure_child_exit_
    - test_object*::waitpid_
    - dynamic_cast< tut::test_object<T>* >
    linkageType: ''
    returnType: void
    signature: void ensure_child_exit(pid_t pid, int exit_status = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:119,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:120,1
    - Dst: static_cast< tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:122,1
    - Dst: test_object*::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:126,1
    - Dst: test_object*::ensure_child_signal_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: tut::ensure_child_signal
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - test_object*::ensure_child_signal_
    - static_cast< tut::test_object<T>* >
    - tut::ensure
    - test_object*::waitpid_
    - dynamic_cast< tut::test_object<T>* >
    linkageType: ''
    returnType: void
    signature: void ensure_child_signal(pid_t pid, int signal = SIGTERM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast< const tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:134,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:135,1
    - Dst: static_cast< const tut::test_object<T>* >
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:137,1
    - Dst: test_object*::get_pids_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: tut::get_pids
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - static_cast< const tut::test_object<T>* >
    - dynamic_cast< const tut::test_object<T>* >
    - test_object*::get_pids_
    linkageType: ''
    returnType: std::set<pid_t>
    signature: std::set<pid_t> get_pids() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: ~tut_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~tut_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: tut::test_object_posix::test_object_posix
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_object_posix()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::exit
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:170,1
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:173,1
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:178,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:178,1
    - Dst: kill_child_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:181,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:183,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:185,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:189,1
    - Dst: std::ostringstream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:192,1
    - Dst: fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:194,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 198
    functionName: ~test_object_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - what
    - std::ostringstream::str
    - kill_child_
    - std::ostringstream::rdbuf
    - fail
    - begin
    - std::exit
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ~test_object_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: tut::test_object_posix::get_pipe_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_pipe_() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:216,1
    - Dst: ::pipe
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:216,1
    - Dst: tut::fork
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:218,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:220,1
    - Dst: ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:225,1
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:225,1
    - Dst: std::make_pair
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:225,1
    - Dst: close
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:228,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:233,1
    - Dst: close
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 241
    functionName: tut::test_object_posix::fork_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - insert
    - std::make_pair
    - close
    - ensure
    - get
    - tut::fork
    - ensure_errno
    - ::pipe
    linkageType: ''
    returnType: pid_t
    signature: pid_t fork_()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:247,1
    - Dst: tut::test_object_posix::ensure_child_exit_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:249,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:253,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:265,1
    - Dst: fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:266,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:266,1
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:270,1
    - Dst: tut::test_object_posix::ensure_child_signal_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:275,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:275,1
    - Dst: sleep
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:280,1
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:282,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:285,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:296,1
    - Dst: fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:297,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:297,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:301,1
    - Dst: tut::test_object_posix::waitpid_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:301,1
    - Dst: tut::test_object_posix::ensure_child_signal_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:302,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:304,1
    - Dst: ::kill
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:304,1
    - Dst: fail
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:308,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - pid
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 310
    functionName: tut::test_object_posix::kill_child_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - ::kill
    - std::ostringstream::str
    - tut::test_object_posix::ensure_child_exit_
    - ensure_equals
    - tut::test_object_posix::waitpid_
    - fail
    - tut::test_object_posix::ensure_child_signal_
    - sleep
    - strerror_r
    linkageType: ''
    returnType: void
    signature: void kill_child_(pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_result::result_type
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:318,1
    - Dst: std::istream::ignore
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:319,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:321,1
    - Dst: std::istream::ignore
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:323,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:324,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:325,1
    - Dst: std::copy
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:326,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:326,1
    - Dst: std::istream::rdbuf
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:326,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:327,1
    - Dst: std::back_inserter
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ss
    - pid
    argTypes:
    - std::istream
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: tut::test_object_posix::receive_result_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 1
    functionsReached:
    - std::istream::rdbuf
    - std::getline
    - std::istreambuf_iterator<char>
    - std::copy
    - test_result::result_type
    - std::back_inserter
    - std::istream::ignore
    linkageType: ''
    returnType: test_result
    signature: test_result receive_result_(std::istream &ss, pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: tut::test_object_posix::fdclose
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fdclose(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: ~fdclose()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~fdclose()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:349,1
    - Dst: count
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:349,1
    - Dst: tut::waitpid
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:351,1
    - Dst: FD_ZERO
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:363,1
    - Dst: FD_SET
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:368,1
    - Dst: select
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:370,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:371,1
    - Dst: ensure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:375,1
    - Dst: FD_ISSET
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:375,1
    - Dst: read
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:381,1
    - Dst: ensure_errno
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:382,1
    - Dst: std::stringstream::write
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:386,1
    - Dst: rethrown
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:387,1
    - Dst: tut::test_object_posix::receive_result_
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pid
    - status
    argTypes:
    - pid_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 392
    functionName: tut::test_object_posix::waitpid_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 2
    functionsReached:
    - FD_ISSET
    - std::stringstream::write
    - tut::test_object_posix::receive_result_
    - read
    - tut::waitpid
    - FD_SET
    - count
    - ensure
    - FD_ZERO
    - rethrown
    - ensure_errno
    - select
    linkageType: ''
    returnType: pid_t
    signature: pid_t waitpid_(pid_t pid, int *status, int flags = 0)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WIFSIGNALED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:396,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:399,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:402,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:402,1
    - Dst: WIFEXITED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:405,1
    - Dst: WEXITSTATUS
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:407,1
    - Dst: WEXITSTATUS
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:413,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:416,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:416,1
    - Dst: WIFSTOPPED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:420,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:423,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:425,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - status
    - exit_status
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 427
    functionName: tut::test_object_posix::ensure_child_exit_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 2
    functionsReached:
    - WIFEXITED
    - WIFSIGNALED
    - std::ostringstream::str
    - WEXITSTATUS
    - failure
    - WTERMSIG
    - WIFSTOPPED
    linkageType: ''
    returnType: void
    signature: void ensure_child_exit_(int status, int exit_status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WIFSIGNALED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:431,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:433,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:439,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:441,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:441,1
    - Dst: WIFEXITED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:445,1
    - Dst: WEXITSTATUS
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:448,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:451,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:451,1
    - Dst: WIFSTOPPED
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:454,1
    - Dst: WTERMSIG
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:457,1
    - Dst: failure
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:460,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - status
    - signal
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 462
    functionName: tut::test_object_posix::ensure_child_signal_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 2
    functionsReached:
    - WIFEXITED
    - WIFSIGNALED
    - std::ostringstream::str
    - WEXITSTATUS
    - failure
    - WTERMSIG
    - WIFSTOPPED
    linkageType: ''
    returnType: void
    signature: void ensure_child_signal_(int status, int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:469,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:469,1
    - Dst: set::insert
      Src: /src/geos/tests/unit/tut/tut_posix.hpp:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: tut::test_object_posix::get_pids_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached:
    - set::insert
    - begin
    - end
    linkageType: ''
    returnType: std::set<pid_t>
    signature: std::set<pid_t> get_pids_() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: ~test_object_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_object_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: tut::send_result_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void send_result_(const T*, const test_result &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: ~test_group_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_group_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: ~test_object_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_object_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: tut::send_result_
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void send_result_(const T*, const test_result &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: ~test_group_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_posix.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_group_posix()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::ostringstream
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: tut::detail::msg_prefix
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::ostringstream
    signature: std::ostringstream &msg_prefix(std::ostringstream &str, const M &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::ostringstream
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: tut::detail::msg_prefix
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::ostringstream
    signature: std::ostringstream &msg_prefix(std::ostringstream &str, const M &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 204
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 205
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(const M& msg, bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:101,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 171
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS& actual, const RHS& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:124,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - actual
    - expected
    argTypes:
    - M
    - LHS*
    - RHS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 171
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS * const actual, const RHS
      * const expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:142,1
    - Dst: std::setprecision
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:145,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' epsilon'
    argTypes:
    - M
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 171
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected, const double& epsilon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 172
    functionsReached:
    - std::numeric_limits<double>::epsilon
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 173
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const LHS& actual, const RHS& expected)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:171,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:172,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:176,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:181,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:184,1
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:193,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:196,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:204,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - msg
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - std::string
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts:
    - condition: (lhs_size == rhs_size)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (lhs_i == lhs_end)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (rhs_i == rhs_end)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    constantsTouched: []
    func_position:
      end: 206
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 206
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 174
    functionsReached:
    - tut::ensure_equals
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    - distance
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const std::string &msg,\n                   const
      LhsIterator &lhs_begin, const LhsIterator &lhs_end,\n                   const
      RhsIterator &rhs_begin, const RhsIterator &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 175
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsIterator &lhs_begin, const LhsIterator
      &lhs_end,\n                   const RhsIterator &rhs_begin, const RhsIterator
      &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsType*
    - LhsType*
    - RhsType*
    - RhsType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 176
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsType *lhs_begin, const LhsType *lhs_end,\n
      \                  const RhsType *rhs_begin, const RhsType *rhs_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:239,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - M
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: tut::ensure_measurement
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_measurement(const M& msg, const T& actual, const T& expected,
      const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: tut::ensure_distance
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 2
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_distance(const T& actual, const T& expected, const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tut::ensure_area
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_area(const T& actual, const T& expected, const T& distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:271,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:272,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: tut::ensure_errno
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - strerror_r
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_errno(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const M& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const M& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 206
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 207
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(const M& msg, bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:101,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 176
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS& actual, const RHS& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:124,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - actual
    - expected
    argTypes:
    - M
    - LHS*
    - RHS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 176
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS * const actual, const RHS
      * const expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:142,1
    - Dst: std::setprecision
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:145,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' epsilon'
    argTypes:
    - M
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 176
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected, const double& epsilon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 177
    functionsReached:
    - std::numeric_limits<double>::epsilon
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 178
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const LHS& actual, const RHS& expected)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:171,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:172,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:176,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:181,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:184,1
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:193,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:196,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:204,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - msg
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - std::string
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts:
    - condition: (lhs_size == rhs_size)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (lhs_i == lhs_end)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (rhs_i == rhs_end)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    constantsTouched: []
    func_position:
      end: 206
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 206
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 179
    functionsReached:
    - tut::ensure_equals
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    - distance
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const std::string &msg,\n                   const
      LhsIterator &lhs_begin, const LhsIterator &lhs_end,\n                   const
      RhsIterator &rhs_begin, const RhsIterator &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 180
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsIterator &lhs_begin, const LhsIterator
      &lhs_end,\n                   const RhsIterator &rhs_begin, const RhsIterator
      &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsType*
    - LhsType*
    - RhsType*
    - RhsType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 181
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsType *lhs_begin, const LhsType *lhs_end,\n
      \                  const RhsType *rhs_begin, const RhsType *rhs_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:239,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - M
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: tut::ensure_measurement
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_measurement(const M& msg, const T& actual, const T& expected,
      const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: tut::ensure_distance
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 2
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_distance(const T& actual, const T& expected, const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tut::ensure_area
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_area(const T& actual, const T& expected, const T& distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:271,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:272,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: tut::ensure_errno
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - strerror_r
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_errno(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const M& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const M& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::ostringstream
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: tut::detail::msg_prefix
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::ostringstream
    signature: std::ostringstream &msg_prefix(std::ostringstream &str, const M &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - msg
    argTypes:
    - std::ostringstream
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: tut::detail::msg_prefix
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::ostringstream
    signature: std::ostringstream &msg_prefix(std::ostringstream &str, const M &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 208
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 209
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(const M& msg, bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:101,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 181
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS& actual, const RHS& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:124,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - actual
    - expected
    argTypes:
    - M
    - LHS*
    - RHS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 181
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS * const actual, const RHS
      * const expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:142,1
    - Dst: std::setprecision
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:145,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' epsilon'
    argTypes:
    - M
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 181
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected, const double& epsilon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 182
    functionsReached:
    - std::numeric_limits<double>::epsilon
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 183
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const LHS& actual, const RHS& expected)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:171,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:172,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:176,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:181,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:184,1
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:193,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:196,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:204,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - msg
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - std::string
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts:
    - condition: (lhs_size == rhs_size)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (lhs_i == lhs_end)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (rhs_i == rhs_end)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    constantsTouched: []
    func_position:
      end: 206
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 206
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 184
    functionsReached:
    - tut::ensure_equals
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    - distance
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const std::string &msg,\n                   const
      LhsIterator &lhs_begin, const LhsIterator &lhs_end,\n                   const
      RhsIterator &rhs_begin, const RhsIterator &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 185
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsIterator &lhs_begin, const LhsIterator
      &lhs_end,\n                   const RhsIterator &rhs_begin, const RhsIterator
      &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsType*
    - LhsType*
    - RhsType*
    - RhsType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 186
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsType *lhs_begin, const LhsType *lhs_end,\n
      \                  const RhsType *rhs_begin, const RhsType *rhs_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:239,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - M
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: tut::ensure_measurement
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 4
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_measurement(const M& msg, const T& actual, const T& expected,
      const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: tut::ensure_distance
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 2
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_distance(const T& actual, const T& expected, const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tut::ensure_area
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_area(const T& actual, const T& expected, const T& distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:271,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:272,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: tut::ensure_errno
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - strerror_r
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_errno(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const M& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const M& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 210
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: tut::ensure
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 211
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: tut::ensure_not
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void ensure_not(const M& msg, bool cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:101,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 186
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS& actual, const RHS& expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:124,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' msg'
    - actual
    - expected
    argTypes:
    - M
    - LHS*
    - RHS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 186
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const LHS * const actual, const RHS
      * const expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:142,1
    - Dst: std::setprecision
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:145,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' epsilon'
    argTypes:
    - M
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 186
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected, const double& epsilon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    - Dst: std::numeric_limits<double>::epsilon
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    argTypes:
    - M
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 187
    functionsReached:
    - std::numeric_limits<double>::epsilon
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const M& msg, const double& actual, const double&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actual'
    - ' expected'
    argTypes:
    - LHS
    - RHS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 188
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_equals(const LHS& actual, const RHS& expected)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:171,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:172,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:176,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:181,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:184,1
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:193,1
    - Dst: distance
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:196,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:197,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:204,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - msg
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - std::string
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts:
    - condition: (lhs_size == rhs_size)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (lhs_i == lhs_end)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    - condition: (rhs_i == rhs_end)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/geos/tests/unit/tut/tut_assert.hpp
    constantsTouched: []
    func_position:
      end: 206
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 206
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 189
    functionsReached:
    - tut::ensure_equals
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    - distance
    - assert
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const std::string &msg,\n                   const
      LhsIterator &lhs_begin, const LhsIterator &lhs_end,\n                   const
      RhsIterator &rhs_begin, const RhsIterator &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsIterator
    - LhsIterator
    - RhsIterator
    - RhsIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 190
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsIterator &lhs_begin, const LhsIterator
      &lhs_end,\n                   const RhsIterator &rhs_begin, const RhsIterator
      &rhs_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lhs_begin
    - lhs_end
    - rhs_begin
    - rhs_end
    argTypes:
    - LhsType*
    - LhsType*
    - RhsType*
    - RhsType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: tut::ensure_equals
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 191
    functionsReached:
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void ensure_equals(const LhsType *lhs_begin, const LhsType *lhs_end,\n
      \                  const RhsType *rhs_begin, const RhsType *rhs_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:239,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ' msg'
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - M
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: tut::ensure_measurement
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 6
    functionsReached:
    - std::ostringstream::str
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_measurement(const M& msg, const T& actual, const T& expected,
      const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: tut::ensure_distance
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 2
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_distance(const T& actual, const T& expected, const T& distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_measurement
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' distance'
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tut::ensure_area
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure_measurement
    linkageType: ''
    returnType: void
    signature: void ensure_area(const T& actual, const T& expected, const T& distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::msg_prefix
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:271,1
    - Dst: strerror_r
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:272,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:273,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' msg'
    - cond
    argTypes:
    - M
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: tut::ensure_errno
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - strerror_r
    - tut::detail::msg_prefix
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_errno(const M& msg, bool cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: tut::fail
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 12
    functionsReached:
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void fail(const M& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const char* msg = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::skipped
      Src: /src/geos/tests/unit/tut/tut_assert.hpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: tut::skip
    functionSourceFile: /src/geos/tests/unit/tut/tut_assert.hpp
    functionUses: 0
    functionsReached:
    - tut::skipped
    linkageType: ''
    returnType: void
    signature: void skip(const M& msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tut::tut_error
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ' os'
    - ' tr'
    argTypes:
    - std::ostream
    - tut::test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: '& operator<<(std::ostream& os, const tut::test_result& tr)'
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::tut_error
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const tut::test_result&
      tr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tut::tut_error
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ' os'
    - ' tr'
    argTypes:
    - std::ostream
    - tut::test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: '& operator<<(std::ostream& os, const tut::test_result& tr)'
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::tut_error
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const tut::test_result&
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::console_reporter::init
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: tut::console_reporter::console_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::console_reporter::init
    linkageType: ''
    returnType: void
    signature: void console_reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::console_reporter::init
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: tut::console_reporter::console_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::console_reporter::init
    linkageType: ''
    returnType: void
    signature: void console_reporter(std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::console_reporter::init
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: tut::console_reporter::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::console_reporter::init
    linkageType: ''
    returnType: void
    signature: void run_started() override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:150,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - tut::test_result
    assertStmts:
    - condition: ( (tr.result != tut::test_result::dummy) && "Should never be called")
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    constantsTouched: []
    func_position:
      end: 158
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 158
    functionName: tut::console_reporter::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_completed(const tut::test_result& tr) override
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:164,1
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:166,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:167,1
    - Dst: tut::test_result::name::empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:175,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:175,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:175,1
    - Dst: getpid
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:179,1
    - Dst: tut::test_result::message::empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 258
    functionName: tut::console_reporter::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - getpid
    - tut::test_result::message::empty
    - string
    - tut::test_result::name::empty
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void run_completed() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: tut::console_reporter::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: tut::console_reporter::init
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 3
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::console_reporter::init
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: tut::console_reporter::console_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::console_reporter::init
    linkageType: ''
    returnType: void
    signature: void console_reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::console_reporter::init
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: tut::console_reporter::console_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::console_reporter::init
    linkageType: ''
    returnType: void
    signature: void console_reporter(std::ostream& out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::console_reporter::init
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: tut::console_reporter::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::console_reporter::init
    linkageType: ''
    returnType: void
    signature: void run_started() override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:150,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - tut::test_result
    assertStmts:
    - condition: ( (tr.result != tut::test_result::dummy) && "Should never be called")
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    constantsTouched: []
    func_position:
      end: 158
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 158
    functionName: tut::console_reporter::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_completed(const tut::test_result& tr) override
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:164,1
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:166,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:167,1
    - Dst: tut::test_result::name::empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:175,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:175,1
    - Dst: string
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:175,1
    - Dst: getpid
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:179,1
    - Dst: tut::test_result::message::empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 258
    functionName: tut::console_reporter::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - getpid
    - tut::test_result::message::empty
    - string
    - tut::test_result::name::empty
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void run_completed() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: tut::console_reporter::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_console_reporter.hpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: tut::console_reporter::init
    functionSourceFile: /src/geos/tests/unit/tut/tut_console_reporter.hpp
    functionUses: 6
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: ~group_base()
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~group_base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tut::callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ~callback()
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: tut::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void run_started()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tut::group_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void group_started(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tut::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_completed(const test_result& tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: tut::group_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void group_completed(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: tut::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void run_completed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: tut::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: tut::test_runner::test_runner
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_runner()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:136,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:139,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:139,1
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:142,1
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:145,1
    - Dst: std::make_pair
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - gr
    argTypes:
    - std::string
    - group_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: tut::test_runner::register_group
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - find
    - insert
    - std::make_pair
    - tut_error
    - end
    linkageType: ''
    returnType: void
    signature: void register_group(const std::string& name, group_base* gr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::clear_callbacks
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:154,1
    - Dst: tut::test_runner::insert_callback
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tut::test_runner::set_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - tut::test_runner::insert_callback
    - tut::test_runner::clear_callbacks
    linkageType: ''
    returnType: void
    signature: void set_callback(callback *cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: tut::test_runner::insert_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 1
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void insert_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tut::test_runner::erase_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void erase_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: tut::test_runner::clear_callbacks
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear_callbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '&get_callbacks() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: callbacks
    signature: callbacks &get_callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: tut::test_runner::set_callbacks
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_callbacks(const callbacks &cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:212,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:212,1
    - Dst: groupnames::push_back
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: tut::test_runner::list_groups
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - groupnames::push_back
    - begin
    - end
    linkageType: ''
    returnType: groupnames
    signature: groupnames list_groups() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:224,1
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:226,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:227,1
    - Dst: tut::test_runner::cb_group_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:230,1
    - Dst: tut::test_runner::run_all_tests_in_group_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:231,1
    - Dst: tut::test_runner::cb_group_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:232,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: tut::test_runner::run_tests
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - tut::test_runner::cb_run_completed_
    - tut::test_runner::cb_run_started_
    - tut::test_runner::run_all_tests_in_group_
    - tut::test_runner::cb_group_completed_
    - tut::test_runner::cb_group_started_
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void run_tests() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:246,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:248,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:249,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:251,1
    - Dst: no_such_group
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:252,1
    - Dst: tut::test_runner::cb_group_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:255,1
    - Dst: tut::test_runner::run_all_tests_in_group_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:256,1
    - Dst: tut::test_runner::cb_group_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:257,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' group_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: tut::test_runner::run_tests
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - no_such_group
    - find
    - tut::test_runner::cb_run_completed_
    - tut::test_runner::cb_run_started_
    - tut::test_runner::run_all_tests_in_group_
    - tut::test_runner::cb_group_completed_
    - tut::test_runner::cb_group_started_
    - end
    linkageType: ''
    returnType: void
    signature: void run_tests(const std::string& group_name) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:270,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:272,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:273,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:275,1
    - Dst: no_such_group
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:276,1
    - Dst: tut::test_runner::cb_group_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:279,1
    - Dst: const_iterator::second::run_test
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:281,1
    - Dst: tut::test_runner::cb_test_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:285,1
    - Dst: tut::test_runner::cb_group_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:288,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' group_name'
    - n
    - tr
    argTypes:
    - std::string
    - int
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: tut::test_runner::run_test
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - no_such_group
    - find
    - tut::test_runner::cb_test_completed_
    - const_iterator::second::run_test
    - tut::test_runner::cb_run_completed_
    - tut::test_runner::cb_run_started_
    - tut::test_runner::cb_group_completed_
    - tut::test_runner::cb_group_started_
    - end
    linkageType: ''
    returnType: bool
    signature: bool run_test(const std::string& group_name, int n, test_result &tr)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:308,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:308,1
    - Dst: run_started
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: tut::test_runner::cb_run_started_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 3
    functionsReached:
    - begin
    - run_started
    - end
    linkageType: ''
    returnType: void
    signature: void cb_run_started_() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:316,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:316,1
    - Dst: run_completed
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tut::test_runner::cb_run_completed_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 3
    functionsReached:
    - run_completed
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void cb_run_completed_() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:324,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:324,1
    - Dst: group_started
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: tut::test_runner::cb_group_started_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 3
    functionsReached:
    - begin
    - group_started
    - end
    linkageType: ''
    returnType: void
    signature: void cb_group_started_(const std::string &group_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:332,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:332,1
    - Dst: group_completed
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: tut::test_runner::cb_group_completed_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 3
    functionsReached:
    - group_completed
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void cb_group_completed_(const std::string &group_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:340,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:340,1
    - Dst: test_completed
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tr
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: tut::test_runner::cb_test_completed_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 1
    functionsReached:
    - test_completed
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void cb_test_completed_(const test_result &tr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::second::rewind
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:348,1
    - Dst: const_iterator::second::run_next
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:351,1
    - Dst: tut::test_runner::cb_test_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: tut::test_runner::run_all_tests_in_group_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 2
    functionsReached:
    - const_iterator::second::rewind
    - tut::test_runner::cb_test_completed_
    - const_iterator::second::run_next
    linkageType: ''
    returnType: void
    signature: void run_all_tests_in_group_(const_iterator i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: '& get()'
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_runner
    signature: test_runner & get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: ~group_base()
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~group_base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: tut::callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ~callback()
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: tut::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void run_started()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tut::group_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void group_started(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tut::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_completed(const test_result& tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: tut::group_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void group_completed(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: tut::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void run_completed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: tut::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: tut::test_runner::test_runner
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_runner()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:136,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:139,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:139,1
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:142,1
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:145,1
    - Dst: std::make_pair
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - gr
    argTypes:
    - std::string
    - group_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: tut::test_runner::register_group
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - find
    - insert
    - std::make_pair
    - tut_error
    - end
    linkageType: ''
    returnType: void
    signature: void register_group(const std::string& name, group_base* gr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::clear_callbacks
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:154,1
    - Dst: tut::test_runner::insert_callback
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: tut::test_runner::set_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - tut::test_runner::insert_callback
    - tut::test_runner::clear_callbacks
    linkageType: ''
    returnType: void
    signature: void set_callback(callback *cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: tut::test_runner::insert_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 2
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void insert_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: tut::test_runner::erase_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void erase_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: tut::test_runner::clear_callbacks
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 2
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear_callbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '&get_callbacks() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: callbacks
    signature: callbacks &get_callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: tut::test_runner::set_callbacks
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_callbacks(const callbacks &cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:212,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:212,1
    - Dst: groupnames::push_back
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: tut::test_runner::list_groups
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - groupnames::push_back
    - begin
    - end
    linkageType: ''
    returnType: groupnames
    signature: groupnames list_groups() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:224,1
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:226,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:227,1
    - Dst: tut::test_runner::cb_group_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:230,1
    - Dst: tut::test_runner::run_all_tests_in_group_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:231,1
    - Dst: tut::test_runner::cb_group_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:232,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: tut::test_runner::run_tests
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - tut::test_runner::cb_run_completed_
    - tut::test_runner::cb_run_started_
    - tut::test_runner::run_all_tests_in_group_
    - tut::test_runner::cb_group_completed_
    - tut::test_runner::cb_group_started_
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void run_tests() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:246,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:248,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:249,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:251,1
    - Dst: no_such_group
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:252,1
    - Dst: tut::test_runner::cb_group_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:255,1
    - Dst: tut::test_runner::run_all_tests_in_group_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:256,1
    - Dst: tut::test_runner::cb_group_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:257,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' group_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: tut::test_runner::run_tests
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - no_such_group
    - find
    - tut::test_runner::cb_run_completed_
    - tut::test_runner::cb_run_started_
    - tut::test_runner::run_all_tests_in_group_
    - tut::test_runner::cb_group_completed_
    - tut::test_runner::cb_group_started_
    - end
    linkageType: ''
    returnType: void
    signature: void run_tests(const std::string& group_name) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_runner::cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:270,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:272,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:273,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:275,1
    - Dst: no_such_group
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:276,1
    - Dst: tut::test_runner::cb_group_started_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:279,1
    - Dst: const_iterator::second::run_test
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:281,1
    - Dst: tut::test_runner::cb_test_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:285,1
    - Dst: tut::test_runner::cb_group_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:288,1
    - Dst: tut::test_runner::cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ' group_name'
    - n
    - tr
    argTypes:
    - std::string
    - int
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: tut::test_runner::run_test
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached:
    - no_such_group
    - find
    - tut::test_runner::cb_test_completed_
    - const_iterator::second::run_test
    - tut::test_runner::cb_run_completed_
    - tut::test_runner::cb_run_started_
    - tut::test_runner::cb_group_completed_
    - tut::test_runner::cb_group_started_
    - end
    linkageType: ''
    returnType: bool
    signature: bool run_test(const std::string& group_name, int n, test_result &tr)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:308,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:308,1
    - Dst: run_started
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: tut::test_runner::cb_run_started_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 6
    functionsReached:
    - begin
    - run_started
    - end
    linkageType: ''
    returnType: void
    signature: void cb_run_started_() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:316,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:316,1
    - Dst: run_completed
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: tut::test_runner::cb_run_completed_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 6
    functionsReached:
    - run_completed
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void cb_run_completed_() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:324,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:324,1
    - Dst: group_started
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: tut::test_runner::cb_group_started_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 6
    functionsReached:
    - begin
    - group_started
    - end
    linkageType: ''
    returnType: void
    signature: void cb_group_started_(const std::string &group_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:332,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:332,1
    - Dst: group_completed
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: tut::test_runner::cb_group_completed_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 6
    functionsReached:
    - group_completed
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void cb_group_completed_(const std::string &group_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:340,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:340,1
    - Dst: test_completed
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tr
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: tut::test_runner::cb_test_completed_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 3
    functionsReached:
    - test_completed
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void cb_test_completed_(const test_result &tr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::second::rewind
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:348,1
    - Dst: const_iterator::second::run_next
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:351,1
    - Dst: tut::test_runner::cb_test_completed_
      Src: /src/geos/tests/unit/tut/tut_runner.hpp:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: tut::test_runner::run_all_tests_in_group_
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 4
    functionsReached:
    - const_iterator::second::rewind
    - tut::test_runner::cb_test_completed_
    - const_iterator::second::run_next
    linkageType: ''
    returnType: void
    signature: void run_all_tests_in_group_(const_iterator i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: '& get()'
    functionSourceFile: /src/geos/tests/unit/tut/tut_runner.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_runner
    signature: test_runner & get()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:33,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:34,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: tut::util::escape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string escape(const std::string& orig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:63,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:64,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:77,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: tut::util::unescape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const std::string& orig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:99,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:125,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:127,1
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ' os'
    - ' tr'
    argTypes:
    - std::ostream
    - tut::test_result
    assertStmts:
    - condition: (!"Should never be called")
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/tests/unit/tut/tut_restartable.hpp
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: tut::util::serialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - assert
    - tut::util::escape
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void serialize(std::ostream& os, const tut::test_result& tr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:137,1
    - Dst: eof
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:138,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:142,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:148,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:177,1
    - Dst: ignore
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:180,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:181,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:182,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:183,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - ' is'
    - ' tr'
    argTypes:
    - std::istream
    - tut::test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 188
    functionName: tut::util::deserialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - std::getline
    - std::logic_error
    - good
    - ignore
    - eof
    - tut::util::unescape
    linkageType: ''
    returnType: bool
    signature: bool deserialize(std::istream& is, tut::test_result& tr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:33,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:34,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: tut::util::escape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string escape(const std::string& orig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:63,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:64,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:77,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: tut::util::unescape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const std::string& orig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:99,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:125,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:127,1
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ' os'
    - ' tr'
    argTypes:
    - std::ostream
    - tut::test_result
    assertStmts:
    - condition: (!"Should never be called")
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/tests/unit/tut/tut_restartable.hpp
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: tut::util::serialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - assert
    - tut::util::escape
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void serialize(std::ostream& os, const tut::test_result& tr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:137,1
    - Dst: eof
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:138,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:142,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:148,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:177,1
    - Dst: ignore
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:180,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:181,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:182,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:183,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - ' is'
    - ' tr'
    argTypes:
    - std::istream
    - tut::test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 188
    functionName: tut::util::deserialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - std::getline
    - std::logic_error
    - good
    - ignore
    - eof
    - tut::util::unescape
    linkageType: ''
    returnType: bool
    signature: bool deserialize(std::istream& is, tut::test_result& tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: tut::restartable_wrapper::restartable_wrapper
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void restartable_wrapper(const std::string& dir = ".")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::register_group
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - gr
    argTypes:
    - std::string
    - group_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: tut::restartable_wrapper::register_group
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - tut::restartable_wrapper::register_group
    linkageType: ''
    returnType: void
    signature: void register_group(const std::string& name, group_base* gr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:231,1
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: tut::restartable_wrapper::set_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - insert
    - clear
    linkageType: ''
    returnType: void
    signature: void set_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: tut::restartable_wrapper::insert_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void insert_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: tut::restartable_wrapper::erase_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void erase_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cb'
    argTypes:
    - callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: tut::restartable_wrapper::set_callbacks
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_callbacks(const callbacks& cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_callbacks
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: '& get_callbacks() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - get_callbacks
    linkageType: ''
    returnType: callbacks
    signature: callbacks & get_callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::list_groups
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tut::restartable_wrapper::list_groups
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - tut::restartable_wrapper::list_groups
    linkageType: ''
    returnType: groupnames
    signature: groupnames list_groups() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::read_log_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:271,1
    - Dst: tut::restartable_wrapper::list_groups
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:275,1
    - Dst: tut::groupnames::begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:277,1
    - Dst: tut::groupnames::end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:278,1
    - Dst: tut::restartable_wrapper::register_execution_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:297,1
    - Dst: run_test
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:300,1
    - Dst: tut::restartable_wrapper::register_test_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:304,1
    - Dst: tut::restartable_wrapper::invoke_callback_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:313,1
    - Dst: tut::restartable_wrapper::truncate_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 317
    functionName: tut::restartable_wrapper::run_tests
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - run_test
    - tut::restartable_wrapper::register_test_
    - tut::restartable_wrapper::register_execution_
    - tut::groupnames::end
    - tut::restartable_wrapper::read_log_
    - tut::restartable_wrapper::invoke_callback_
    - tut::restartable_wrapper::list_groups
    - tut::restartable_wrapper::truncate_
    - tut::groupnames::begin
    linkageType: ''
    returnType: void
    signature: void run_tests() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::set_callbacks
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:325,1
    - Dst: cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:326,1
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:329,1
    - Dst: std::ifstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:330,1
    - Dst: tut::util::deserialize
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:333,1
    - Dst: cb_test_completed_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:337,1
    - Dst: cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 341
    functionName: tut::restartable_wrapper::invoke_callback_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - cb_test_completed_
    - std::ifstream::good
    - tut::restartable_wrapper::set_callbacks
    - cb_run_started_
    - cb_run_completed_
    - tut::util::deserialize
    - c_str
    linkageType: ''
    returnType: void
    signature: void invoke_callback_() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:348,1
    - Dst: tut::util::serialize
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:349,1
    - Dst: std::ofstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:351,1
    - Dst: std::runtime_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: tut::restartable_wrapper::register_test_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - tut::util::serialize
    - std::ofstream::good
    - c_str
    linkageType: ''
    returnType: void
    signature: void register_test_(const test_result& tr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:364,1
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:365,1
    - Dst: std::ofstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:366,1
    - Dst: std::runtime_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' grp'
    - test
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: tut::restartable_wrapper::register_execution_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - std::ofstream::good
    - c_str
    - tut::util::escape
    linkageType: ''
    returnType: void
    signature: void register_execution_(const std::string& grp, int test) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:378,1
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: tut::restartable_wrapper::truncate_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void truncate_() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:388,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:389,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:390,1
    - Dst: std::ifstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:392,1
    - Dst: tut::restartable_wrapper::truncate_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:396,1
    - Dst: tut::restartable_wrapper::register_test_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' fail_group'
    - ' fail_test'
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: tut::restartable_wrapper::read_log_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - std::getline
    - std::ifstream::good
    - tut::restartable_wrapper::register_test_
    - c_str
    - tut::util::unescape
    - tut::restartable_wrapper::truncate_
    linkageType: ''
    returnType: void
    signature: void read_log_(std::string& fail_group, int& fail_test) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:33,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:34,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: tut::util::escape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 3
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string escape(const std::string& orig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:63,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:64,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:77,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: tut::util::unescape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 3
    functionsReached:
    - std::invalid_argument
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const std::string& orig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:99,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:125,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:127,1
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ' os'
    - ' tr'
    argTypes:
    - std::ostream
    - tut::test_result
    assertStmts:
    - condition: (!"Should never be called")
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/tests/unit/tut/tut_restartable.hpp
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: tut::util::serialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - assert
    - tut::util::escape
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void serialize(std::ostream& os, const tut::test_result& tr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:137,1
    - Dst: eof
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:138,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:142,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:148,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:177,1
    - Dst: ignore
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:180,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:181,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:182,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:183,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - ' is'
    - ' tr'
    argTypes:
    - std::istream
    - tut::test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 188
    functionName: tut::util::deserialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - std::getline
    - std::logic_error
    - good
    - ignore
    - eof
    - tut::util::unescape
    linkageType: ''
    returnType: bool
    signature: bool deserialize(std::istream& is, tut::test_result& tr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:33,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:34,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: tut::util::escape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 4
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string escape(const std::string& orig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:63,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:64,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:77,1
    - Dst: std::invalid_argument
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: tut::util::unescape
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 4
    functionsReached:
    - std::invalid_argument
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string unescape(const std::string& orig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:99,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:125,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:127,1
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ' os'
    - ' tr'
    argTypes:
    - std::ostream
    - tut::test_result
    assertStmts:
    - condition: (!"Should never be called")
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/tests/unit/tut/tut_restartable.hpp
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: tut::util::serialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - assert
    - tut::util::escape
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void serialize(std::ostream& os, const tut::test_result& tr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:137,1
    - Dst: eof
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:138,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:142,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:148,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:177,1
    - Dst: ignore
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:180,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:181,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:182,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:183,1
    - Dst: std::logic_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - ' is'
    - ' tr'
    argTypes:
    - std::istream
    - tut::test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 188
    functionName: tut::util::deserialize
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached:
    - std::getline
    - std::logic_error
    - good
    - ignore
    - eof
    - tut::util::unescape
    linkageType: ''
    returnType: bool
    signature: bool deserialize(std::istream& is, tut::test_result& tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: tut::restartable_wrapper::restartable_wrapper
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void restartable_wrapper(const std::string& dir = ".")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::register_group
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - gr
    argTypes:
    - std::string
    - group_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: tut::restartable_wrapper::register_group
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 2
    functionsReached:
    - tut::restartable_wrapper::register_group
    linkageType: ''
    returnType: void
    signature: void register_group(const std::string& name, group_base* gr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:231,1
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: tut::restartable_wrapper::set_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - insert
    - clear
    linkageType: ''
    returnType: void
    signature: void set_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: tut::restartable_wrapper::insert_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void insert_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: tut::restartable_wrapper::erase_callback
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void erase_callback(callback* cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cb'
    argTypes:
    - callbacks
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: tut::restartable_wrapper::set_callbacks
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_callbacks(const callbacks& cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_callbacks
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: '& get_callbacks() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - get_callbacks
    linkageType: ''
    returnType: callbacks
    signature: callbacks & get_callbacks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::list_groups
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: tut::restartable_wrapper::list_groups
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 3
    functionsReached:
    - tut::restartable_wrapper::list_groups
    linkageType: ''
    returnType: groupnames
    signature: groupnames list_groups() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::read_log_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:271,1
    - Dst: tut::restartable_wrapper::list_groups
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:275,1
    - Dst: tut::groupnames::begin
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:277,1
    - Dst: tut::groupnames::end
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:278,1
    - Dst: tut::restartable_wrapper::register_execution_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:297,1
    - Dst: run_test
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:300,1
    - Dst: tut::restartable_wrapper::register_test_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:304,1
    - Dst: tut::restartable_wrapper::invoke_callback_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:313,1
    - Dst: tut::restartable_wrapper::truncate_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 317
    functionName: tut::restartable_wrapper::run_tests
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 0
    functionsReached:
    - run_test
    - tut::restartable_wrapper::register_test_
    - tut::restartable_wrapper::register_execution_
    - tut::groupnames::end
    - tut::restartable_wrapper::read_log_
    - tut::restartable_wrapper::invoke_callback_
    - tut::restartable_wrapper::list_groups
    - tut::restartable_wrapper::truncate_
    - tut::groupnames::begin
    linkageType: ''
    returnType: void
    signature: void run_tests() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::restartable_wrapper::set_callbacks
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:325,1
    - Dst: cb_run_started_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:326,1
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:329,1
    - Dst: std::ifstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:330,1
    - Dst: tut::util::deserialize
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:333,1
    - Dst: cb_test_completed_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:337,1
    - Dst: cb_run_completed_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 341
    functionName: tut::restartable_wrapper::invoke_callback_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 2
    functionsReached:
    - cb_test_completed_
    - std::ifstream::good
    - tut::restartable_wrapper::set_callbacks
    - cb_run_started_
    - cb_run_completed_
    - tut::util::deserialize
    - c_str
    linkageType: ''
    returnType: void
    signature: void invoke_callback_() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:348,1
    - Dst: tut::util::serialize
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:349,1
    - Dst: std::ofstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:351,1
    - Dst: std::runtime_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: tut::restartable_wrapper::register_test_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 3
    functionsReached:
    - std::runtime_error
    - tut::util::serialize
    - std::ofstream::good
    - c_str
    linkageType: ''
    returnType: void
    signature: void register_test_(const test_result& tr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:364,1
    - Dst: tut::util::escape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:365,1
    - Dst: std::ofstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:366,1
    - Dst: std::runtime_error
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' grp'
    - test
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: tut::restartable_wrapper::register_execution_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 2
    functionsReached:
    - std::runtime_error
    - std::ofstream::good
    - c_str
    - tut::util::escape
    linkageType: ''
    returnType: void
    signature: void register_execution_(const std::string& grp, int test) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:378,1
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: tut::restartable_wrapper::truncate_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 3
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void truncate_() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:388,1
    - Dst: std::getline
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:389,1
    - Dst: tut::util::unescape
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:390,1
    - Dst: std::ifstream::good
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:392,1
    - Dst: tut::restartable_wrapper::truncate_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:396,1
    - Dst: tut::restartable_wrapper::register_test_
      Src: /src/geos/tests/unit/tut/tut_restartable.hpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' fail_group'
    - ' fail_test'
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: tut::restartable_wrapper::read_log_
    functionSourceFile: /src/geos/tests/unit/tut/tut_restartable.hpp
    functionUses: 2
    functionsReached:
    - std::getline
    - std::ifstream::good
    - tut::restartable_wrapper::register_test_
    - c_str
    - tut::util::unescape
    - tut::restartable_wrapper::truncate_
    linkageType: ''
    returnType: void
    signature: void read_log_(std::string& fail_group, int& fail_test) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::detail::abs
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T abs(const T &arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::detail::sig
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T sig(const T &arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:58,1
    - Dst: std::numeric_limits<Result>::quiet_NaN
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:61,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: std::numeric_limits<Result>::infinity
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:69,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:70,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - number
    - divisor
    argTypes:
    - Result
    - T
    assertStmts:
    - condition: (zero < number)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    - condition: (zero < divisor)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: tut::detail::div
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<Result>::infinity
    - static_cast<T>
    - tut::detail::sig
    - std::numeric_limits<Result>::quiet_NaN
    - tut::detail::abs
    - geos::operation::intersection::xmin
    - static_cast<void>
    - assert
    - geos::operation::intersection::xmax
    linkageType: ''
    returnType: Result
    signature: Result div(const Result &number, const T &divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::div
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - actual
    - expected
    - fraction
    argTypes:
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: tut::detail::check_tolerance
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached:
    - tut::detail::div
    - tut::detail::abs
    linkageType: ''
    returnType: bool
    signature: bool check_tolerance(T actual, T expected, U fraction)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::detail::abs
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T abs(const T &arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::detail::sig
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T sig(const T &arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:58,1
    - Dst: std::numeric_limits<Result>::quiet_NaN
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:61,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: std::numeric_limits<Result>::infinity
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:69,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:70,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - number
    - divisor
    argTypes:
    - Result
    - T
    assertStmts:
    - condition: (zero < number)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    - condition: (zero < divisor)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: tut::detail::div
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<Result>::infinity
    - static_cast<T>
    - tut::detail::sig
    - std::numeric_limits<Result>::quiet_NaN
    - tut::detail::abs
    - geos::operation::intersection::xmin
    - static_cast<void>
    - assert
    - geos::operation::intersection::xmax
    linkageType: ''
    returnType: Result
    signature: Result div(const Result &number, const T &divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::div
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - actual
    - expected
    - fraction
    argTypes:
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: tut::detail::check_tolerance
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached:
    - tut::detail::div
    - tut::detail::abs
    linkageType: ''
    returnType: bool
    signature: bool check_tolerance(T actual, T expected, U fraction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::div
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:119,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:119,1
    - Dst: static_cast<typename Traits::Result>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:119,1
    - Dst: static_cast<typename Traits::Result>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:120,1
    - Dst: tut::detail::check_tolerance
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:121,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:133,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - msg
    - ' actual'
    - ' expected'
    - ' tolerance'
    argTypes:
    - char*
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: tut::ensure_close
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached:
    - tut::detail::check_tolerance
    - std::ostringstream::str
    - tut::detail::abs
    - static_cast<typename Traits::Result>
    - tut::failure
    - tut::detail::div
    linkageType: ''
    returnType: void
    signature: void ensure_close(const char* msg, const T& actual, const T& expected,
      const U& tolerance )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_close
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' tolerance'
    argTypes:
    - T
    - T
    - Tolerance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: tut::ensure_close
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 1
    functionsReached:
    - tut::ensure_close
    linkageType: ''
    returnType: void
    signature: void ensure_close(const T& actual, const T& expected, const Tolerance&
      tolerance )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:148,1
    - Dst: tut::detail::check_tolerance
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:150,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:162,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' actual'
    - ' expected'
    - ' fraction'
    argTypes:
    - char*
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: tut::ensure_close_fraction
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached:
    - static_cast<void>
    - std::ostringstream::str
    - tut::detail::check_tolerance
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_close_fraction(const char* msg, const T& actual, const
      T& expected, const U& fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_close
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - msg
    - ' actual'
    - ' expected'
    - ' tolerance'
    argTypes:
    - char*
    - T
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: tut::ensure_close_fraction
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 0
    functionsReached:
    - tut::ensure_close
    linkageType: ''
    returnType: void
    signature: void ensure_close_fraction( const char* msg, const T& actual, const
      T& expected, const int& tolerance )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_close_fraction
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' fraction'
    argTypes:
    - T
    - T
    - Tolerance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: tut::ensure_close_fraction
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 1
    functionsReached:
    - tut::ensure_close_fraction
    linkageType: ''
    returnType: void
    signature: void ensure_close_fraction(const T& actual, const T& expected, const
      Tolerance& fraction)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::detail::abs
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T abs(const T &arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::detail::sig
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T sig(const T &arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:58,1
    - Dst: std::numeric_limits<Result>::quiet_NaN
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:61,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: std::numeric_limits<Result>::infinity
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:69,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:70,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - number
    - divisor
    argTypes:
    - Result
    - T
    assertStmts:
    - condition: (zero < number)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    - condition: (zero < divisor)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: tut::detail::div
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<Result>::infinity
    - static_cast<T>
    - tut::detail::sig
    - std::numeric_limits<Result>::quiet_NaN
    - tut::detail::abs
    - geos::operation::intersection::xmin
    - static_cast<void>
    - assert
    - geos::operation::intersection::xmax
    linkageType: ''
    returnType: Result
    signature: Result div(const Result &number, const T &divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::div
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - actual
    - expected
    - fraction
    argTypes:
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: tut::detail::check_tolerance
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 2
    functionsReached:
    - tut::detail::div
    - tut::detail::abs
    linkageType: ''
    returnType: bool
    signature: bool check_tolerance(T actual, T expected, U fraction)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::detail::abs
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T abs(const T &arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: tut::detail::sig
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T sig(const T &arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:58,1
    - Dst: std::numeric_limits<Result>::quiet_NaN
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:61,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: std::numeric_limits<Result>::infinity
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:67,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:69,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:70,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:73,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:76,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: geos::operation::intersection::xmin
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:78,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:83,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:86,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: tut::detail::sig
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - number
    - divisor
    argTypes:
    - Result
    - T
    assertStmts:
    - condition: (zero < number)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    - condition: (zero < divisor)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/tests/unit/tut/tut_fpt.hpp
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: tut::detail::div
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 4
    functionsReached:
    - std::numeric_limits<Result>::infinity
    - static_cast<T>
    - tut::detail::sig
    - std::numeric_limits<Result>::quiet_NaN
    - tut::detail::abs
    - geos::operation::intersection::xmin
    - static_cast<void>
    - assert
    - geos::operation::intersection::xmax
    linkageType: ''
    returnType: Result
    signature: Result div(const Result &number, const T &divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::div
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:106,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - actual
    - expected
    - fraction
    argTypes:
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: tut::detail::check_tolerance
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 2
    functionsReached:
    - tut::detail::div
    - tut::detail::abs
    linkageType: ''
    returnType: bool
    signature: bool check_tolerance(T actual, T expected, U fraction)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::detail::div
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:119,1
    - Dst: tut::detail::abs
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:119,1
    - Dst: static_cast<typename Traits::Result>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:119,1
    - Dst: static_cast<typename Traits::Result>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:120,1
    - Dst: tut::detail::check_tolerance
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:121,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:133,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - msg
    - ' actual'
    - ' expected'
    - ' tolerance'
    argTypes:
    - char*
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: tut::ensure_close
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 2
    functionsReached:
    - tut::detail::check_tolerance
    - std::ostringstream::str
    - tut::detail::abs
    - static_cast<typename Traits::Result>
    - tut::failure
    - tut::detail::div
    linkageType: ''
    returnType: void
    signature: void ensure_close(const char* msg, const T& actual, const T& expected,
      const U& tolerance )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_close
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' tolerance'
    argTypes:
    - T
    - T
    - Tolerance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: tut::ensure_close
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 3
    functionsReached:
    - tut::ensure_close
    linkageType: ''
    returnType: void
    signature: void ensure_close(const T& actual, const T& expected, const Tolerance&
      tolerance )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:148,1
    - Dst: tut::detail::check_tolerance
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:150,1
    - Dst: tut::failure
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:162,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' actual'
    - ' expected'
    - ' fraction'
    argTypes:
    - char*
    - T
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: tut::ensure_close_fraction
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 1
    functionsReached:
    - static_cast<void>
    - std::ostringstream::str
    - tut::detail::check_tolerance
    - tut::failure
    linkageType: ''
    returnType: void
    signature: void ensure_close_fraction(const char* msg, const T& actual, const
      T& expected, const U& fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_close
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - msg
    - ' actual'
    - ' expected'
    - ' tolerance'
    argTypes:
    - char*
    - T
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: tut::ensure_close_fraction
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 1
    functionsReached:
    - tut::ensure_close
    linkageType: ''
    returnType: void
    signature: void ensure_close_fraction( const char* msg, const T& actual, const
      T& expected, const int& tolerance )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_close_fraction
      Src: /src/geos/tests/unit/tut/tut_fpt.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' actual'
    - ' expected'
    - ' fraction'
    argTypes:
    - T
    - T
    - Tolerance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: tut::ensure_close_fraction
    functionSourceFile: /src/geos/tests/unit/tut/tut_fpt.hpp
    functionUses: 2
    functionsReached:
    - tut::ensure_close_fraction
    linkageType: ''
    returnType: void
    signature: void ensure_close_fraction(const T& actual, const T& expected, const
      Tolerance& fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/tests/unit/tut/tut_result.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: tut::type_name
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: std::string
    signature: std::string type_name(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: tut::type_name
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type_name(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tut::type_name
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type_name(const std::exception&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/geos/tests/unit/tut/tut_result.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: tut::test_result_posix
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached:
    - getpid
    linkageType: ''
    returnType: void
    signature: void test_result_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: ~test_result_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_result_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: ~test_result_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_result_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' grp'
    - pos
    - ' test_name'
    - res
    argTypes:
    - std::string
    - int
    - std::string
    - result_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void test_result(const std::string& grp, int pos,\n                const
      std::string& test_name, result_type res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::what
      Src: /src/geos/tests/unit/tut/tut_result.hpp:152,1
    - Dst: tut::type_name
      Src: /src/geos/tests/unit/tut/tut_result.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' grp'
    - pos
    - ' test_name'
    - res
    - ' p_ex'
    argTypes:
    - std::string
    - int
    - std::string
    - result_type
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached:
    - tut::what
    - tut::type_name
    linkageType: ''
    returnType: void
    signature: "void test_result(const std::string& grp,int pos,\n                const
      std::string& test_name, result_type res,\n                const std::exception&
      p_ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' grp'
    - pos
    - ' test_name'
    - res
    - ' ex_typeid'
    - ' msg'
    argTypes:
    - std::string
    - int
    - std::string
    - result_type
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void test_result(const std::string& grp,int pos,\n                const
      std::string& test_name, result_type res,\n                const std::string&
      ex_typeid,\n                const std::string& msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: ~test_result() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_result() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/tests/unit/tut/tut_result.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: tut::type_name
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 1
    functionsReached:
    - typeid
    linkageType: ''
    returnType: std::string
    signature: std::string type_name(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: tut::type_name
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type_name(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: tut::type_name
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string type_name(const std::exception&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/geos/tests/unit/tut/tut_result.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: tut::test_result_posix
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached:
    - getpid
    linkageType: ''
    returnType: void
    signature: void test_result_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: ~test_result_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_result_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: ~test_result_posix()
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_result_posix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_result()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' grp'
    - pos
    - ' test_name'
    - res
    argTypes:
    - std::string
    - int
    - std::string
    - result_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void test_result(const std::string& grp, int pos,\n                const
      std::string& test_name, result_type res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::what
      Src: /src/geos/tests/unit/tut/tut_result.hpp:152,1
    - Dst: tut::type_name
      Src: /src/geos/tests/unit/tut/tut_result.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' grp'
    - pos
    - ' test_name'
    - res
    - ' p_ex'
    argTypes:
    - std::string
    - int
    - std::string
    - result_type
    - std::exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached:
    - tut::what
    - tut::type_name
    linkageType: ''
    returnType: void
    signature: "void test_result(const std::string& grp,int pos,\n                const
      std::string& test_name, result_type res,\n                const std::exception&
      p_ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' grp'
    - pos
    - ' test_name'
    - res
    - ' ex_typeid'
    - ' msg'
    argTypes:
    - std::string
    - int
    - std::string
    - result_type
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: tut::test_result
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void test_result(const std::string& grp,int pos,\n                const
      std::string& test_name, result_type res,\n                const std::string&
      ex_typeid,\n                const std::string& msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: ~test_result() override
    functionSourceFile: /src/geos/tests/unit/tut/tut_result.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_result() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:53,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:53,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:57,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:70,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:70,1
    - Dst: getpid
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:73,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ' tr'
    - ' failure_type'
    - ' failure_msg'
    argTypes:
    - tut::test_result
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: tut::xml_reporter::xml_build_testcase
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - getpid
    - tut::cppunit_reporter::encode
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string xml_build_testcase(const tut::test_result & tr, const
      std::string & failure_type,\n                                           const
      std::string & failure_msg, int pid = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:102,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - errors
    - failures
    - total
    - ' name'
    - ' testcases'
    argTypes:
    - int
    - int
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: tut::xml_reporter::xml_build_testsuite
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - tut::cppunit_reporter::encode
    linkageType: ''
    returnType: std::string
    signature: "std::string xml_build_testsuite(int errors, int failures, int total,\n
      \                                           const std::string & name, const
      std::string & testcases)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:123,1
    - Dst: std::ofstream::ofstream
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:123,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:130,1
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: tut::xml_reporter::xml_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - good
    - c_str
    - tut_error
    - std::ofstream::ofstream
    linkageType: ''
    returnType: void
    signature: void xml_reporter(const std::string & filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: tut::xml_reporter::xml_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xml_reporter(std::ostream & stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:149,1
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: ~xml_reporter()
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - release
    - empty
    linkageType: ''
    returnType: void
    signature: void ~xml_reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: tut::xml_reporter::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void run_started()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:196,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - tut::test_result
    assertStmts:
    - condition: (!"Should never be called")
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    constantsTouched: []
    func_position:
      end: 201
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 201
    functionName: tut::xml_reporter::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_completed(const tut::test_result& tr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:215,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:215,1
    - Dst: TestResults::begin
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:232,1
    - Dst: TestResults::end
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:232,1
    - Dst: tut::xml_reporter::xml_build_testcase
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:282,1
    - Dst: tut::xml_reporter::xml_build_testcase
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:284,1
    - Dst: tut::xml_reporter::xml_build_testsuite
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:293,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 297
    functionName: tut::xml_reporter::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::xml_reporter::xml_build_testsuite
    - std::ostringstream::str
    - tut::xml_reporter::xml_build_testcase
    - TestResults::end
    - TestResults::begin
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void run_completed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: tut::xml_reporter::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:53,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:53,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:57,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:70,1
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:70,1
    - Dst: getpid
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:73,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ' tr'
    - ' failure_type'
    - ' failure_msg'
    argTypes:
    - tut::test_result
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: tut::xml_reporter::xml_build_testcase
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 1
    functionsReached:
    - getpid
    - tut::cppunit_reporter::encode
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string xml_build_testcase(const tut::test_result & tr, const
      std::string & failure_type,\n                                           const
      std::string & failure_msg, int pid = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::cppunit_reporter::encode
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:102,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - errors
    - failures
    - total
    - ' name'
    - ' testcases'
    argTypes:
    - int
    - int
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: tut::xml_reporter::xml_build_testsuite
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - tut::cppunit_reporter::encode
    linkageType: ''
    returnType: std::string
    signature: "std::string xml_build_testsuite(int errors, int failures, int total,\n
      \                                           const std::string & name, const
      std::string & testcases)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:123,1
    - Dst: std::ofstream::ofstream
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:123,1
    - Dst: good
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:130,1
    - Dst: tut_error
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: tut::xml_reporter::xml_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - good
    - c_str
    - tut_error
    - std::ofstream::ofstream
    linkageType: ''
    returnType: void
    signature: void xml_reporter(const std::string & filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: tut::xml_reporter::xml_reporter
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xml_reporter(std::ostream & stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:149,1
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: ~xml_reporter()
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - release
    - empty
    linkageType: ''
    returnType: void
    signature: void ~xml_reporter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: tut::xml_reporter::run_started
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void run_started()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:196,1
    - Dst: push_back
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' tr'
    argTypes:
    - tut::test_result
    assertStmts:
    - condition: (!"Should never be called")
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    constantsTouched: []
    func_position:
      end: 201
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 201
    functionName: tut::xml_reporter::test_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void test_completed(const tut::test_result& tr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:215,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:215,1
    - Dst: TestResults::begin
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:232,1
    - Dst: TestResults::end
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:232,1
    - Dst: tut::xml_reporter::xml_build_testcase
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:282,1
    - Dst: tut::xml_reporter::xml_build_testcase
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:284,1
    - Dst: tut::xml_reporter::xml_build_testsuite
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:293,1
    - Dst: std::ostringstream::str
      Src: /src/geos/tests/unit/tut/tut_xml_reporter.hpp:293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 297
    functionName: tut::xml_reporter::run_completed
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached:
    - tut::xml_reporter::xml_build_testsuite
    - std::ostringstream::str
    - tut::xml_reporter::xml_build_testcase
    - TestResults::end
    - TestResults::begin
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void run_completed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: tut::xml_reporter::all_ok
    functionSourceFile: /src/geos/tests/unit/tut/tut_xml_reporter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool all_ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: tut::ignore_unused_variable_warning
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_unused_variable_warning(T const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tut::test_object::set_test_group
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_test_group(const char *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - current_test_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tut::test_object::set_test_id
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_test_id(int current_test_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: tut::test_object::test_object
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' current_test_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: tut::test_object::set_test_name
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_test_name(const std::string& current_test_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '& get_test_name() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_test_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '& get_test_group() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_test_group() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: tut::test_object::get_test_id
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_test_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: tut::test_object::test
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: ~test_object() override
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_object() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:130,1
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: tut::reg
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 1
    functionsReached:
    - tut::reg
    linkageType: ''
    returnType: void
    signature: void reg(Group& group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: tut::reg
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reg(Group&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: tut::test_group::safe_holder::safe_holder
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void safe_holder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ~safe_holder()
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void ~safe_holder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '* operator->() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut.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: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: tut::test_group::safe_holder::get
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: tut::test_group::safe_holder::permit_throw
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void permit_throw()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_group::safe_holder::delete_obj
      Src: /src/geos/tests/unit/tut/tut.hpp:232,1
    - Dst: warning
      Src: /src/geos/tests/unit/tut/tut.hpp:234,1
    - Dst: tut::test_group::safe_holder::delete_obj
      Src: /src/geos/tests/unit/tut/tut.hpp:238,1
    - Dst: ignore_unused_variable_warning
      Src: /src/geos/tests/unit/tut/tut.hpp:239,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut.hpp:240,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:249,1
    - Dst: warning
      Src: /src/geos/tests/unit/tut/tut.hpp:250,1
    - Dst: warning
      Src: /src/geos/tests/unit/tut/tut.hpp:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: '(d && "delete failed with SEH disabled: runtime bug?")'
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/geos/tests/unit/tut/tut.hpp
    constantsTouched: []
    func_position:
      end: 261
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 261
    functionName: tut::test_group::safe_holder::release
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - what
    - assert
    - ignore_unused_variable_warning
    - warning
    - tut::test_group::safe_holder::delete_obj
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_group::safe_holder::release
      Src: /src/geos/tests/unit/tut/tut.hpp:268,1
    - Dst: T::T
      Src: /src/geos/tests/unit/tut/tut.hpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: tut::test_group::safe_holder::reset
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - tut::test_group::safe_holder::release
    - T::T
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handle_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:284,1
    - Dst: ::GetExceptionCode
      Src: /src/geos/tests/unit/tut/tut.hpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 293
    functionName: tut::test_group::safe_holder::delete_obj
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 1
    functionsReached:
    - ::GetExceptionCode
    - handle_seh_
    linkageType: ''
    returnType: bool
    signature: bool delete_obj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:309,1
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: tut::test_group::test_group
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - get
    - tut::reg
    linkageType: ''
    returnType: void
    signature: void test_group(const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_group
      Src: /src/geos/tests/unit/tut/tut.hpp:324,1
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - ' another_runner'
    argTypes:
    - char*
    - test_runner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: tut::test_group::test_group
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - register_group
    - tut::reg
    linkageType: ''
    returnType: void
    signature: void test_group(const char* name, test_runner& another_runner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - tm
    argTypes:
    - int
    - testmethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: tut::test_group::reg
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reg(int n, testmethod tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut.hpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: tut::test_group::rewind
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void rewind() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut.hpp:352,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut.hpp:359,1
    - Dst: tut::test_group::run_test_
      Src: /src/geos/tests/unit/tut/tut.hpp:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - tr
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 370
    functionName: tut::test_group::run_next
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - tut::test_group::run_test_
    - end
    linkageType: ''
    returnType: bool
    signature: bool run_next(test_result &tr) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/tests/unit/tut/tut.hpp:377,1
    - Dst: rend
      Src: /src/geos/tests/unit/tut/tut.hpp:377,1
    - Dst: rbegin
      Src: /src/geos/tests/unit/tut/tut.hpp:378,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut.hpp:384,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut.hpp:385,1
    - Dst: tut::test_group::run_test_
      Src: /src/geos/tests/unit/tut/tut.hpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - tr
    argTypes:
    - int
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 392
    functionName: tut::test_group::run_test
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - find
    - rend
    - tut::test_group::run_test_
    - rbegin
    - end
    linkageType: ''
    returnType: bool
    signature: bool run_test(int n, test_result &tr) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_result
      Src: /src/geos/tests/unit/tut/tut.hpp:402,1
    - Dst: tut::test_group::run_test_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:406,1
    - Dst: bad_ctor
      Src: /src/geos/tests/unit/tut/tut.hpp:410,1
    - Dst: seh
      Src: /src/geos/tests/unit/tut/tut.hpp:414,1
    - Dst: result
      Src: /src/geos/tests/unit/tut/tut.hpp:433,1
    - Dst: type
      Src: /src/geos/tests/unit/tut/tut.hpp:434,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:435,1
    - Dst: type_name
      Src: /src/geos/tests/unit/tut/tut.hpp:440,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:441,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:449,1
    - Dst: get_test_name
      Src: /src/geos/tests/unit/tut/tut.hpp:451,1
    - Dst: send_result_
      Src: /src/geos/tests/unit/tut/tut.hpp:454,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ' ti'
    - ' obj'
    - tr
    argTypes:
    - tests_iterator
    - safe_holder<object>
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 462
    functionName: tut::test_group::run_test_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 2
    functionsReached:
    - what
    - send_result_
    - get_test_name
    - tut::test_group::run_test_seh_
    - test_result
    - result
    - get
    - seh
    - type
    - bad_ctor
    - type_name
    linkageType: ''
    returnType: bool
    signature: bool run_test_(const tests_iterator& ti, safe_holder<object>& obj,
      test_result &tr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:474,1
    - Dst: tut::test_group::reset_holder_
      Src: /src/geos/tests/unit/tut/tut.hpp:476,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:486,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:487,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:488,1
    - Dst: handle_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:491,1
    - Dst: ::GetExceptionCode
      Src: /src/geos/tests/unit/tut/tut.hpp:491,1
    - Dst: get_test_name
      Src: /src/geos/tests/unit/tut/tut.hpp:493,1
    - Dst: get_test_name
      Src: /src/geos/tests/unit/tut/tut.hpp:504,1
    - Dst: permit_throw
      Src: /src/geos/tests/unit/tut/tut.hpp:505,1
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut.hpp:506,1
    - Dst: handle_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:509,1
    - Dst: ::GetExceptionCode
      Src: /src/geos/tests/unit/tut/tut.hpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - tm
    - ' obj'
    - ' current_test_name'
    - current_test_id
    argTypes:
    - testmethod
    - safe_holder<object>
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 515
    functionName: tut::test_group::run_test_seh_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 1
    functionsReached:
    - tut::test_group::reset_holder_
    - handle_seh_
    - get_test_name
    - release
    - ::GetExceptionCode
    - get
    - permit_throw
    linkageType: ''
    returnType: seh_result
    signature: "seh_result run_test_seh_(testmethod tm, safe_holder<object>& obj,\n
      \                            std::string& current_test_name, int current_test_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/tests/unit/tut/tut.hpp:521,1
    - Dst: bad_ctor
      Src: /src/geos/tests/unit/tut/tut.hpp:525,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:525,1
    - Dst: bad_ctor
      Src: /src/geos/tests/unit/tut/tut.hpp:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - safe_holder<object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 532
    functionName: tut::test_group::reset_holder_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 1
    functionsReached:
    - reset
    - bad_ctor
    - what
    linkageType: ''
    returnType: void
    signature: void reset_holder_(safe_holder<object>& obj)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - excode
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 569
    functionName: tut::handle_seh_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_seh_(DWORD excode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: tut::ignore_unused_variable_warning
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_unused_variable_warning(T const &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tut::test_object::set_test_group
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_test_group(const char *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - current_test_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: tut::test_object::set_test_id
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_test_id(int current_test_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: tut::test_object::test_object
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' current_test_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: tut::test_object::set_test_name
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_test_name(const std::string& current_test_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '& get_test_name() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_test_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '& get_test_group() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_test_group() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: tut::test_object::get_test_id
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_test_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: tut::test_object::test
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: ~test_object() override
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_object() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:130,1
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' group'
    argTypes:
    - Group
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: tut::reg
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 4
    functionsReached:
    - tut::reg
    linkageType: ''
    returnType: void
    signature: void reg(Group& group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: tut::reg
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reg(Group&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: tut::test_group::safe_holder::safe_holder
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void safe_holder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut.hpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ~safe_holder()
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void ~safe_holder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '* operator->() const'
    functionSourceFile: /src/geos/tests/unit/tut/tut.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: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: tut::test_group::safe_holder::get
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: tut::test_group::safe_holder::permit_throw
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void permit_throw()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_group::safe_holder::delete_obj
      Src: /src/geos/tests/unit/tut/tut.hpp:232,1
    - Dst: warning
      Src: /src/geos/tests/unit/tut/tut.hpp:234,1
    - Dst: tut::test_group::safe_holder::delete_obj
      Src: /src/geos/tests/unit/tut/tut.hpp:238,1
    - Dst: ignore_unused_variable_warning
      Src: /src/geos/tests/unit/tut/tut.hpp:239,1
    - Dst: assert
      Src: /src/geos/tests/unit/tut/tut.hpp:240,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:249,1
    - Dst: warning
      Src: /src/geos/tests/unit/tut/tut.hpp:250,1
    - Dst: warning
      Src: /src/geos/tests/unit/tut/tut.hpp:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: '(d && "delete failed with SEH disabled: runtime bug?")'
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/geos/tests/unit/tut/tut.hpp
    constantsTouched: []
    func_position:
      end: 261
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 261
    functionName: tut::test_group::safe_holder::release
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 1
    functionsReached:
    - what
    - assert
    - ignore_unused_variable_warning
    - warning
    - tut::test_group::safe_holder::delete_obj
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::test_group::safe_holder::release
      Src: /src/geos/tests/unit/tut/tut.hpp:268,1
    - Dst: T::T
      Src: /src/geos/tests/unit/tut/tut.hpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: tut::test_group::safe_holder::reset
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - tut::test_group::safe_holder::release
    - T::T
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handle_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:284,1
    - Dst: ::GetExceptionCode
      Src: /src/geos/tests/unit/tut/tut.hpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 293
    functionName: tut::test_group::safe_holder::delete_obj
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 2
    functionsReached:
    - ::GetExceptionCode
    - handle_seh_
    linkageType: ''
    returnType: bool
    signature: bool delete_obj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:309,1
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: tut::test_group::test_group
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - get
    - tut::reg
    linkageType: ''
    returnType: void
    signature: void test_group(const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_group
      Src: /src/geos/tests/unit/tut/tut.hpp:324,1
    - Dst: tut::reg
      Src: /src/geos/tests/unit/tut/tut.hpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - ' another_runner'
    argTypes:
    - char*
    - test_runner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: tut::test_group::test_group
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - register_group
    - tut::reg
    linkageType: ''
    returnType: void
    signature: void test_group(const char* name, test_runner& another_runner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - tm
    argTypes:
    - int
    - testmethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: tut::test_group::reg
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reg(int n, testmethod tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/tut/tut.hpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: tut::test_group::rewind
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void rewind() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut.hpp:352,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut.hpp:359,1
    - Dst: tut::test_group::run_test_
      Src: /src/geos/tests/unit/tut/tut.hpp:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - tr
    argTypes:
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 370
    functionName: tut::test_group::run_next
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - tut::test_group::run_test_
    - end
    linkageType: ''
    returnType: bool
    signature: bool run_next(test_result &tr) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/tests/unit/tut/tut.hpp:377,1
    - Dst: rend
      Src: /src/geos/tests/unit/tut/tut.hpp:377,1
    - Dst: rbegin
      Src: /src/geos/tests/unit/tut/tut.hpp:378,1
    - Dst: find
      Src: /src/geos/tests/unit/tut/tut.hpp:384,1
    - Dst: end
      Src: /src/geos/tests/unit/tut/tut.hpp:385,1
    - Dst: tut::test_group::run_test_
      Src: /src/geos/tests/unit/tut/tut.hpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - tr
    argTypes:
    - int
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 392
    functionName: tut::test_group::run_test
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached:
    - find
    - rend
    - tut::test_group::run_test_
    - rbegin
    - end
    linkageType: ''
    returnType: bool
    signature: bool run_test(int n, test_result &tr) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_result
      Src: /src/geos/tests/unit/tut/tut.hpp:402,1
    - Dst: tut::test_group::run_test_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:406,1
    - Dst: bad_ctor
      Src: /src/geos/tests/unit/tut/tut.hpp:410,1
    - Dst: seh
      Src: /src/geos/tests/unit/tut/tut.hpp:414,1
    - Dst: result
      Src: /src/geos/tests/unit/tut/tut.hpp:433,1
    - Dst: type
      Src: /src/geos/tests/unit/tut/tut.hpp:434,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:435,1
    - Dst: type_name
      Src: /src/geos/tests/unit/tut/tut.hpp:440,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:441,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:449,1
    - Dst: get_test_name
      Src: /src/geos/tests/unit/tut/tut.hpp:451,1
    - Dst: send_result_
      Src: /src/geos/tests/unit/tut/tut.hpp:454,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ' ti'
    - ' obj'
    - tr
    argTypes:
    - tests_iterator
    - safe_holder<object>
    - test_result
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 462
    functionName: tut::test_group::run_test_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 4
    functionsReached:
    - what
    - send_result_
    - get_test_name
    - tut::test_group::run_test_seh_
    - test_result
    - result
    - get
    - seh
    - type
    - bad_ctor
    - type_name
    linkageType: ''
    returnType: bool
    signature: bool run_test_(const tests_iterator& ti, safe_holder<object>& obj,
      test_result &tr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:474,1
    - Dst: tut::test_group::reset_holder_
      Src: /src/geos/tests/unit/tut/tut.hpp:476,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:486,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:487,1
    - Dst: get
      Src: /src/geos/tests/unit/tut/tut.hpp:488,1
    - Dst: handle_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:491,1
    - Dst: ::GetExceptionCode
      Src: /src/geos/tests/unit/tut/tut.hpp:491,1
    - Dst: get_test_name
      Src: /src/geos/tests/unit/tut/tut.hpp:493,1
    - Dst: get_test_name
      Src: /src/geos/tests/unit/tut/tut.hpp:504,1
    - Dst: permit_throw
      Src: /src/geos/tests/unit/tut/tut.hpp:505,1
    - Dst: release
      Src: /src/geos/tests/unit/tut/tut.hpp:506,1
    - Dst: handle_seh_
      Src: /src/geos/tests/unit/tut/tut.hpp:509,1
    - Dst: ::GetExceptionCode
      Src: /src/geos/tests/unit/tut/tut.hpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - tm
    - ' obj'
    - ' current_test_name'
    - current_test_id
    argTypes:
    - testmethod
    - safe_holder<object>
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 515
    functionName: tut::test_group::run_test_seh_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 2
    functionsReached:
    - tut::test_group::reset_holder_
    - handle_seh_
    - get_test_name
    - release
    - ::GetExceptionCode
    - get
    - permit_throw
    linkageType: ''
    returnType: seh_result
    signature: "seh_result run_test_seh_(testmethod tm, safe_holder<object>& obj,\n
      \                            std::string& current_test_name, int current_test_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/tests/unit/tut/tut.hpp:521,1
    - Dst: bad_ctor
      Src: /src/geos/tests/unit/tut/tut.hpp:525,1
    - Dst: what
      Src: /src/geos/tests/unit/tut/tut.hpp:525,1
    - Dst: bad_ctor
      Src: /src/geos/tests/unit/tut/tut.hpp:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - safe_holder<object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 532
    functionName: tut::test_group::reset_holder_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 2
    functionsReached:
    - reset
    - bad_ctor
    - what
    linkageType: ''
    returnType: void
    signature: void reset_holder_(safe_holder<object>& obj)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - excode
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 569
    functionName: tut::handle_seh_
    functionSourceFile: /src/geos/tests/unit/tut/tut.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_seh_(DWORD excode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tut::test_polygonhull_data
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygonhull_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHull
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - vertexNumFraction
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: tut::checkHullOuter
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkHull
    linkageType: ''
    returnType: void
    signature: void checkHullOuter(const std::string& wkt, double vertexNumFraction,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHull
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - vertexNumFraction
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: tut::checkHullInner
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkHull
    linkageType: ''
    returnType: void
    signature: void checkHullInner(const std::string& wkt, double vertexNumFraction,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:49,1
    - Dst: geos::simplify::PolygonHullSimplifier::hull
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:50,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:52,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:54,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' wkt'
    - isOuter
    - vertexNumFraction
    - ' wktExpected'
    argTypes:
    - std::string
    - bool
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: tut::checkHull
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - geos::simplify::PolygonHullSimplifier::hull
    - std::unique_ptr::get
    - tut::ensure_equals_geometry
    - read
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkHull(const std::string& wkt, bool isOuter, double vertexNumFraction,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:61,1
    - Dst: geos::simplify::PolygonHullSimplifier::hullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:62,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:62,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:65,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:67,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - areaDeltaRatio
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tut::checkHullByAreaDelta
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::simplify::PolygonHullSimplifier::hullByAreaDelta
    - read
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkHullByAreaDelta(const std::string& wkt, double areaDeltaRatio,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:87,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:88,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:100,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:101,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullInner
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullInner
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullInner
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullInner
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullInner
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullInner
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:191,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:192,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:193,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:194,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByAreaDelta
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByAreaDelta
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: tut::test_polygonhull_data
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygonhull_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHull
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - vertexNumFraction
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: tut::checkHullOuter
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkHull
    linkageType: ''
    returnType: void
    signature: void checkHullOuter(const std::string& wkt, double vertexNumFraction,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHull
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - vertexNumFraction
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: tut::checkHullInner
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkHull
    linkageType: ''
    returnType: void
    signature: void checkHullInner(const std::string& wkt, double vertexNumFraction,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:49,1
    - Dst: geos::simplify::PolygonHullSimplifier::hull
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:50,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:52,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:54,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' wkt'
    - isOuter
    - vertexNumFraction
    - ' wktExpected'
    argTypes:
    - std::string
    - bool
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: tut::checkHull
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure
    - geos::simplify::PolygonHullSimplifier::hull
    - std::unique_ptr::get
    - tut::ensure_equals_geometry
    - read
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkHull(const std::string& wkt, bool isOuter, double vertexNumFraction,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:61,1
    - Dst: geos::simplify::PolygonHullSimplifier::hullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:62,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:62,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:65,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:67,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - areaDeltaRatio
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tut::checkHullByAreaDelta
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::simplify::PolygonHullSimplifier::hullByAreaDelta
    - read
    - std::unique_ptr::isValid
    linkageType: ''
    returnType: void
    signature: void checkHullByAreaDelta(const std::string& wkt, double areaDeltaRatio,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:87,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:88,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:100,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:101,1
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullInner
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullInner
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullInner
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullInner
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullInner
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullInner
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullOuter
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullOuter
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:191,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:192,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:193,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:194,1
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByAreaDelta
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHullByAreaDelta
      Src: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/simplify/PolygonHullSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkHullByAreaDelta
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:31,1
    - Dst: get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: tut::test_tpsimp_data
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_tpsimp_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:39,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:40,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:40,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:41,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:42,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:42,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:42,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:43,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - tolerance
    - ' wkt_expected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: tut::checkTPS
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure
    - read
    - GeomPtr::get
    - geos::simplify::TopologyPreservingSimplifier::simplify
    - GeomPtr::isValid
    linkageType: ''
    returnType: void
    signature: void checkTPS(const std::string& wkt, double tolerance, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: tut::checkTPSNoChange
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkTPS
    linkageType: ''
    returnType: void
    signature: void checkTPSNoChange(const std::string& wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: object::test<0>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<0>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: object::test<33>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<33>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:438,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:440,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: object::test<34>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure
    - read
    - geos::simplify::TopologyPreservingSimplifier::simplify
    linkageType: ''
    returnType: void
    signature: void object::test<34>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: object::test<35>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<35>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:31,1
    - Dst: get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: tut::test_tpsimp_data
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_tpsimp_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:39,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:40,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:40,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:41,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:42,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:42,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:42,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:43,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - tolerance
    - ' wkt_expected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: tut::checkTPS
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals_geometry
    - tut::ensure
    - read
    - GeomPtr::get
    - geos::simplify::TopologyPreservingSimplifier::simplify
    - GeomPtr::isValid
    linkageType: ''
    returnType: void
    signature: void checkTPS(const std::string& wkt, double tolerance, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: tut::checkTPSNoChange
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkTPS
    linkageType: ''
    returnType: void
    signature: void checkTPSNoChange(const std::string& wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: object::test<0>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<0>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPSNoChange
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPSNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: object::test<33>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<33>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:438,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:440,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:440,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: object::test<34>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure
    - read
    - geos::simplify::TopologyPreservingSimplifier::simplify
    linkageType: ''
    returnType: void
    signature: void object::test<34>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTPS
      Src: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: object::test<35>()
    functionSourceFile: /src/geos/tests/unit/simplify/TopologyPreservingSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkTPS
    linkageType: ''
    returnType: void
    signature: void object::test<35>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tut::test_dpsimp_data
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_dpsimp_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:42,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:43,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:43,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:45,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:45,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:47,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:48,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:48,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - tolerance
    - ' wkt_expected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: tut::checkDP
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - read
    - GeomPtr::get
    - geos::simplify::DouglasPeuckerSimplifier::simplify
    - GeomPtr::isValid
    linkageType: ''
    returnType: void
    signature: void checkDP(const std::string& wkt, double tolerance, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: tut::checkDPNoChange
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkDP
    linkageType: ''
    returnType: void
    signature: void checkDPNoChange(const std::string& wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:82,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: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:142,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: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDPNoChange
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDPNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDPNoChange
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDPNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:190,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:191,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:192,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:192,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:196,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:197,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:198,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:198,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:198,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:200,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:200,1
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:210,1
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:211,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:216,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:217,1
    - Dst: GeomPtr::apply_rw
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:232,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:234,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:234,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:239,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:240,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:241,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:241,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:241,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:243,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 245
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - setOrdinate
    - GeomPtr::get
    - std::size_t
    - geos::simplify::DouglasPeuckerSimplifier::simplify
    - GeomPtr::equals
    - GeomPtr::getNumPoints
    - geos::ignore_unused_variable_warning
    - ensure_equals
    - ensure
    - GeomPtr::apply_rw
    - GeomPtr::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: tut::Multiplier
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Multiplier(double p_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:210,1
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - setOrdinate
    linkageType: ''
    returnType: void
    signature: void filter_rw(CoordinateSequence& seq, std::size_t i) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:216,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tut::isGeometryChanged
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDPNoChange
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDPNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:342,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:343,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:346,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:346,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:346,1
    - Dst: fail
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - geos::simplify::DouglasPeuckerSimplifier::simplify
    - std::numeric_limits<double>::quiet_NaN
    - fail
    - auto::createPoint
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tut::test_dpsimp_data
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_dpsimp_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:42,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:43,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:43,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:45,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:45,1
    - Dst: read
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:47,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:48,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:48,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - tolerance
    - ' wkt_expected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: tut::checkDP
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - read
    - GeomPtr::get
    - geos::simplify::DouglasPeuckerSimplifier::simplify
    - GeomPtr::isValid
    linkageType: ''
    returnType: void
    signature: void checkDP(const std::string& wkt, double tolerance, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - tolerance
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: tut::checkDPNoChange
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkDP
    linkageType: ''
    returnType: void
    signature: void checkDPNoChange(const std::string& wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:82,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: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:142,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: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDPNoChange
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDPNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDPNoChange
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDPNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:190,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:191,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:192,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:192,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:196,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:197,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:197,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:198,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:198,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:198,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:200,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:200,1
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:210,1
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:211,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:216,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:217,1
    - Dst: GeomPtr::apply_rw
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:232,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:234,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:234,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:239,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:240,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:240,1
    - Dst: ensure
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:241,1
    - Dst: GeomPtr::equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:241,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:241,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:242,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:243,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 245
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - setOrdinate
    - GeomPtr::get
    - std::size_t
    - geos::simplify::DouglasPeuckerSimplifier::simplify
    - GeomPtr::equals
    - GeomPtr::getNumPoints
    - geos::ignore_unused_variable_warning
    - ensure_equals
    - ensure
    - GeomPtr::apply_rw
    - GeomPtr::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: tut::Multiplier
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Multiplier(double p_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:210,1
    - Dst: setOrdinate
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: tut::filter_rw
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - setOrdinate
    linkageType: ''
    returnType: void
    signature: void filter_rw(CoordinateSequence& seq, std::size_t i) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:216,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: tut::filter_ro
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: tut::isDone
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tut::isGeometryChanged
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDPNoChange
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDPNoChange
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDP
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - checkDP
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:342,1
    - Dst: auto::createPoint
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:343,1
    - Dst: geos::simplify::DouglasPeuckerSimplifier::simplify
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:346,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:346,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:346,1
    - Dst: fail
      Src: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - geos::simplify::DouglasPeuckerSimplifier::simplify
    - std::numeric_limits<double>::quiet_NaN
    - fail
    - auto::createPoint
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:34,1
    - Dst: get
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: tut::test_uniquecoordinatearrayfilter_data
    functionSourceFile: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_uniquecoordinatearrayfilter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:61,1
    - Dst: GeometryPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:61,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:64,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:73,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:73,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:77,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:80,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:81,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:82,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:83,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:84,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:85,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:86,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:87,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 88
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::apply_ro
    - read
    - GeometryPtr::getCoordinates
    - GeometryPtr::getGeometryTypeId
    - Coordinate::ConstVect::at
    - ensure_equals
    - std::unique_ptr::getSize
    - Coordinate::ConstVect::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:34,1
    - Dst: get
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: tut::test_uniquecoordinatearrayfilter_data
    functionSourceFile: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_uniquecoordinatearrayfilter_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:59,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:61,1
    - Dst: GeometryPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:61,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:64,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:73,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:73,1
    - Dst: GeometryPtr::apply_ro
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:77,1
    - Dst: GeometryPtr::getCoordinates
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:79,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:80,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:81,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:82,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:83,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:83,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:84,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:85,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:85,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:86,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:86,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:87,1
    - Dst: Coordinate::ConstVect::at
      Src: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 88
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/util/UniqueCoordinateArrayFilterTest.cpp
    functionUses: 0
    functionsReached:
    - GeometryPtr::apply_ro
    - read
    - GeometryPtr::getCoordinates
    - GeometryPtr::getGeometryTypeId
    - Coordinate::ConstVect::at
    - ensure_equals
    - std::unique_ptr::getSize
    - Coordinate::ConstVect::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:38,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:38,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:38,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:40,1
    - Dst: std::move
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:40,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - nodedList
    - geomFact
    argTypes:
    - std::vector<SegmentString*>*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: geos::NodingTestUtil::toLines
    functionSourceFile: /src/geos/tests/unit/util/NodingTestUtil.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    - CoordinateSequence*::clone
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> NodingTestUtil::toLines(const std::vector<SegmentString*>*
      nodedList, const GeometryFactory* geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:56,1
    - Dst: hasM
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:65,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' lines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: geos::NodingTestUtil::toSegmentStrings
    functionSourceFile: /src/geos/tests/unit/util/NodingTestUtil.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - hasZ
    - std::vector::push_back
    - hasM
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: std::vector<SegmentString*> NodingTestUtil::toSegmentStrings(std::vector<const
      LineString*>& lines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:78,1
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:80,1
    - Dst: geos::NodingTestUtil::toSegmentStrings
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:84,1
    - Dst: ValidatingNoder::computeNodes
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:89,1
    - Dst: ValidatingNoder::getNodedSubstrings
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:95,1
    - Dst: geos::NodingTestUtil::toLines
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:102,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - geom1
    - geom2
    - noder
    argTypes:
    - Geometry*
    - Geometry*
    - Noder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: geos::NodingTestUtil::nodeValidated
    functionSourceFile: /src/geos/tests/unit/util/NodingTestUtil.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - ValidatingNoder::getNodedSubstrings
    - geos::NodingTestUtil::toSegmentStrings
    - geos::geom::util::LinearComponentExtracter::getLines
    - geos::NodingTestUtil::toLines
    - ValidatingNoder::computeNodes
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> NodingTestUtil::nodeValidated(const Geometry*
      geom1, const Geometry* geom2, Noder* noder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:34,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:38,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:38,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:38,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:40,1
    - Dst: std::move
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:40,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - nodedList
    - geomFact
    argTypes:
    - std::vector<SegmentString*>*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: geos::NodingTestUtil::toLines
    functionSourceFile: /src/geos/tests/unit/util/NodingTestUtil.cpp
    functionUses: 1
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    - CoordinateSequence*::clone
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> NodingTestUtil::toLines(const std::vector<SegmentString*>*
      nodedList, const GeometryFactory* geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:56,1
    - Dst: hasM
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:65,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' lines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: geos::NodingTestUtil::toSegmentStrings
    functionSourceFile: /src/geos/tests/unit/util/NodingTestUtil.cpp
    functionUses: 1
    functionsReached:
    - getCoordinates
    - hasZ
    - std::vector::push_back
    - hasM
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: std::vector<SegmentString*> NodingTestUtil::toSegmentStrings(std::vector<const
      LineString*>& lines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:78,1
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:80,1
    - Dst: geos::NodingTestUtil::toSegmentStrings
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:84,1
    - Dst: ValidatingNoder::computeNodes
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:89,1
    - Dst: ValidatingNoder::getNodedSubstrings
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:95,1
    - Dst: geos::NodingTestUtil::toLines
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:102,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/tests/unit/util/NodingTestUtil.cpp:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - geom1
    - geom2
    - noder
    argTypes:
    - Geometry*
    - Geometry*
    - Noder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: geos::NodingTestUtil::nodeValidated
    functionSourceFile: /src/geos/tests/unit/util/NodingTestUtil.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - ValidatingNoder::getNodedSubstrings
    - geos::NodingTestUtil::toSegmentStrings
    - geos::geom::util::LinearComponentExtracter::getLines
    - geos::NodingTestUtil::toLines
    - ValidatingNoder::computeNodes
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> NodingTestUtil::nodeValidated(const Geometry*
      geom1, const Geometry* geom2, Noder* noder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::test_segmentpointcomparator_data
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_segmentpointcomparator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::compare
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:51,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:52,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:53,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - octant
    - x0
    - y0
    - x1
    - y1
    - expectedPositionValue
    argTypes:
    - int
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: tut::checkNodePosition
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - Coordinate
    - tut::compare
    linkageType: ''
    returnType: void
    signature: "void checkNodePosition(int octant, double x0, double y0,\n                      double
      x1, double y1, int\n                      expectedPositionValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:65,1
    - Dst: tut::compare
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:66,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' seg'
    - ' p0'
    - ' p1'
    - expectedPositionValue
    argTypes:
    - LineSegment
    - Coordinate
    - Coordinate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tut::checkNodePosition
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - geos::noding::Octant::octant
    - tut::compare
    linkageType: ''
    returnType: void
    signature: "void checkNodePosition(const LineSegment& seg, const Coordinate& p0,\n
      \                     const Coordinate& p1, int expectedPositionValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:76,1
    - Dst: makePrecise
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seg'
    - dist
    argTypes:
    - LineSegment
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: tut::computePoint
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - makePrecise
    - getLength
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate computePoint(const LineSegment& seg, double dist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::computePoint
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:87,1
    - Dst: tut::computePoint
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:88,1
    - Dst: Coordinate::equals
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:89,1
    - Dst: tut::checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:90,1
    - Dst: tut::checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:93,1
    - Dst: tut::checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' seg'
    - dist0
    - dist1
    argTypes:
    - LineSegment
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: tut::checkPointsAtDistance
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::equals
    - tut::computePoint
    - tut::checkNodePosition
    linkageType: ''
    returnType: void
    signature: "void checkPointsAtDistance(const LineSegment& seg,\n                          double
      dist0, double dist1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:108,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:110,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:111,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:112,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: tut::checkSegment
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkPointsAtDistance
    - getScale
    linkageType: ''
    returnType: void
    signature: void checkSegment(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:135,1
    - Dst: checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodePosition
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:145,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:146,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:147,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:148,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:158,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:159,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:160,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:170,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:171,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:172,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:182,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:183,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:184,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::test_segmentpointcomparator_data
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_segmentpointcomparator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::compare
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:51,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:52,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:53,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - octant
    - x0
    - y0
    - x1
    - y1
    - expectedPositionValue
    argTypes:
    - int
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: tut::checkNodePosition
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - Coordinate
    - tut::compare
    linkageType: ''
    returnType: void
    signature: "void checkNodePosition(int octant, double x0, double y0,\n                      double
      x1, double y1, int\n                      expectedPositionValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:65,1
    - Dst: tut::compare
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:66,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' seg'
    - ' p0'
    - ' p1'
    - expectedPositionValue
    argTypes:
    - LineSegment
    - Coordinate
    - Coordinate
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: tut::checkNodePosition
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - geos::noding::Octant::octant
    - tut::compare
    linkageType: ''
    returnType: void
    signature: "void checkNodePosition(const LineSegment& seg, const Coordinate& p0,\n
      \                     const Coordinate& p1, int expectedPositionValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:76,1
    - Dst: makePrecise
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seg'
    - dist
    argTypes:
    - LineSegment
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: tut::computePoint
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 1
    functionsReached:
    - makePrecise
    - getLength
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate computePoint(const LineSegment& seg, double dist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::computePoint
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:87,1
    - Dst: tut::computePoint
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:88,1
    - Dst: Coordinate::equals
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:89,1
    - Dst: tut::checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:90,1
    - Dst: tut::checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:93,1
    - Dst: tut::checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' seg'
    - dist0
    - dist1
    argTypes:
    - LineSegment
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: tut::checkPointsAtDistance
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 1
    functionsReached:
    - Coordinate::equals
    - tut::computePoint
    - tut::checkNodePosition
    linkageType: ''
    returnType: void
    signature: "void checkPointsAtDistance(const LineSegment& seg,\n                          double
      dist0, double dist1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:108,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:110,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:111,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:112,1
    - Dst: tut::checkPointsAtDistance
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: tut::checkSegment
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkPointsAtDistance
    - getScale
    linkageType: ''
    returnType: void
    signature: void checkSegment(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:135,1
    - Dst: checkNodePosition
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodePosition
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:145,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:146,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:147,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:148,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:158,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:159,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:160,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:170,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:171,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:172,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:182,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:183,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:184,1
    - Dst: checkSegment
      Src: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentPointComparatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkSegment
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentStringAutoPtr
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:43,1
    - Dst: geos::noding::NodedSegmentString::NodedSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - geos::geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::makeSegmentString
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::NodedSegmentString
    - SegmentStringAutoPtr
    linkageType: ''
    returnType: SegmentStringAutoPtr
    signature: SegmentStringAutoPtr makeSegmentString(geos::geom::CoordinateSequence*
      cs, void* d = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:55,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:55,1
    - Dst: std::move
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:55,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:57,1
    - Dst: std::move
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' ss'
    - gf
    argTypes:
    - SegmentString::NonConstVect
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: tut::toLines
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - GeometryFactory*::createLineString
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> toLines(SegmentString::NonConstVect& ss,
      const GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:66,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:68,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:69,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:71,1
    - Dst: NodedSegmentString::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:72,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:72,1
    - Dst: std::vector<size_t>::at
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:72,1
    - Dst: NodedSegmentString::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:76,1
    - Dst: tut::toLines
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:77,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:77,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:82,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:83,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:83,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' wktLine'
    - ' wktNodes'
    - segmentIndex
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::vector<size_t>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: tut::checkNoding
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector<size_t>::at
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::getAt
    - read
    - std::unique_ptr::getCoordinates
    - std::unique_ptr::getFactory
    - NodedSegmentString::addIntersection
    - std::unique_ptr::size
    - NodedSegmentString::getNodeList
    - tut::toLines
    linkageType: ''
    returnType: void
    signature: void checkNoding(const std::string& wktLine, const std::string& wktNodes,
      std::vector<size_t> segmentIndex, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: tut::test_nodedsegmentstring_data
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_nodedsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: ~test_nodedsegmentstring_data()
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_nodedsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:113,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:113,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:118,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:121,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:121,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:123,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:124,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:126,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:128,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:130,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:132,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:134,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:136,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:138,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - ensure
    - auto::release
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:149,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:149,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:154,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:157,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:159,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:160,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:162,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:164,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:166,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:168,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:170,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:172,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:172,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:174,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 175
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - ensure
    - auto::release
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:185,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:185,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:191,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:192,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:193,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:196,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:196,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:198,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:199,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:201,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:203,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:203,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:205,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:205,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:207,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:209,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:211,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:213,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:213,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:215,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:215,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:217,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:219,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:219,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:221,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 222
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - ensure
    - auto::release
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:236,1
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:237,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:256,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:257,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:258,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:260,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:262,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:262,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:266,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:266,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:270,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:271,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:271,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:274,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:274,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:277,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:277,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:279,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:280,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 282
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::addIntersection
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - auto::release
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:299,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:300,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:301,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:302,1
    - Dst: checkNoding
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - checkNoding
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentStringAutoPtr
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:43,1
    - Dst: geos::noding::NodedSegmentString::NodedSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - geos::geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::makeSegmentString
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::NodedSegmentString
    - SegmentStringAutoPtr
    linkageType: ''
    returnType: SegmentStringAutoPtr
    signature: SegmentStringAutoPtr makeSegmentString(geos::geom::CoordinateSequence*
      cs, void* d = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:55,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:55,1
    - Dst: std::move
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:55,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:57,1
    - Dst: std::move
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' ss'
    - gf
    argTypes:
    - SegmentString::NonConstVect
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: tut::toLines
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - GeometryFactory*::createLineString
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> toLines(SegmentString::NonConstVect& ss,
      const GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:65,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:66,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:68,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:69,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:71,1
    - Dst: NodedSegmentString::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:72,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:72,1
    - Dst: std::vector<size_t>::at
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:72,1
    - Dst: NodedSegmentString::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:76,1
    - Dst: tut::toLines
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:77,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:77,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:82,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:83,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:83,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' wktLine'
    - ' wktNodes'
    - segmentIndex
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::vector<size_t>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: tut::checkNoding
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector<size_t>::at
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::getAt
    - read
    - std::unique_ptr::getCoordinates
    - std::unique_ptr::getFactory
    - NodedSegmentString::addIntersection
    - std::unique_ptr::size
    - NodedSegmentString::getNodeList
    - tut::toLines
    linkageType: ''
    returnType: void
    signature: void checkNoding(const std::string& wktLine, const std::string& wktNodes,
      std::vector<size_t> segmentIndex, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: tut::test_nodedsegmentstring_data
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_nodedsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: ~test_nodedsegmentstring_data()
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_nodedsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:111,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:113,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:113,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:118,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:121,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:121,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:123,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:124,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:126,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:128,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:130,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:132,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:134,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:136,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:136,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:138,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - ensure
    - auto::release
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:147,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:149,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:149,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:154,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:155,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:157,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:159,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:160,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:162,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:164,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:164,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:166,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:168,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:168,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:170,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:170,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:172,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:172,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:174,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 175
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - ensure
    - auto::release
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:185,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:185,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:191,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:192,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:193,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:196,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:196,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:198,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:199,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:201,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:203,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:203,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:205,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:205,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:207,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:209,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:211,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:213,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:213,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:215,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:215,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:217,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:219,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:219,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:221,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 222
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - ensure
    - auto::release
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:236,1
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:237,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 244
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:256,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:257,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:258,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:260,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:262,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:262,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:266,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:266,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:270,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:271,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:271,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:274,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:274,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:277,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:277,1
    - Dst: SegmentStringAutoPtr::addIntersection
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:279,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:280,1
    - Dst: SegmentStringAutoPtr::getNodeList
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 282
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::addIntersection
    - SegmentStringAutoPtr::getNodeList
    - makeSegmentString
    - ensure_equals
    - auto::release
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:299,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:300,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:301,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:302,1
    - Dst: checkNoding
      Src: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/NodedSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - checkNoding
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:38,1
    - Dst: get
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tut::test_orientedcoordinatearray_data
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_orientedcoordinatearray_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:44,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tut::coords_from_wkt
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::getCoordinates
    - read
    linkageType: ''
    returnType: CoordSeqPtr
    signature: CoordSeqPtr coords_from_wkt(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:69,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:80,1
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:84,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:97,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:108,1
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:112,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:123,1
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:127,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:128,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:38,1
    - Dst: get
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tut::test_orientedcoordinatearray_data
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_orientedcoordinatearray_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:44,1
    - Dst: GeomPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tut::coords_from_wkt
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::getCoordinates
    - read
    linkageType: ''
    returnType: CoordSeqPtr
    signature: CoordSeqPtr coords_from_wkt(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:69,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:80,1
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:84,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:97,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:108,1
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:112,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:123,1
    - Dst: coords_from_wkt
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:127,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:128,1
    - Dst: OrientedCoordinateArray::compareTo
      Src: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/OrientedCoordinateArrayTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_equals
    - coords_from_wkt
    - OrientedCoordinateArray::compareTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: tut::test_segmentnode_data
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_segmentnode_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:55,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:55,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:59,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:62,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:62,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:68,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:73,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:79,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:104,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:104,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:111,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:111,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:117,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:117,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:122,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:128,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:147,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:147,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:152,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:154,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:160,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:160,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:165,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:171,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 175
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:188,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:190,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:190,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:194,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:195,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:197,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:197,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:203,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:208,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:211,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:214,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: tut::test_segmentnode_data
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_segmentnode_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:53,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:55,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:55,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:59,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:60,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:62,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:62,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:68,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:73,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:76,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:79,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 89
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:102,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:104,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:104,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:109,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:111,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:111,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:117,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:117,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:122,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:125,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:128,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:147,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:147,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:152,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:154,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:160,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:160,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:165,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:168,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:171,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 175
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:188,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:190,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:190,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:194,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:195,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:197,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:197,1
    - Dst: auto::release
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:203,1
    - Dst: NodedSegmentString::size
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:208,1
    - Dst: NodedSegmentString::getSegmentOctant
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:211,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:214,1
    - Dst: SegmentNode::isInterior
      Src: /src/geos/tests/unit/noding/SegmentNodeTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/SegmentNodeTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentNode::isInterior
    - NodedSegmentString::size
    - ensure_equals
    - ensure
    - auto::release
    - auto::get
    - Coordinate
    - NodedSegmentString::getSegmentOctant
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentStringAutoPtr
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:31,1
    - Dst: geos::noding::BasicSegmentString::BasicSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - geos::geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: tut::makeSegmentString
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - SegmentStringAutoPtr
    - geos::noding::BasicSegmentString::BasicSegmentString
    linkageType: ''
    returnType: SegmentStringAutoPtr
    signature: SegmentStringAutoPtr makeSegmentString(geos::geom::CoordinateSequence*
      cs, void* d = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tut::test_basicsegmentstring_data
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_basicsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ~test_basicsegmentstring_data()
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_basicsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:63,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:63,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:71,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:71,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:73,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:74,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:76,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:78,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:80,1
    - Dst: SegmentStringAutoPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:80,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:82,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:84,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:86,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:86,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - SegmentStringAutoPtr::getCoordinates
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - makeSegmentString
    - ensure_equals
    - ensure
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:108,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:113,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:116,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:116,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:118,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:119,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:121,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:123,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:125,1
    - Dst: SegmentStringAutoPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:125,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:127,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:129,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:131,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:133,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - SegmentStringAutoPtr::getCoordinates
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - makeSegmentString
    - ensure_equals
    - ensure
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:145,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:145,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:152,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:153,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:156,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:158,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:159,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:159,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:161,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:163,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:163,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:165,1
    - Dst: SegmentStringAutoPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:165,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:167,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:169,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:171,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:171,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:173,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:175,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:175,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:177,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:179,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:181,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 183
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - SegmentStringAutoPtr::getCoordinates
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - makeSegmentString
    - ensure_equals
    - ensure
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:197,1
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentStringAutoPtr
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:31,1
    - Dst: geos::noding::BasicSegmentString::BasicSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - geos::geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: tut::makeSegmentString
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - SegmentStringAutoPtr
    - geos::noding::BasicSegmentString::BasicSegmentString
    linkageType: ''
    returnType: SegmentStringAutoPtr
    signature: SegmentStringAutoPtr makeSegmentString(geos::geom::CoordinateSequence*
      cs, void* d = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tut::test_basicsegmentstring_data
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_basicsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ~test_basicsegmentstring_data()
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~test_basicsegmentstring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:61,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:63,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:63,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:69,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:71,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:71,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:73,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:73,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:74,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:74,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:76,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:78,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:78,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:80,1
    - Dst: SegmentStringAutoPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:80,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:80,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:82,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:82,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:84,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:86,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:86,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - SegmentStringAutoPtr::getCoordinates
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - makeSegmentString
    - ensure_equals
    - ensure
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:106,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:108,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:113,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:116,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:116,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:118,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:118,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:119,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:121,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:123,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:125,1
    - Dst: SegmentStringAutoPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:125,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:127,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:127,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:129,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:131,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:133,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - SegmentStringAutoPtr::getCoordinates
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - makeSegmentString
    - ensure_equals
    - ensure
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:145,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:145,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:152,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:153,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:156,1
    - Dst: makeSegmentString
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:158,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:159,1
    - Dst: SegmentStringAutoPtr::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:159,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:161,1
    - Dst: SegmentStringAutoPtr::size
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:163,1
    - Dst: SegmentStringAutoPtr::getData
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:163,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:165,1
    - Dst: SegmentStringAutoPtr::getCoordinates
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:165,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:167,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:167,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:169,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:171,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:171,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:173,1
    - Dst: SegmentStringAutoPtr::getCoordinate
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:173,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:175,1
    - Dst: SegmentStringAutoPtr::isClosed
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:175,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:177,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:179,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:179,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:181,1
    - Dst: SegmentStringAutoPtr::getSegmentOctant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 183
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - SegmentStringAutoPtr::getCoordinates
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - SegmentStringAutoPtr::isClosed
    - SegmentStringAutoPtr::getSegmentOctant
    - makeSegmentString
    - ensure_equals
    - ensure
    - SegmentStringAutoPtr::getCoordinate
    - auto::get
    - SegmentStringAutoPtr::get
    - SegmentStringAutoPtr::getData
    - SegmentStringAutoPtr::size
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:197,1
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:198,1
    - Dst: ensure
      Src: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/BasicSegmentStringTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:45,1
    - Dst: size
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:48,1
    - Dst: geos::NodingTestUtil::nodeValidated
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:51,1
    - Dst: size
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:56,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - snapDist
    - ' expected_wkt'
    argTypes:
    - std::string
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: tut::checkRounding
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::NodingTestUtil::nodeValidated
    - size
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkRounding(const std::string& wkt1, const std::string& wkt2,
      double snapDist, std::string& expected_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:45,1
    - Dst: size
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:48,1
    - Dst: geos::NodingTestUtil::nodeValidated
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:51,1
    - Dst: size
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:56,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - snapDist
    - ' expected_wkt'
    argTypes:
    - std::string
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: tut::checkRounding
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::NodingTestUtil::nodeValidated
    - size
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkRounding(const std::string& wkt1, const std::string& wkt2,
      double snapDist, std::string& expected_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/noding/snap/SnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:46,1
    - Dst: geos::NodingTestUtil::nodeValidated
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:49,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:49,1
    - Dst: size
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:54,1
    - Dst: tut::ensure_equals_geometry_xyzm
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt'
    - scale
    - ' expected_wkt'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: tut::checkRounding
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::NodingTestUtil::nodeValidated
    - std::unique_ptr::get
    - size
    - read
    - tut::ensure_equals_geometry_xyzm
    linkageType: ''
    returnType: void
    signature: void checkRounding(std::string& wkt, double scale, std::string& expected_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:84,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: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:46,1
    - Dst: geos::NodingTestUtil::nodeValidated
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:49,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:49,1
    - Dst: size
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:54,1
    - Dst: tut::ensure_equals_geometry_xyzm
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt'
    - scale
    - ' expected_wkt'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: tut::checkRounding
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::NodingTestUtil::nodeValidated
    - std::unique_ptr::get
    - size
    - read
    - tut::ensure_equals_geometry_xyzm
    linkageType: ''
    returnType: void
    signature: void checkRounding(std::string& wkt, double scale, std::string& expected_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:84,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: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRounding
      Src: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/SnapRoundingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - checkRounding
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tut::test_mcidxsnprndr_data
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void test_mcidxsnprndr_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:63,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:63,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:63,1
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:65,1
    - Dst: std::move
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' vct'
    argTypes:
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tut::getGeometry
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - std::move
    - size
    - SegmentString*::getCoordinates
    - std::vector::push_back
    - createLineString
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr getGeometry(SegStrVct& vct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:71,1
    - Dst: push_back
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: CoordSeqPtr::release
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: hasM
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' vct'
    argTypes:
    - Geometry
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tut::getSegmentStrings
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - hasZ
    - push_back
    - CoordSeqPtr::release
    - hasM
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void getSegmentStrings(const Geometry& g, SegStrVct& vct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKBReader::readHEX
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:82,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: tut::readGeometry
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - WKBReader::readHEX
    - WKTReader::read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readGeometry(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readGeometry
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:94,1
    - Dst: tut::getSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' vct'
    argTypes:
    - std::string
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: tut::getSegmentStrings
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 1
    functionsReached:
    - tut::getSegmentStrings
    - tut::readGeometry
    linkageType: ''
    returnType: void
    signature: void getSegmentStrings(const std::string& wkt, SegStrVct& vct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' vct'
    argTypes:
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: tut::freeSegmentStrings
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void freeSegmentStrings(SegStrVct& vct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:133,1
    - Dst: SegStrVct::size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:138,1
    - Dst: SegStrVct::size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:138,1
    - Dst: MCIndexSnapRounder::computeNodes
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:139,1
    - Dst: MCIndexSnapRounder::getNodedSubstrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:142,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:142,1
    - Dst: freeSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:144,1
    - Dst: freeSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - SegStrVct::size
    - ensure_equals
    - std::unique_ptr::size
    - freeSegmentStrings
    - MCIndexSnapRounder::getNodedSubstrings
    - MCIndexSnapRounder::computeNodes
    - getSegmentStrings
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tut::test_mcidxsnprndr_data
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void test_mcidxsnprndr_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:63,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:63,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:63,1
    - Dst: createMultiLineString
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:65,1
    - Dst: std::move
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' vct'
    argTypes:
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tut::getGeometry
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - std::move
    - size
    - SegmentString*::getCoordinates
    - std::vector::push_back
    - createLineString
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr getGeometry(SegStrVct& vct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:71,1
    - Dst: push_back
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: CoordSeqPtr::release
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: hasZ
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: hasM
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' vct'
    argTypes:
    - Geometry
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: tut::getSegmentStrings
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 1
    functionsReached:
    - getCoordinates
    - hasZ
    - push_back
    - CoordSeqPtr::release
    - hasM
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void getSegmentStrings(const Geometry& g, SegStrVct& vct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKBReader::readHEX
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:82,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: tut::readGeometry
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 1
    functionsReached:
    - WKBReader::readHEX
    - WKTReader::read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readGeometry(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readGeometry
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:94,1
    - Dst: tut::getSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - ' vct'
    argTypes:
    - std::string
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: tut::getSegmentStrings
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 2
    functionsReached:
    - tut::getSegmentStrings
    - tut::readGeometry
    linkageType: ''
    returnType: void
    signature: void getSegmentStrings(const std::string& wkt, SegStrVct& vct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' vct'
    argTypes:
    - SegStrVct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: tut::freeSegmentStrings
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void freeSegmentStrings(SegStrVct& vct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:133,1
    - Dst: SegStrVct::size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:133,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:138,1
    - Dst: SegStrVct::size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:138,1
    - Dst: MCIndexSnapRounder::computeNodes
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:139,1
    - Dst: MCIndexSnapRounder::getNodedSubstrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:140,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:142,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:142,1
    - Dst: freeSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:144,1
    - Dst: freeSegmentStrings
      Src: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/MCIndexSnapRounderTest.cpp
    functionUses: 0
    functionsReached:
    - SegStrVct::size
    - ensure_equals
    - std::unique_ptr::size
    - freeSegmentStrings
    - MCIndexSnapRounder::getNodedSubstrings
    - MCIndexSnapRounder::computeNodes
    - getSegmentStrings
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HotPixel::intersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:31,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - testname
    - expected
    - x
    - y
    - scale
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - std::string
    - bool
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: tut::checkIntersects
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - HotPixel::intersects
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: "void checkIntersects(std::string testname, bool expected,\n        double
      x, double y, double scale,\n        double x1, double y1, double x2, double
      y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: object::test<33>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<33>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HotPixel::intersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:31,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - testname
    - expected
    - x
    - y
    - scale
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - std::string
    - bool
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: tut::checkIntersects
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - HotPixel::intersects
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: "void checkIntersects(std::string testname, bool expected,\n        double
      x, double y, double scale,\n        double x1, double y1, double x2, double
      y2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: object::test<28>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<28>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: object::test<29>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<29>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: object::test<30>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<30>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: object::test<31>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<31>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: object::test<32>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<32>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersects
      Src: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: object::test<33>()
    functionSourceFile: /src/geos/tests/unit/noding/snapround/HotPixelTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersects
    linkageType: ''
    returnType: void
    signature: void object::test<33>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:25,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:26,1
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:31,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:31,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - ' wktExpected'
    argTypes:
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: tut::runBoundaryTest
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - tut::ensure
    - read
    - BoundaryOp::getBoundary
    - auto::get
    linkageType: ''
    returnType: void
    signature: void runBoundaryTest(const std::string& wkt, const BoundaryNodeRule&
      bnRule, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:36,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tut::checkHasBoundary
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 1
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - tut::checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void checkHasBoundary(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:41,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - expected
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tut::checkHasBoundary
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 2
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - tut::checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void checkHasBoundary(const std::string& wkt, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:47,1
    - Dst: geos::operation::BoundaryOp::hasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - expected
    argTypes:
    - std::string
    - BoundaryNodeRule
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: tut::checkHasBoundary
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 2
    functionsReached:
    - read
    - geos::operation::BoundaryOp::hasBoundary
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkHasBoundary(const std::string& wkt, const BoundaryNodeRule&
      bnRule, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:64,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:75,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:75,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:78,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:78,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:81,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:81,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:84,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:95,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:95,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:98,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:98,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:101,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:101,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:104,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:115,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:115,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:118,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:129,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:129,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:131,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:25,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:26,1
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:29,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:31,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:31,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - ' wktExpected'
    argTypes:
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: tut::runBoundaryTest
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - tut::ensure
    - read
    - BoundaryOp::getBoundary
    - auto::get
    linkageType: ''
    returnType: void
    signature: void runBoundaryTest(const std::string& wkt, const BoundaryNodeRule&
      bnRule, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:36,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tut::checkHasBoundary
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 3
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - tut::checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void checkHasBoundary(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:41,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - expected
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tut::checkHasBoundary
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 4
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - tut::checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void checkHasBoundary(const std::string& wkt, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:47,1
    - Dst: geos::operation::BoundaryOp::hasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - expected
    argTypes:
    - std::string
    - BoundaryNodeRule
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: tut::checkHasBoundary
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 4
    functionsReached:
    - read
    - geos::operation::BoundaryOp::hasBoundary
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkHasBoundary(const std::string& wkt, const BoundaryNodeRule&
      bnRule, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:64,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:75,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:75,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:78,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:78,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:81,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:81,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:84,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:95,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:95,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:98,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:98,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:101,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:101,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:104,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:115,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:115,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:118,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:129,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:129,1
    - Dst: runBoundaryTest
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:131,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - runBoundaryTest
    - BoundaryNodeRule::getBoundaryEndPoint
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkHasBoundary
      Src: /src/geos/tests/unit/operation/BoundaryOpTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/BoundaryOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkHasBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tut::test_polygonizetest_data
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygonizetest_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:56,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cnt'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void delAll(T& cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:65,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' cnt'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: tut::printAll
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void printAll(std::ostream& os, T& cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:74,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:74,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cnt'
    - g
    argTypes:
    - T
    - Geom*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: tut::contains
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 2
    functionsReached:
    - equalsExact
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool contains(T& cnt, const Geom* g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:90,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:90,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:91,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:92,1
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:95,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:95,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:96,1
    - Dst: typename T::iterator::get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:96,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:97,1
    - Dst: typename T::iterator::get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' ex'
    - ' ob'
    argTypes:
    - T
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: tut::compare
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 4
    functionsReached:
    - typename T::iterator::get
    - size
    - tut::contains
    - write
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool compare(T& ex, S& ob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:109,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:110,1
    - Dst: clone
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tut::asGeometry
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - clone
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> asGeometry(T&& in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:129,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:130,1
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:131,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:131,1
    - Dst: Polygonizer::add
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:136,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:140,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:140,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:141,1
    - Dst: Polygonizer::getCutEdges
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:141,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:142,1
    - Dst: Polygonizer::getDangles
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:142,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:143,1
    - Dst: Polygonizer::getInvalidRingLines
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:143,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:147,1
    - Dst: getFactory
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:152,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:152,1
    - Dst: getFactory
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:153,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:153,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:154,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:154,1
    - Dst: tut::compare
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:156,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:160,1
    - Dst: tut::printAll
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:161,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:162,1
    - Dst: tut::printAll
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:163,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - ' inputWKT'
    - ' expectWKT'
    - onlyPolygonal
    - typ
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    - bool
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 170
    functionName: tut::doTest
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::get
    - std::move
    - auto::normalize
    - tut::ensure
    - size
    - Polygonizer::getDangles
    - Polygonizer::add
    - push_back
    - Polygonizer::getPolygons
    - Polygonizer::getInvalidRingLines
    - tut::asGeometry
    - std::vector::push_back
    - auto::equals
    - Polygonizer::getCutEdges
    - tut::printAll
    - read
    - get
    - tut::compare
    linkageType: ''
    returnType: bool
    signature: bool doTest(const std::vector<std::string> & inputWKT, const std::vector<std::string>
      & expectWKT, bool onlyPolygonal, ResultType typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 358
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tut::test_polygonizetest_data
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_polygonizetest_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:56,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cnt'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void delAll(T& cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:65,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' cnt'
    argTypes:
    - std::ostream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: tut::printAll
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void printAll(std::ostream& os, T& cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:74,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:74,1
    - Dst: equalsExact
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cnt'
    - g
    argTypes:
    - T
    - Geom*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: tut::contains
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 3
    functionsReached:
    - equalsExact
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool contains(T& cnt, const Geom* g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:90,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:90,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:91,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:92,1
    - Dst: begin
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:95,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:95,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:96,1
    - Dst: typename T::iterator::get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:96,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:97,1
    - Dst: typename T::iterator::get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' ex'
    - ' ob'
    argTypes:
    - T
    - S
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: tut::compare
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 5
    functionsReached:
    - typename T::iterator::get
    - size
    - tut::contains
    - write
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool compare(T& ex, S& ob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:109,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:110,1
    - Dst: clone
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: tut::asGeometry
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 1
    functionsReached:
    - size
    - clone
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> asGeometry(T&& in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:129,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:130,1
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:131,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:131,1
    - Dst: Polygonizer::add
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:136,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:136,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:140,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:140,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:141,1
    - Dst: Polygonizer::getCutEdges
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:141,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:142,1
    - Dst: Polygonizer::getDangles
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:142,1
    - Dst: tut::asGeometry
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:143,1
    - Dst: Polygonizer::getInvalidRingLines
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:143,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:147,1
    - Dst: getFactory
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:152,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:152,1
    - Dst: getFactory
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:153,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:153,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:154,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:154,1
    - Dst: tut::compare
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:156,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:160,1
    - Dst: tut::printAll
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:161,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:162,1
    - Dst: tut::printAll
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:163,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - ' inputWKT'
    - ' expectWKT'
    - onlyPolygonal
    - typ
    argTypes:
    - std::vector<std::string>
    - std::vector<std::string>
    - bool
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 170
    functionName: tut::doTest
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::get
    - std::move
    - auto::normalize
    - tut::ensure
    - size
    - Polygonizer::getDangles
    - Polygonizer::add
    - push_back
    - Polygonizer::getPolygons
    - Polygonizer::getInvalidRingLines
    - tut::asGeometry
    - std::vector::push_back
    - auto::equals
    - Polygonizer::getCutEdges
    - tut::printAll
    - read
    - get
    - tut::compare
    linkageType: ''
    returnType: bool
    signature: bool doTest(const std::vector<std::string> & inputWKT, const std::vector<std::string>
      & expectWKT, bool onlyPolygonal, ResultType typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 358
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/polygonize/PolygonizeTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: tut::test_bufferparameters_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferparameters_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dist
    - quadSegs
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkBuffer
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, int quadSegs,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:42,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:43,1
    - Dst: tut::checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' wkt'
    - dist
    - quadSegs
    - joinStyle
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - int
    - BufferParameters::JoinStyle
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 2
    functionsReached:
    - tut::checkBuffer
    - BufferParameters::setJoinStyle
    - BufferParameters::setQuadrantSegments
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, int quadSegs,
      BufferParameters::JoinStyle joinStyle, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:50,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:52,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dist
    - param
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - BufferParameters
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, BufferParameters
      param, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:60,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:61,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mitreLimit
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: tut::bufParamFlatMitre
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::setJoinStyle
    - BufferParameters::setMitreLimit
    - BufferParameters::setEndCapStyle
    linkageType: ''
    returnType: BufferParameters
    signature: BufferParameters bufParamFlatMitre(double mitreLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_bufferparameters_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: tut::test_bufferparameters_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferparameters_data(test_bufferparameters_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_bufferparameters_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(test_bufferparameters_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_bufferparameters_data
    signature: test_bufferparameters_data & operator=(test_bufferparameters_data const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:88,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:89,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:90,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:91,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:92,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:102,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:103,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:104,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:105,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:106,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:116,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:117,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:118,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:119,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:120,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:130,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:131,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:132,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:133,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:134,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:146,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:147,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:148,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:149,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:150,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:159,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:159,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:161,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:161,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:163,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:163,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:165,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:166,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:167,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:168,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - BufferParameters::setQuadrantSegments
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:177,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:177,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:178,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:179,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:179,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:180,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:181,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:181,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:183,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:184,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:185,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:186,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::setEndCapStyle
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:195,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:195,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:197,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:197,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:199,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:201,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:202,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:203,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:204,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::setJoinStyle
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:213,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:213,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:214,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:215,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:215,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:217,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:219,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:219,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:220,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:221,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:222,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::setMitreLimit
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:231,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:231,1
    - Dst: BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:232,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:233,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:233,1
    - Dst: BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:234,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:235,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:237,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:238,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:238,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:239,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:239,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:240,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::setSingleSided
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:253,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:263,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:273,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:283,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:293,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:303,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:313,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:323,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:333,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:343,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:355,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:365,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:376,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:379,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:380,1
    - Dst: BufferOp::getResultGeometry
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:382,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:383,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - BufferOp::getResultGeometry
    - auto::isValid
    - ensure
    - auto::get
    - BufferParameters::setJoinStyle
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: tut::test_bufferparameters_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferparameters_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dist
    - quadSegs
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 3
    functionsReached:
    - tut::checkBuffer
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, int quadSegs,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:42,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:43,1
    - Dst: tut::checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' wkt'
    - dist
    - quadSegs
    - joinStyle
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - int
    - BufferParameters::JoinStyle
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 4
    functionsReached:
    - tut::checkBuffer
    - BufferParameters::setJoinStyle
    - BufferParameters::setQuadrantSegments
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, int quadSegs,
      BufferParameters::JoinStyle joinStyle, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:50,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:51,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:52,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dist
    - param
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - BufferParameters
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, BufferParameters
      param, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:60,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:61,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mitreLimit
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: tut::bufParamFlatMitre
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::setJoinStyle
    - BufferParameters::setMitreLimit
    - BufferParameters::setEndCapStyle
    linkageType: ''
    returnType: BufferParameters
    signature: BufferParameters bufParamFlatMitre(double mitreLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_bufferparameters_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: tut::test_bufferparameters_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferparameters_data(test_bufferparameters_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_bufferparameters_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(test_bufferparameters_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_bufferparameters_data
    signature: test_bufferparameters_data & operator=(test_bufferparameters_data const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:88,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:89,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:90,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:91,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:92,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:102,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:103,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:104,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:105,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:105,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:106,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:116,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:116,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:117,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:118,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:119,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:119,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:120,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:130,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:131,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:131,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:132,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:133,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:133,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:134,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:146,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:147,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:148,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:149,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:149,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:150,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:159,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:159,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:161,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:161,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:162,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:163,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:163,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:165,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:165,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:166,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:166,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:167,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:167,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:168,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - BufferParameters::setQuadrantSegments
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:177,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:177,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:178,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:179,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:179,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:180,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:181,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:181,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:183,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:183,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:184,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:184,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:185,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:185,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:186,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::setEndCapStyle
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:195,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:195,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:197,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:197,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:199,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:201,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:202,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:203,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:203,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:204,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::setJoinStyle
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:213,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:213,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:214,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:215,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:215,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:216,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:217,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:217,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:219,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:219,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:220,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:220,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:221,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:222,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::setMitreLimit
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:231,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:231,1
    - Dst: BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:232,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:233,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:233,1
    - Dst: BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:234,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:235,1
    - Dst: BufferParameters::isSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:235,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:237,1
    - Dst: BufferParameters::getEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:237,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:238,1
    - Dst: BufferParameters::getJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:238,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:239,1
    - Dst: BufferParameters::getQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:239,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:240,1
    - Dst: BufferParameters::getMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - BufferParameters::getQuadrantSegments
    - BufferParameters::getEndCapStyle
    - BufferParameters::isSingleSided
    - BufferParameters::getJoinStyle
    - ensure_equals
    - ensure
    - BufferParameters::setSingleSided
    - BufferParameters::getMitreLimit
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:253,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:263,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:273,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:283,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:293,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:303,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:313,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:323,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:333,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:343,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:355,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:365,1
    - Dst: bufParamFlatMitre
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - bufParamFlatMitre
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:376,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:379,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:380,1
    - Dst: BufferOp::getResultGeometry
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:382,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:383,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferParametersTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - BufferOp::getResultGeometry
    - auto::isValid
    - ensure
    - auto::get
    - BufferParameters::setJoinStyle
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: tut::test_offsetcurve_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_offsetcurve_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' wkt'
    - distance
    - quadSegs
    - joinStyle
    - mitreLimit
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - int
    - int
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: "void checkOffsetCurve(const std::string& wkt, double distance,\n        int
      quadSegs, int joinStyle, double mitreLimit,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BufferParameters::JoinStyle>
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:43,1
    - Dst: geos::operation::buffer::OffsetCurve::getCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:45,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' wkt'
    - distance
    - quadSegs
    - joinStyle
    - mitreLimit
    - ' wktExpected'
    - tolerance
    argTypes:
    - std::string
    - double
    - int
    - int
    - double
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::buffer::OffsetCurve::getCurve
    - static_cast<BufferParameters::JoinStyle>
    linkageType: ''
    returnType: void
    signature: "void checkOffsetCurve(const std::string& wkt, double distance,\n        int
      quadSegs, int joinStyle, double mitreLimit,\n        const std::string& wktExpected,
      double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - distance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 2
    functionsReached:
    - tut::checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void checkOffsetCurve(const std::string& wkt, double distance, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:56,1
    - Dst: geos::operation::buffer::OffsetCurve::getCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:58,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - distance
    - ' wktExpected'
    - tolerance
    argTypes:
    - std::string
    - double
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::buffer::OffsetCurve::getCurve
    linkageType: ''
    returnType: void
    signature: void checkOffsetCurve(const std::string& wkt, double distance, const
      std::string& wktExpected, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:72,1
    - Dst: geos::operation::buffer::OffsetCurve::getCurveJoined
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:74,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - distance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: tut::checkOffsetCurveJoined
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::OffsetCurve::getCurveJoined
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkOffsetCurveJoined(const std::string& wkt, double distance,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:253,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:269,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: object::test<32> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<32> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: object::test<33> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<33> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: object::test<34> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<34> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurveJoined
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: object::test<35> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurveJoined
    linkageType: ''
    returnType: void
    signature: void object::test<35> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurveJoined
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: object::test<36> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurveJoined
    linkageType: ''
    returnType: void
    signature: void object::test<36> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: object::test<37> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<37> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: object::test<38> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<38> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: object::test<39> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<39> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: object::test<40> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<40> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:561,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: object::test<42> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<42> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: object::test<43> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<43> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:595,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 607
    functionName: object::test<44> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<44> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: tut::test_offsetcurve_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_offsetcurve_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' wkt'
    - distance
    - quadSegs
    - joinStyle
    - mitreLimit
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - int
    - int
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 3
    functionsReached:
    - tut::checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: "void checkOffsetCurve(const std::string& wkt, double distance,\n        int
      quadSegs, int joinStyle, double mitreLimit,\n        const std::string& wktExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BufferParameters::JoinStyle>
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:43,1
    - Dst: geos::operation::buffer::OffsetCurve::getCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:45,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ' wkt'
    - distance
    - quadSegs
    - joinStyle
    - mitreLimit
    - ' wktExpected'
    - tolerance
    argTypes:
    - std::string
    - double
    - int
    - int
    - double
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 3
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::buffer::OffsetCurve::getCurve
    - static_cast<BufferParameters::JoinStyle>
    linkageType: ''
    returnType: void
    signature: "void checkOffsetCurve(const std::string& wkt, double distance,\n        int
      quadSegs, int joinStyle, double mitreLimit,\n        const std::string& wktExpected,
      double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - distance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 4
    functionsReached:
    - tut::checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void checkOffsetCurve(const std::string& wkt, double distance, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:56,1
    - Dst: geos::operation::buffer::OffsetCurve::getCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:58,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - distance
    - ' wktExpected'
    - tolerance
    argTypes:
    - std::string
    - double
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: tut::checkOffsetCurve
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::buffer::OffsetCurve::getCurve
    linkageType: ''
    returnType: void
    signature: void checkOffsetCurve(const std::string& wkt, double distance, const
      std::string& wktExpected, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:72,1
    - Dst: geos::operation::buffer::OffsetCurve::getCurveJoined
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:74,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - distance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: tut::checkOffsetCurveJoined
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::OffsetCurve::getCurveJoined
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkOffsetCurveJoined(const std::string& wkt, double distance,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:253,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:269,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: object::test<32> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<32> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: object::test<33> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<33> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: object::test<34> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<34> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurveJoined
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: object::test<35> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurveJoined
    linkageType: ''
    returnType: void
    signature: void object::test<35> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurveJoined
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: object::test<36> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurveJoined
    linkageType: ''
    returnType: void
    signature: void object::test<36> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: object::test<37> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<37> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: object::test<38> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<38> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: object::test<39> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<39> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: object::test<40> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<40> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:561,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: object::test<42> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<42> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: object::test<43> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<43> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:595,1
    - Dst: checkOffsetCurve
      Src: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 607
    functionName: object::test<44> ()
    functionSourceFile: /src/geos/tests/unit/operation/buffer/OffsetCurveTest.cpp
    functionUses: 0
    functionsReached:
    - checkOffsetCurve
    linkageType: ''
    returnType: void
    signature: void object::test<44> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:37,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::test_bufferbuilder_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void test_bufferbuilder_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_bufferbuilder_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tut::test_bufferbuilder_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferbuilder_data(test_bufferbuilder_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_bufferbuilder_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(test_bufferbuilder_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_bufferbuilder_data
    signature: test_bufferbuilder_data & operator=(test_bufferbuilder_data const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:84,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:85,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:85,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:85,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:88,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:89,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:90,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:94,1
    - Dst: BufferBuilder::bufferLineSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:98,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:99,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:100,1
    - Dst: GeomPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:102,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:102,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:106,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:107,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:107,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:107,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:108,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:108,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:108,1
    - Dst: BufferBuilder::bufferLineSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:114,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:115,1
    - Dst: GeomPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:117,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:117,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:121,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:122,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:122,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:122,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:123,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:123,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 125
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - read
    - BufferParameters::setEndCapStyle
    - GeomPtr::get
    - dynamic_cast<LineString*>
    - std::size_t
    - GeomPtr::getNumPoints
    - ensure_equals
    - ensure
    - BufferParameters::setQuadrantSegments
    - BufferParameters::setJoinStyle
    - BufferBuilder::bufferLineSingleSided
    - BufferParameters::setMitreLimit
    - GeomPtr::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:37,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: tut::test_bufferbuilder_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void test_bufferbuilder_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_bufferbuilder_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: tut::test_bufferbuilder_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferbuilder_data(test_bufferbuilder_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_bufferbuilder_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(test_bufferbuilder_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_bufferbuilder_data
    signature: test_bufferbuilder_data & operator=(test_bufferbuilder_data const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:83,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:84,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:85,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:85,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:85,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:88,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:89,1
    - Dst: BufferParameters::setJoinStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:90,1
    - Dst: BufferParameters::setMitreLimit
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:91,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:94,1
    - Dst: BufferBuilder::bufferLineSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:98,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:99,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:100,1
    - Dst: GeomPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:102,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:102,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:106,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:107,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:107,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:107,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:108,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:108,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:108,1
    - Dst: BufferBuilder::bufferLineSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:113,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:114,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:114,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:115,1
    - Dst: GeomPtr::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:115,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:117,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:117,1
    - Dst: GeomPtr::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:117,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:121,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:122,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:122,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:122,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:123,1
    - Dst: dynamic_cast<LineString*>
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:123,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 125
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferBuilderTest.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - read
    - BufferParameters::setEndCapStyle
    - GeomPtr::get
    - dynamic_cast<LineString*>
    - std::size_t
    - GeomPtr::getNumPoints
    - ensure_equals
    - ensure
    - BufferParameters::setQuadrantSegments
    - BufferParameters::setJoinStyle
    - BufferBuilder::bufferLineSingleSided
    - BufferParameters::setMitreLimit
    - GeomPtr::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:38,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: tut::test_bufferop_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void test_bufferop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:47,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - dist
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tut::buffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> buffer(const std::string& wkt, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:52,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:52,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - nGeoms
    argTypes:
    - Geometry
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tut::checkNumGeoms
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - std::size_t
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkNumGeoms(Geometry& geom, int nGeoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:56,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:56,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - nHoles
    argTypes:
    - Geometry
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tut::checkNumHoles
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - std::size_t
    - dynamic_cast<const Polygon*>
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkNumHoles(Geometry& geom, int nHoles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:60,1
    - Dst: std::max
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - expectedArea
    argTypes:
    - Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tut::checkArea
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - std::max
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkArea(Geometry& geom, double expectedArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:68,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:69,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:70,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - dist
    - isEmpty
    argTypes:
    - std::string
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: tut::checkBufferEmpty
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - std::unique_ptr::isEmpty
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkBufferEmpty(const std::string& wkt, double dist, bool isEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:75,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:76,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:77,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dist
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::buffer
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, double tolerance,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_not
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:83,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:83,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:84,1
    - Dst: isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:84,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:85,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: tut::checkValidPolygon
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - tut::ensure_not
    - isValid
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void checkValidPolygon(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_not
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:90,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:90,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:91,1
    - Dst: isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:91,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:92,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tut::checkValidMultiPolygon
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - tut::ensure_not
    - isValid
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void checkValidMultiPolygon(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_bufferop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: tut::test_bufferop_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferop_data(test_bufferop_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_bufferop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& operator=(test_bufferop_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_bufferop_data
    signature: test_bufferop_data & operator=(test_bufferop_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:118,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:121,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:123,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:124,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:125,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:126,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:126,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - auto::isValid
    - std::size_t
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:135,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:139,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:139,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:142,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:142,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:144,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:144,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:149,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:152,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:155,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:156,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - auto::getAt
    - ensure_equals
    - auto::getNumPoints
    - checkValidPolygon
    - auto::getCoordinates
    - auto::get
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:167,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:172,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:172,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:175,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:175,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:186,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:192,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:192,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:194,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:194,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:194,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:201,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:201,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:203,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:203,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:215,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:220,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:220,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:222,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:222,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:233,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:238,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:238,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:240,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:240,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:251,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:256,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:256,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:258,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:258,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:269,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:274,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:274,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:275,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:276,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:276,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:287,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:292,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:292,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:293,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:294,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:294,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:309,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:309,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:309,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:315,1
    - Dst: BufferOp::getResultGeometry
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:316,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:317,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:318,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:318,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:318,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:320,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:320,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:322,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:322,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:324,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:324,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:324,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:325,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:325,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 326
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - BufferOp::getResultGeometry
    - std::size_t
    - ensure_equals
    - auto::getNumPoints
    - checkValidPolygon
    - ensure
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:336,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:342,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:342,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:345,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:345,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:346,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 347
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure_equals
    - auto::getNumPoints
    - auto::getArea
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:362,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:362,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:364,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:365,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:365,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:375,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:378,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:379,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:380,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:380,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - BufferParameters::setEndCapStyle
    - BufferParameters::setQuadrantSegments
    - checkValidPolygon
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:393,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:394,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:394,1
    - Dst: checkValidMultiPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - geos::operation::buffer::BufferOp::bufferOp
    - checkValidMultiPolygon
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:410,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:411,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:413,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:414,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:414,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::buffer
    - read
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:424,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:425,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:426,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBufferEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:437,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:438,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:439,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBufferEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:450,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:452,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:453,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:455,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:456,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:458,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:459,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:461,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkNumHoles
    - auto::buffer
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:472,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:474,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:474,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:475,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:475,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:476,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:476,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:477,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::buffer
    - read
    - checkNumGeoms
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:488,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:489,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkNumHoles
    - auto::buffer
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:501,1
    - Dst: geos::operation::buffer::BufferParameters::BufferParameters
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:503,1
    - Dst: geos::operation::buffer::BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:504,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:505,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:505,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - geos::operation::buffer::BufferParameters::setSingleSided
    - read
    - checkArea
    - geos::operation::buffer::BufferParameters::BufferParameters
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:518,1
    - Dst: geos::operation::buffer::BufferParameters::BufferParameters
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:520,1
    - Dst: geos::operation::buffer::BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:521,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:522,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:522,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:524,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - geos::operation::buffer::BufferParameters::setSingleSided
    - read
    - checkArea
    - geos::operation::buffer::BufferParameters::BufferParameters
    - checkNumGeoms
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:537,1
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:551,1
    - Dst: geos::operation::buffer::BufferParameters::BufferParameters
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:553,1
    - Dst: geos::operation::buffer::BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:554,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:555,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:555,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:557,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:558,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkNumHoles
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - geos::operation::buffer::BufferParameters::setQuadrantSegments
    - geos::operation::buffer::BufferParameters::BufferParameters
    - checkValidPolygon
    - checkNumGeoms
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:571,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:572,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:573,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:574,1
    - Dst: buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:576,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:577,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:578,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:579,1
    - Dst: buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:581,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:582,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:583,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 585
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkArea
    - checkNumHoles
    - buffer
    - checkValidPolygon
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:38,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: tut::test_bufferop_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void test_bufferop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:47,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:48,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - dist
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: tut::buffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> buffer(const std::string& wkt, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:52,1
    - Dst: getNumGeometries
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:52,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - nGeoms
    argTypes:
    - Geometry
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: tut::checkNumGeoms
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - std::size_t
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkNumGeoms(Geometry& geom, int nGeoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:56,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:56,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - nHoles
    argTypes:
    - Geometry
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: tut::checkNumHoles
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - std::size_t
    - dynamic_cast<const Polygon*>
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkNumHoles(Geometry& geom, int nHoles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:60,1
    - Dst: std::max
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - expectedArea
    argTypes:
    - Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: tut::checkArea
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - std::max
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkArea(Geometry& geom, double expectedArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:68,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:69,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:70,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - dist
    - isEmpty
    argTypes:
    - std::string
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: tut::checkBufferEmpty
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - std::unique_ptr::isEmpty
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkBufferEmpty(const std::string& wkt, double dist, bool isEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:75,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:76,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:77,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - dist
    - tolerance
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: tut::checkBuffer
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::buffer
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkBuffer(const std::string& wkt, double dist, double tolerance,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_not
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:83,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:83,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:84,1
    - Dst: isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:84,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:85,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: tut::checkValidPolygon
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - tut::ensure_not
    - isValid
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void checkValidPolygon(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_not
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:90,1
    - Dst: isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:90,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:91,1
    - Dst: isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:91,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:92,1
    - Dst: getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: tut::checkValidMultiPolygon
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals
    - tut::ensure_not
    - isValid
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void checkValidMultiPolygon(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_bufferop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: tut::test_bufferop_data
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_bufferop_data(test_bufferop_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_bufferop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& operator=(test_bufferop_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_bufferop_data
    signature: test_bufferop_data & operator=(test_bufferop_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:118,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:121,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:123,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:123,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:124,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:124,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:125,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:125,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:126,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:126,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - auto::isValid
    - std::size_t
    - ensure_equals
    - ensure
    - auto::getNumPoints
    - auto::isEmpty
    - auto::get
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:135,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:139,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:139,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:142,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:142,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:143,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:144,1
    - Dst: auto::getSize
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:144,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:148,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:149,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:151,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:152,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:154,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:155,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:156,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - auto::getAt
    - ensure_equals
    - auto::getNumPoints
    - checkValidPolygon
    - auto::getCoordinates
    - auto::get
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:167,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:172,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:172,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:175,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:175,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:186,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:192,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:192,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:194,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:194,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:194,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:201,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:201,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:202,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:203,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:203,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:215,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:220,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:220,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:221,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:222,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:222,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:233,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:238,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:238,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:239,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:240,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:240,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:251,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:256,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:256,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:257,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:258,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:258,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:269,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:274,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:274,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:275,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:276,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:276,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:287,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:292,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:292,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:293,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:294,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:294,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:309,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:309,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:309,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:315,1
    - Dst: BufferOp::getResultGeometry
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:316,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:317,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:318,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:318,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:318,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:320,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:320,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:321,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:322,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:322,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:322,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:324,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:324,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:324,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:325,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:325,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 326
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - BufferOp::getResultGeometry
    - std::size_t
    - ensure_equals
    - auto::getNumPoints
    - checkValidPolygon
    - ensure
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:336,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:342,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:342,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:345,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:345,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:346,1
    - Dst: auto::getArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 347
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure_equals
    - auto::getNumPoints
    - auto::getArea
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:362,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:362,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:364,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:365,1
    - Dst: auto::getNumPoints
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:365,1
    - Dst: std::size_t
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - std::size_t
    - ensure
    - checkValidPolygon
    - auto::getNumPoints
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:375,1
    - Dst: BufferParameters::setEndCapStyle
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:378,1
    - Dst: BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:379,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:380,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:380,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - BufferParameters::setEndCapStyle
    - BufferParameters::setQuadrantSegments
    - checkValidPolygon
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:393,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:394,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:394,1
    - Dst: checkValidMultiPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - geos::operation::buffer::BufferOp::bufferOp
    - checkValidMultiPolygon
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:410,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:411,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:413,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:414,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:414,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - auto::buffer
    - read
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:424,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:425,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:426,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBufferEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:437,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:438,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:439,1
    - Dst: checkBufferEmpty
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBufferEmpty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:450,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:452,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:453,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:455,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:456,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:458,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:459,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:461,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkNumHoles
    - auto::buffer
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:472,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:474,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:474,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:475,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:475,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:476,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:476,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:477,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::buffer
    - read
    - checkNumGeoms
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:488,1
    - Dst: auto::buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:489,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkNumHoles
    - auto::buffer
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:501,1
    - Dst: geos::operation::buffer::BufferParameters::BufferParameters
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:503,1
    - Dst: geos::operation::buffer::BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:504,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:505,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:505,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - geos::operation::buffer::BufferParameters::setSingleSided
    - read
    - checkArea
    - geos::operation::buffer::BufferParameters::BufferParameters
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:518,1
    - Dst: geos::operation::buffer::BufferParameters::BufferParameters
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:520,1
    - Dst: geos::operation::buffer::BufferParameters::setSingleSided
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:521,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:522,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:522,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:524,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - geos::operation::buffer::BufferParameters::setSingleSided
    - read
    - checkArea
    - geos::operation::buffer::BufferParameters::BufferParameters
    - checkNumGeoms
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:537,1
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:551,1
    - Dst: geos::operation::buffer::BufferParameters::BufferParameters
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:553,1
    - Dst: geos::operation::buffer::BufferParameters::setQuadrantSegments
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:554,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:555,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:555,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:557,1
    - Dst: checkNumGeoms
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:558,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkNumHoles
    - geos::operation::buffer::BufferOp::bufferOp
    - read
    - geos::operation::buffer::BufferParameters::setQuadrantSegments
    - geos::operation::buffer::BufferParameters::BufferParameters
    - checkValidPolygon
    - checkNumGeoms
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:571,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:572,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:573,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:574,1
    - Dst: buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:576,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:577,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:578,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:579,1
    - Dst: buffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:581,1
    - Dst: checkValidPolygon
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:582,1
    - Dst: checkNumHoles
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:583,1
    - Dst: checkArea
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 585
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkArea
    - checkNumHoles
    - buffer
    - checkValidPolygon
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBuffer
      Src: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/buffer/BufferOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkBuffer
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tut::testIntersection
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::testOverlay
    linkageType: ''
    returnType: void
    signature: void testIntersection(const std::string& a, const std::string& b, const
      std::string& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tut::testUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::testOverlay
    linkageType: ''
    returnType: void
    signature: void testUnion(const std::string& a, const std::string& b, const std::string&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:71,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:84,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:97,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:110,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:123,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:136,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:149,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tut::testIntersection
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::testOverlay
    linkageType: ''
    returnType: void
    signature: void testIntersection(const std::string& a, const std::string& b, const
      std::string& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: tut::testUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::testOverlay
    linkageType: ''
    returnType: void
    signature: void testUnion(const std::string& a, const std::string& b, const std::string&
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:71,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:84,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:97,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:110,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:123,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:136,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:149,1
    - Dst: testUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testUnion
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGGeometryCollectionTest.cpp
    functionUses: 0
    functionsReached:
    - testIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tut::test_overlayngz_data
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_overlayngz_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:43,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:45,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:46,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:47,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:48,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:49,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:49,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:50,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - opCode
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: tut::checkOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - tut::ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: void checkOverlay(int opCode, const std::string& wktA, const std::string&
      wktB, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 6
    functionsReached:
    - tut::checkOverlay
    linkageType: ''
    returnType: void
    signature: void checkIntersection(const std::string& wktA, const std::string&
      wktB, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tut::checkDifference
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkOverlay
    linkageType: ''
    returnType: void
    signature: void checkDifference(const std::string& wktA, const std::string& wktB,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tut::checkUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkOverlay
    linkageType: ''
    returnType: void
    signature: void checkUnion(const std::string& wktA, const std::string& wktB, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:96,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:108,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:120,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:132,1
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:144,1
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:156,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:168,1
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:202,1
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tut::test_overlayngz_data
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_overlayngz_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:43,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:45,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:46,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:47,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:48,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:49,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:49,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:50,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - opCode
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: tut::checkOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - tut::ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: void checkOverlay(int opCode, const std::string& wktA, const std::string&
      wktB, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tut::checkIntersection
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 6
    functionsReached:
    - tut::checkOverlay
    linkageType: ''
    returnType: void
    signature: void checkIntersection(const std::string& wktA, const std::string&
      wktB, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: tut::checkDifference
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkOverlay
    linkageType: ''
    returnType: void
    signature: void checkDifference(const std::string& wktA, const std::string& wktB,
      const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wktA'
    - ' wktB'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: tut::checkUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkOverlay
    linkageType: ''
    returnType: void
    signature: void checkUnion(const std::string& wktA, const std::string& wktB, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:96,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:108,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:120,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:132,1
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:144,1
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:156,1
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:168,1
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:202,1
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDifference
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkDifference
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGZTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:35,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:36,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:38,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:38,1
    - Dst: tut::ensure_equals_geometry_xyzm
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:41,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:43,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: tut::checkUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - std::fetestexcept
    - read
    - std::feclearexcept
    - geos::operation::overlayng::CoverageUnion::geomunion
    - tut::ensure_equals_geometry_xyzm
    - write
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void checkUnion(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:35,1
    - Dst: std::feclearexcept
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:36,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:37,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:37,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:38,1
    - Dst: std::fetestexcept
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:38,1
    - Dst: tut::ensure_equals_geometry_xyzm
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:41,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:43,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' wkt'
    - ' wktExpected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: tut::checkUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::unique_ptr::get
    - std::fetestexcept
    - read
    - std::feclearexcept
    - geos::operation::overlayng::CoverageUnion::geomunion
    - tut::ensure_equals_geometry_xyzm
    - write
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void checkUnion(const std::string& wkt, const std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: object::test<18>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<18>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: object::test<19>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<19>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnion
      Src: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/CoverageUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnion
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:39,1
    - Dst: RingClipper::clip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:42,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:42,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:42,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' clipEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: tut::checkClip
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getCoordinates
    - std::unique_ptr::getFactory
    - RingClipper::clip
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void checkClip(std::string& wkt, const Envelope& clipEnv, std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:39,1
    - Dst: RingClipper::clip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:42,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:42,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:42,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:43,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:51,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' clipEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: tut::checkClip
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getCoordinates
    - std::unique_ptr::getFactory
    - RingClipper::clip
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void checkClip(std::string& wkt, const Envelope& clipEnv, std::string&
      wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkClip
      Src: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/RingClipperTest.cpp
    functionUses: 0
    functionsReached:
    - checkClip
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:39,1
    - Dst: LineLimiter::limit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:42,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:42,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:42,1
    - Dst: tut::toLines
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:44,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:44,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' clipEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: tut::checkLimit
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getCoordinates
    - std::unique_ptr::getFactory
    - LineLimiter::limit
    - get
    - tut::toLines
    linkageType: ''
    returnType: void
    signature: void checkLimit(std::string& wkt, const Envelope& clipEnv, std::string&
      wktExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:60,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:60,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:61,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:61,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:64,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:65,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:68,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' sections'
    - factory
    argTypes:
    - std::vector<std::unique_ptr<CoordinateSequence>>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: tut::toLines
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - GeometryFactory*::createMultiLineString
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> toLines(std::vector<std::unique_ptr<CoordinateSequence>>&
      sections, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:39,1
    - Dst: LineLimiter::limit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:42,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:42,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:42,1
    - Dst: tut::toLines
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:44,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:44,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:52,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' clipEnv'
    - ' wktExpected'
    argTypes:
    - std::string
    - Envelope
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: tut::checkLimit
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - std::unique_ptr::getCoordinates
    - std::unique_ptr::getFactory
    - LineLimiter::limit
    - get
    - tut::toLines
    linkageType: ''
    returnType: void
    signature: void checkLimit(std::string& wkt, const Envelope& clipEnv, std::string&
      wktExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:60,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:60,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:61,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:61,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:64,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:65,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:68,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' sections'
    - factory
    argTypes:
    - std::vector<std::unique_ptr<CoordinateSequence>>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: tut::toLines
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - GeometryFactory*::createMultiLineString
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> toLines(std::vector<std::unique_ptr<CoordinateSequence>>&
      sections, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLimit
      Src: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/LineLimiterTest.cpp
    functionUses: 0
    functionsReached:
    - checkLimit
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:32,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:33,1
    - Dst: geos::operation::overlayng::PrecisionReducer::reducePrecision
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:35,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - scale
    - ' wkt_expected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: tut::checkReduce
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::overlayng::PrecisionReducer::reducePrecision
    linkageType: ''
    returnType: void
    signature: void checkReduce(const std::string& wkt, double scale, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:81,1
    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: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:32,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:33,1
    - Dst: geos::operation::overlayng::PrecisionReducer::reducePrecision
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:35,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - scale
    - ' wkt_expected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: tut::checkReduce
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::overlayng::PrecisionReducer::reducePrecision
    linkageType: ''
    returnType: void
    signature: void checkReduce(const std::string& wkt, double scale, const std::string&
      wkt_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:81,1
    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: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkReduce
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionReducerTest.cpp
    functionUses: 0
    functionsReached:
    - checkReduce
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:38,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:39,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - tolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:38,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:39,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - tolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGMixedPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - opCode
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, int opCode,
      const std::string& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - opCode
    - ' expected'
    argTypes:
    - std::string
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, int opCode,
      const std::string& expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGEmptyCoordDimTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tut::test_overlayng_elevationmodel_data
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_overlayng_elevationmodel_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:45,1
    - Dst: geos::operation::overlayng::ElevationModel::create
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:46,1
    - Dst: std::initializer_list<double>::begin
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:49,1
    - Dst: std::initializer_list<double>::end
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:49,1
    - Dst: std::unique_ptr::getZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:55,1
    - Dst: tut::ensure_distance
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - ords
    argTypes:
    - std::string
    - std::string
    - std::initializer_list<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: tut::checkElevation
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - std::initializer_list<double>::end
    - read
    - tut::ensure_distance
    - std::initializer_list<double>::begin
    - geos::operation::overlayng::ElevationModel::create
    - std::unique_ptr::getZ
    linkageType: ''
    returnType: void
    signature: void checkElevation(const std::string& wkt1, const std::string& wkt2,
      std::initializer_list<double> ords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt1'
    - ords
    argTypes:
    - std::string
    - std::initializer_list<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tut::checkElevation
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 1
    functionsReached:
    - tut::checkElevation
    linkageType: ''
    returnType: void
    signature: void checkElevation(const std::string& wkt1, std::initializer_list<double>
      ords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:69,1
    - Dst: geos::operation::overlayng::ElevationModel::create
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:72,1
    - Dst: std::unique_ptr::populateZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:75,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:77,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:78,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:79,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:80,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:80,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' wkt'
    - ' wktNoZ'
    - ' wktZExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tut::checkElevationPopulateZ
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - read
    - tut::ensure_equals
    - std::unique_ptr::populateZ
    - geos::operation::overlayng::ElevationModel::create
    - write
    linkageType: ''
    returnType: void
    signature: "void checkElevationPopulateZ(const std::string& wkt,\n                                 const
      std::string& wktNoZ,\n                                 const std::string& wktZExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevationPopulateZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevationPopulateZ
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevationPopulateZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevationPopulateZ
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tut::test_overlayng_elevationmodel_data
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_overlayng_elevationmodel_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:45,1
    - Dst: geos::operation::overlayng::ElevationModel::create
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:46,1
    - Dst: std::initializer_list<double>::begin
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:49,1
    - Dst: std::initializer_list<double>::end
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:49,1
    - Dst: std::unique_ptr::getZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:55,1
    - Dst: tut::ensure_distance
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt1'
    - ' wkt2'
    - ords
    argTypes:
    - std::string
    - std::string
    - std::initializer_list<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: tut::checkElevation
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 1
    functionsReached:
    - std::initializer_list<double>::end
    - read
    - tut::ensure_distance
    - std::initializer_list<double>::begin
    - geos::operation::overlayng::ElevationModel::create
    - std::unique_ptr::getZ
    linkageType: ''
    returnType: void
    signature: void checkElevation(const std::string& wkt1, const std::string& wkt2,
      std::initializer_list<double> ords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt1'
    - ords
    argTypes:
    - std::string
    - std::initializer_list<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tut::checkElevation
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 2
    functionsReached:
    - tut::checkElevation
    linkageType: ''
    returnType: void
    signature: void checkElevation(const std::string& wkt1, std::initializer_list<double>
      ords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:69,1
    - Dst: geos::operation::overlayng::ElevationModel::create
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:72,1
    - Dst: std::unique_ptr::populateZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:75,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:77,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:78,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:79,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:80,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:80,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' wkt'
    - ' wktNoZ'
    - ' wktZExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: tut::checkElevationPopulateZ
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    - read
    - tut::ensure_equals
    - std::unique_ptr::populateZ
    - geos::operation::overlayng::ElevationModel::create
    - write
    linkageType: ''
    returnType: void
    signature: "void checkElevationPopulateZ(const std::string& wkt,\n                                 const
      std::string& wktNoZ,\n                                 const std::string& wktZExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevation
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevation
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevationPopulateZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevationPopulateZ
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkElevationPopulateZ
      Src: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/ElevationModelTest.cpp
    functionUses: 0
    functionsReached:
    - checkElevationPopulateZ
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tut::test_overlayngrobust_data
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    linkageType: ''
    returnType: void
    signature: void test_overlayngrobust_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:48,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:49,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:60,1
    - Dst: ensure_NO_THROW
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - opCode
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: tut::checkOverlaySuccess
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_NO_THROW
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkOverlaySuccess(const std::string& a, const std::string& b,
      int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:67,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:69,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:70,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:70,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - std::vector<double>
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tut::double2geom
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - size
    - createPolygon
    - createLinearRing
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> double2geom(const std::vector<double>& x,
      const std::vector<double>& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlaySuccess
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlaySuccess
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2geom
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:131,1
    - Dst: double2geom
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:132,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:138,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:138,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:138,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:142,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:143,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:144,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:144,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:146,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:149,1
    - Dst: std::max
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 154
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - std::unique_ptr::getArea
    - ensure
    - std::max
    - std::fabs
    - double2geom
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: tut::test_overlayngrobust_data
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    linkageType: ''
    returnType: void
    signature: void test_overlayngrobust_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:47,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:48,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:49,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:50,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:60,1
    - Dst: ensure_NO_THROW
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - opCode
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: tut::checkOverlaySuccess
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - ensure_NO_THROW
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - read
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void checkOverlaySuccess(const std::string& a, const std::string& b,
      int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:67,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:69,1
    - Dst: createPolygon
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:70,1
    - Dst: createLinearRing
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:70,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - std::vector<double>
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tut::double2geom
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - size
    - createPolygon
    - createLinearRing
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> double2geom(const std::vector<double>& x,
      const std::vector<double>& y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlaySuccess
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - checkOverlaySuccess
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2geom
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:131,1
    - Dst: double2geom
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:132,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:138,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:138,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:138,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:142,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:143,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:144,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:144,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:146,1
    - Dst: std::fabs
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:149,1
    - Dst: std::max
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:151,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 154
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGRobustTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - std::unique_ptr::getArea
    - ensure
    - std::max
    - std::fabs
    - double2geom
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:32,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:33,1
    - Dst: geos::operation::overlayng::UnaryUnionNG::Union
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:35,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - scaleFactor
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: tut::checkUnaryUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::operation::overlayng::UnaryUnionNG::Union
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkUnaryUnion(const std::string& wkt, double scaleFactor, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnaryUnion
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnaryUnion
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnaryUnion
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:32,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:33,1
    - Dst: geos::operation::overlayng::UnaryUnionNG::Union
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:35,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - scaleFactor
    - ' wktExpected'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: tut::checkUnaryUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - geos::operation::overlayng::UnaryUnionNG::Union
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void checkUnaryUnion(const std::string& wkt, double scaleFactor, const
      std::string& wktExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnaryUnion
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnaryUnion
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkUnaryUnion
      Src: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/UnaryUnionNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:41,1
    - Dst: OverlayNG::setStrictMode
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:42,1
    - Dst: OverlayNG::getResult
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - OverlayNG::setStrictMode
    - OverlayNG::getResult
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:53,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:56,1
    - Dst: OverlayNG::setStrictMode
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:57,1
    - Dst: OverlayNG::getResult
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:58,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - OverlayNG::setStrictMode
    - OverlayNG::getResult
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:41,1
    - Dst: OverlayNG::setStrictMode
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:42,1
    - Dst: OverlayNG::getResult
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:43,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:46,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - OverlayNG::setStrictMode
    - OverlayNG::getResult
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:53,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:56,1
    - Dst: OverlayNG::setStrictMode
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:57,1
    - Dst: OverlayNG::getResult
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:58,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - OverlayNG::setStrictMode
    - OverlayNG::getResult
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGStrictModeTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:34,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:34,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:36,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:40,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - std::unique_ptr::reset
    - PrecisionModel::PrecisionModel
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:52,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:54,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:56,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:58,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: tut::ensure_equals_exact_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:62,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:62,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: tut::testOverlayExact
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - std::unique_ptr::reset
    - PrecisionModel::PrecisionModel
    - tut::ensure_equals_exact_geometry
    linkageType: ''
    returnType: void
    signature: void testOverlayExact(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:71,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:72,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:72,1
    - Dst: OverlayNG::setOptimized
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:73,1
    - Dst: OverlayNG::getResult
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:74,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: tut::testOverlayNoOpt
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - OverlayNG::setOptimized
    - read
    - OverlayNG::getResult
    linkageType: ''
    returnType: void
    signature: void testOverlayNoOpt(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.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: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: object::test<32> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<32> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: object::test<33> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<33> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: object::test<34> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<34> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlayNoOpt
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: object::test<35> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlayNoOpt
    linkageType: ''
    returnType: void
    signature: void object::test<35> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlayNoOpt
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: object::test<36> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlayNoOpt
    linkageType: ''
    returnType: void
    signature: void object::test<36> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: object::test<37> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<37> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: object::test<38> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<38> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: object::test<39> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<39> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: object::test<40> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<40> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: object::test<41> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<41> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: object::test<42> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<42> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:556,1
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: object::test<43> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<43> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:567,1
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: object::test<44> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<44> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:578,1
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: object::test<45> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<45> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:34,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:34,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:36,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:38,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:40,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:41,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - std::unique_ptr::reset
    - PrecisionModel::PrecisionModel
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:52,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:54,1
    - Dst: PrecisionModel::PrecisionModel
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:56,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:57,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:58,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:59,1
    - Dst: tut::ensure_equals_exact_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:62,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:62,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: tut::testOverlayExact
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    - std::unique_ptr::reset
    - PrecisionModel::PrecisionModel
    - tut::ensure_equals_exact_geometry
    linkageType: ''
    returnType: void
    signature: void testOverlayExact(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:70,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:71,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:72,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:72,1
    - Dst: OverlayNG::setOptimized
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:73,1
    - Dst: OverlayNG::getResult
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:74,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: tut::testOverlayNoOpt
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - OverlayNG::setOptimized
    - read
    - OverlayNG::getResult
    linkageType: ''
    returnType: void
    signature: void testOverlayNoOpt(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.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: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: object::test<32> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<32> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: object::test<33> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<33> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: object::test<34> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<34> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlayNoOpt
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: object::test<35> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlayNoOpt
    linkageType: ''
    returnType: void
    signature: void object::test<35> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlayNoOpt
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: object::test<36> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlayNoOpt
    linkageType: ''
    returnType: void
    signature: void object::test<36> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: object::test<37> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<37> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: object::test<38> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<38> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: object::test<39> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<39> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: object::test<40> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<40> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: object::test<41> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<41> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: object::test<42> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<42> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:556,1
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: object::test<43> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<43> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:567,1
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: object::test<44> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<44> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_name
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:578,1
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: object::test<45> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGTest.cpp
    functionUses: 0
    functionsReached:
    - set_test_name
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<45> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:43,1
    - Dst: OverlayEdge*::isEdgesSorted
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - OverlayEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::checkNodeValid
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayEdge*::isEdgesSorted
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkNodeValid(const OverlayEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:51,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:52,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:55,1
    - Dst: Edge::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:56,1
    - Dst: OverlayGraph*::addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - graph
    - ' wktLine'
    argTypes:
    - OverlayGraph*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: tut::addEdge
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 2
    functionsReached:
    - OverlayGraph*::addEdge
    - read
    - auto::getCoordinates
    - Edge::getCoordinates
    - std::move
    linkageType: ''
    returnType: void
    signature: void addEdge(OverlayGraph* graph, const std::string& wktLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:79,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:80,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:81,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:82,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:82,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:83,1
    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: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:92,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:93,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:93,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:103,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:104,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:105,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:105,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:115,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:116,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:117,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:118,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:43,1
    - Dst: OverlayEdge*::isEdgesSorted
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:44,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - OverlayEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tut::checkNodeValid
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayEdge*::isEdgesSorted
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkNodeValid(const OverlayEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:51,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:52,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:55,1
    - Dst: Edge::getCoordinates
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:56,1
    - Dst: OverlayGraph*::addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - graph
    - ' wktLine'
    argTypes:
    - OverlayGraph*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: tut::addEdge
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 2
    functionsReached:
    - OverlayGraph*::addEdge
    - read
    - auto::getCoordinates
    - Edge::getCoordinates
    - std::move
    linkageType: ''
    returnType: void
    signature: void addEdge(OverlayGraph* graph, const std::string& wktLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:79,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:80,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:81,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:82,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:82,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:83,1
    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: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:92,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:93,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:93,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:103,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:104,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:105,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:105,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:115,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:116,1
    - Dst: addEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:117,1
    - Dst: OverlayGraph::getNodeEdge
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:118,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:118,1
    - Dst: checkNodeValid
      Src: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayGraphTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeValid
    - Coordinate
    - OverlayGraph::getNodeEdge
    - addEdge
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:34,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - opCode
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: tut::geomOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> geomOverlay(const std::string& a, const std::string&
      b, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:41,1
    - Dst: tut::geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:42,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - checkTolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: tut::geomIntersection
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - tut::geomOverlay
    linkageType: ''
    returnType: void
    signature: void geomIntersection(const std::string& a, const std::string& b, const
      std::string& expected, double checkTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:51,1
    - Dst: tut::geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:52,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - checkTolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: tut::geomUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - tut::geomOverlay
    linkageType: ''
    returnType: void
    signature: void geomUnion(const std::string& a, const std::string& b, const std::string&
      expected, double checkTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:63,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: tut::intersectionAreaExpectError
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getArea
    - tut::geomOverlay
    linkageType: ''
    returnType: double
    signature: double intersectionAreaExpectError(const std::string& a, const std::string&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geomIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geomIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geomIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:126,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geomOverlay
    - std::unique_ptr::getArea
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersectionAreaExpectError
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:177,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - intersectionAreaExpectError
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersectionAreaExpectError
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:189,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - intersectionAreaExpectError
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:34,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - opCode
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: tut::geomOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> geomOverlay(const std::string& a, const std::string&
      b, int opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:41,1
    - Dst: tut::geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:42,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - checkTolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: tut::geomIntersection
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - tut::geomOverlay
    linkageType: ''
    returnType: void
    signature: void geomIntersection(const std::string& a, const std::string& b, const
      std::string& expected, double checkTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:51,1
    - Dst: tut::geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:52,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - checkTolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: tut::geomUnion
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - tut::geomOverlay
    linkageType: ''
    returnType: void
    signature: void geomUnion(const std::string& a, const std::string& b, const std::string&
      expected, double checkTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:63,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: tut::intersectionAreaExpectError
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getArea
    - tut::geomOverlay
    linkageType: ''
    returnType: double
    signature: double intersectionAreaExpectError(const std::string& a, const std::string&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geomIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geomIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIntersection
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - geomIntersection
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:126,1
    - Dst: std::unique_ptr::getArea
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geomOverlay
    - std::unique_ptr::getArea
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersectionAreaExpectError
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:177,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - intersectionAreaExpectError
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersectionAreaExpectError
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:189,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGFloatingNoderTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - intersectionAreaExpectError
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:38,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:39,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - tolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: tut::geomUnionTest
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void geomUnionTest(const std::string& a, const std::string& b, const
      std::string& expected, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:36,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:37,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:38,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:39,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:42,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - tolerance
    argTypes:
    - std::string
    - std::string
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: tut::geomUnionTest
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void geomUnionTest(const std::string& a, const std::string& b, const
      std::string& expected, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomUnionTest
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGSnappingOneTest.cpp
    functionUses: 0
    functionsReached:
    - geomUnionTest
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:33,1
    - Dst: length
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:36,1
    - Dst: geos::operation::overlayng::PrecisionUtil::robustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:38,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: geos::operation::overlayng::PrecisionUtil::inherentScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: geos::operation::overlayng::PrecisionUtil::safeScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' wkt_a'
    - ' wkt_b'
    - scaleExpected
    - safeScaleExpected
    - inherentScaleExpected
    argTypes:
    - std::string
    - std::string
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tut::checkRobustScale
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::PrecisionUtil::inherentScale
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - length
    - geos::operation::overlayng::PrecisionUtil::robustScale
    - geos::operation::overlayng::PrecisionUtil::safeScale
    linkageType: ''
    returnType: void
    signature: "void checkRobustScale(const std::string& wkt_a, const std::string&
      wkt_b,\n        double scaleExpected, double safeScaleExpected, double inherentScaleExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:192,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:192,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:193,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:193,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:194,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:195,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:195,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:196,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:197,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:198,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:199,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:200,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::PrecisionUtil::numberOfDecimals
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:33,1
    - Dst: length
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:35,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:36,1
    - Dst: geos::operation::overlayng::PrecisionUtil::robustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:38,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: geos::operation::overlayng::PrecisionUtil::inherentScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: geos::operation::overlayng::PrecisionUtil::safeScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:40,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ' wkt_a'
    - ' wkt_b'
    - scaleExpected
    - safeScaleExpected
    - inherentScaleExpected
    argTypes:
    - std::string
    - std::string
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: tut::checkRobustScale
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::PrecisionUtil::inherentScale
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - length
    - geos::operation::overlayng::PrecisionUtil::robustScale
    - geos::operation::overlayng::PrecisionUtil::safeScale
    linkageType: ''
    returnType: void
    signature: "void checkRobustScale(const std::string& wkt_a, const std::string&
      wkt_b,\n        double scaleExpected, double safeScaleExpected, double inherentScaleExpected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRobustScale
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - checkRobustScale
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:192,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:192,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:193,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:193,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:194,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:195,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:195,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:196,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:196,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:197,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:197,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:198,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:199,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:199,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:200,1
    - Dst: geos::operation::overlayng::PrecisionUtil::numberOfDecimals
      Src: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/PrecisionUtilTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::PrecisionUtil::numberOfDecimals
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:34,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:35,1
    - Dst: geos::operation::overlayng::OverlayNG::overlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:36,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:39,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' a'
    - ' b'
    - ' expected'
    - opCode
    - scaleFactor
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: tut::testOverlay
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 4
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - geos::operation::overlayng::OverlayNG::overlay
    - read
    linkageType: ''
    returnType: void
    signature: void testOverlay(const std::string& a, const std::string& b, const
      std::string& expected, int opCode, double scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testOverlay
      Src: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/overlayng/OverlayNGPointsTest.cpp
    functionUses: 0
    functionsReached:
    - testOverlay
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tut::test_distanceop_data
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_distanceop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:60,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:64,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:64,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:67,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:67,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:68,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:81,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:82,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:84,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:86,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:86,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:89,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:89,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:90,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:90,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:104,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:105,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:107,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:109,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:109,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:112,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:113,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:113,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:127,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:128,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:130,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:132,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:132,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:135,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:135,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:136,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:136,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:150,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:153,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:155,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:155,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:158,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:158,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:159,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:159,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:174,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:175,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:177,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:179,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:179,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:181,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:182,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:182,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:183,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:183,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:201,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:202,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:204,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:206,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:206,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:208,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:209,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:209,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:210,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:210,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:226,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:227,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:229,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:231,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:233,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - ensure
    - DistanceOp::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:246,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:247,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:249,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:251,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:251,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:253,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:254,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:254,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:254,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:255,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:255,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:269,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:270,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:272,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:272,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:274,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:274,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:277,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:277,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:278,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:278,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:292,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:293,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:295,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:295,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:297,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:297,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:300,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:300,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:301,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:301,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:315,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:316,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:318,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:318,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:320,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:320,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:322,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:323,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:323,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:323,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:324,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:324,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:338,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:339,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:341,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:343,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:343,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:346,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:346,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:347,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:347,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 349
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:362,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:363,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:365,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:365,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:367,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:367,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:369,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:370,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:370,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:370,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:371,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:371,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:388,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:389,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:391,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:393,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:393,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:395,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:396,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:396,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:396,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:397,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:397,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:414,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:415,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:417,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:417,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:419,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:419,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:421,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 422
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - ensure
    - DistanceOp::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:437,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:438,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:440,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:440,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:441,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:441,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:443,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:444,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:444,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:445,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:445,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 446
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:460,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:461,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:463,1
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:464,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:464,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:465,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:465,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:469,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:470,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:472,1
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:472,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:473,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:473,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:474,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 477
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::operation::distance::DistanceOp::isWithinDistance
    - geos::operation::distance::DistanceOp::distance
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:491,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:495,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:497,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:497,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:498,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:500,1
    - Dst: GeomPtr::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:500,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 501
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GeomPtr::isValid
    - GeomPtr::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:517,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:519,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:520,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:528,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:529,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:531,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:532,1
    - Dst: auto::createLineString
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:534,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:534,1
    - Dst: auto::createLineString
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:535,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:535,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:537,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:537,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:538,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:541,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:541,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:541,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:542,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:542,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:542,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:543,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:543,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:543,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:544,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:544,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:544,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:547,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:547,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:548,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:550,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:550,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:550,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:551,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:551,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:551,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:552,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:552,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:552,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:553,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:553,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 554
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - DistanceOp::nearestPoints
    - ensure
    - auto::get
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - geos::geom::LineSegment
    - CSPtr::getAt
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:561,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:562,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:564,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:564,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure_equals
    - read
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:576,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:577,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:579,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:579,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:579,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:580,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:580,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 581
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure_equals
    - read
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:588,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:589,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:591,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:592,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:592,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:592,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:593,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:593,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:600,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:601,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:603,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:604,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:604,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:604,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:605,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:605,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:613,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:614,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:616,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:617,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:617,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:617,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:618,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:618,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:625,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:626,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:628,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:629,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:629,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:629,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:630,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:630,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:637,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:638,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:640,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:641,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:641,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:641,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:642,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:642,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: tut::test_distanceop_data
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_distanceop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:59,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:60,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:62,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:62,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:64,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:64,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:67,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:67,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:68,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:81,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:82,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:84,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:84,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:86,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:86,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:88,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:89,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:89,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:89,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:90,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:90,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:104,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:105,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:107,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:107,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:109,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:109,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:111,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:112,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:112,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:113,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:113,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:127,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:128,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:130,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:132,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:132,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:134,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:135,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:135,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:135,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:136,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:136,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:150,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:151,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:153,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:153,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:155,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:155,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:158,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:158,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:158,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:159,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:159,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:174,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:175,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:177,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:179,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:179,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:181,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:182,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:182,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:182,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:183,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:183,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:201,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:202,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:204,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:204,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:206,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:206,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:208,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:209,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:209,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:210,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:210,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:226,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:227,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:229,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:231,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:231,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:233,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - ensure
    - DistanceOp::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:246,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:247,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:249,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:251,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:251,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:253,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:254,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:254,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:254,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:255,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:255,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:269,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:270,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:272,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:272,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:274,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:274,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:277,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:277,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:277,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:278,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:278,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:292,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:293,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:295,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:295,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:297,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:297,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:299,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:300,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:300,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:300,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:301,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:301,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:315,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:316,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:318,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:318,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:320,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:320,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:322,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:323,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:323,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:323,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:324,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:324,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:338,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:339,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:341,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:341,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:343,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:343,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:346,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:346,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:347,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:347,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 349
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:362,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:363,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:365,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:365,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:367,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:367,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:369,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:370,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:370,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:370,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:371,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:371,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:388,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:389,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:391,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:391,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:393,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:393,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:395,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:396,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:396,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:396,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:397,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:397,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:414,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:415,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:417,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:417,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:419,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:419,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:421,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 422
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - ensure
    - DistanceOp::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:437,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:438,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:440,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:440,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:441,1
    - Dst: DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:441,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:443,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:444,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:444,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:444,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:445,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:445,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 446
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - DistanceOp::nearestPoints
    - ensure_equals
    - DistanceOp::distance
    - Coordinate
    - CSPtr::getAt
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:460,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:461,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:463,1
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:463,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:464,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:464,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:465,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:465,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:469,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:470,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:472,1
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:472,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:473,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:473,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:474,1
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 477
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::operation::distance::DistanceOp::isWithinDistance
    - geos::operation::distance::DistanceOp::distance
    - ensure_equals
    - ensure
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:491,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:495,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:496,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:497,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:497,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:498,1
    - Dst: GeomPtr::isValid
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:498,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:500,1
    - Dst: GeomPtr::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:500,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 501
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - geos::geom::GeometryFactory::create
    - geos::io::WKBReader::readHEX
    - ensure_equals
    - ensure
    - GeomPtr::isValid
    - GeomPtr::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:517,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:519,1
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:520,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:528,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:529,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:531,1
    - Dst: auto::setAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:532,1
    - Dst: auto::createLineString
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:534,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:534,1
    - Dst: auto::createLineString
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:535,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:535,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:537,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:537,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:538,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:541,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:541,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:541,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:542,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:542,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:542,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:543,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:543,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:543,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:544,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:544,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:544,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:547,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:547,1
    - Dst: DistanceOp::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:548,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:550,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:550,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:550,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:551,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:551,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:551,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:552,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:552,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:552,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:553,1
    - Dst: geos::geom::LineSegment
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:553,1
    - Dst: CSPtr::getAt
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 554
    functionName: object::test<20>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - DistanceOp::nearestPoints
    - ensure
    - auto::get
    - std::move
    - geos::detail::make_unique<CoordinateSequence>
    - geos::geom::LineSegment
    - CSPtr::getAt
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void object::test<20>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:561,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:562,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:564,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:564,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: object::test<21>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure_equals
    - read
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void object::test<21>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:576,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:577,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:579,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:579,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:579,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:580,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:580,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 581
    functionName: object::test<22>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - ensure_equals
    - read
    - auto::distance
    linkageType: ''
    returnType: void
    signature: void object::test<22>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:588,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:589,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:591,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:592,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:592,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:592,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:593,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:593,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: object::test<23>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<23>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:600,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:601,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:603,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:604,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:604,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:604,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:605,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:605,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: object::test<24>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<24>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:613,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:614,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:616,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:617,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:617,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:617,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:618,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:618,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: object::test<25>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<25>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:625,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:626,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:628,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:629,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:629,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:629,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:630,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:630,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: object::test<26>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<26>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:637,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:638,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:640,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:641,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:641,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:641,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:642,1
    - Dst: auto::distance
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:642,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: object::test<27>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/DistanceOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - ensure_equals
    - ensure
    - auto::distance
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<27>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:59,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: tut::test_facetdistanceop_data
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_facetdistanceop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:70,1
    - Dst: geos::operation::distance::IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:71,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:71,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:71,1
    - Dst: distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:74,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:76,1
    - Dst: tut::ensure_equals_xy
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:77,1
    - Dst: tut::ensure_equals_xy
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - wkt1
    - wkt2
    - distanceExpected
    - ' p1'
    - ' p2'
    argTypes:
    - std::string
    - std::string
    - double
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tut::checkDistanceNearestPoints
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - tut::ensure_equals
    - GeomPtr::get
    - tut::ensure_equals_xy
    - distance
    - geos::operation::distance::IndexedFacetDistance::nearestPoints
    linkageType: ''
    returnType: void
    signature: "void checkDistanceNearestPoints(std::string wkt1, std::string wkt2,
      double distanceExpected,\n                               const geos::geom::Coordinate&
      p1, \n                               const geos::geom::Coordinate& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:89,1
    - Dst: IndexedFacetDistance::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:90,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:90,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wkt1
    - wkt2
    - distance
    - expected
    argTypes:
    - std::string
    - std::string
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: tut::checkWithinDistance
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - tut::ensure_equals
    - read
    - IndexedFacetDistance::isWithinDistance
    linkageType: ''
    returnType: void
    signature: "void checkWithinDistance(std::string wkt1, std::string wkt2, double
      distance,\n                               bool expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sin
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:101,1
    - Dst: std::cos
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:102,1
    - Dst: std::sin
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - theta_deg
    - radius
    - amplitude
    - x
    - y
    argTypes:
    - double
    - double
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: tut::angle2sincircle
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::sin
    - std::cos
    linkageType: ''
    returnType: int
    signature: int angle2sincircle(double theta_deg, double radius, double amplitude,
      double* x, double* y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:111,1
    - Dst: tut::angle2sincircle
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:116,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:117,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:120,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - nvertices
    - radius
    - amplitude
    argTypes:
    - std::size_t
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: tut::makeSinCircle
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - tut::angle2sincircle
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - std::move
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<geos::geom::LineString>
    signature: std::unique_ptr<geos::geom::LineString> makeSinCircle(std::size_t nvertices,
      double radius, double amplitude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:144,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:145,1
    - Dst: geos::operation::distance::IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:146,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:146,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - geos::operation::distance::IndexedFacetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:225,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:226,1
    - Dst: geos::operation::distance::IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:227,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:227,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - geos::operation::distance::IndexedFacetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:241,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:242,1
    - Dst: geos::operation::distance::IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:243,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:243,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:243,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - geos::operation::distance::IndexedFacetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:255,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:256,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:257,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:260,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:263,1
    - Dst: IndexedFacetDistance::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:263,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:263,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:264,1
    - Dst: IndexedFacetDistance::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:264,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - ensure_equals
    - IndexedFacetDistance::distance
    - ensure
    - IndexedFacetDistance::isWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:276,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:277,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:278,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:279,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:279,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:280,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:282,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - ensure_equals
    - IndexedFacetDistance::distance
    - IndexedFacetDistance::nearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makeSinCircle
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:304,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:305,1
    - Dst: std::vector::emplace
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:315,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:315,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:315,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:334,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:335,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:338,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:338,1
    - Dst: geos::util::Profiler::start
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:340,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:341,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:344,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:344,1
    - Dst: std::unique_ptr::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:347,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:350,1
    - Dst: geos::util::Profiler::stop
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 359
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - createPoint
    - std::vector::size
    - std::vector::emplace
    - std::vector::begin
    - geos::util::Profiler::stop
    - geos::util::Profiler::start
    - ensure_equals
    - IndexedFacetDistance::distance
    - get
    - std::vector::end
    - makeSinCircle
    - std::vector::push_back
    - std::unique_ptr::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:372,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:373,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:374,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:375,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:378,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:378,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:379,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:384,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:384,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:385,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:390,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:390,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:391,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:396,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:396,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 400
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - IndexedFacetDistance::nearestPoints
    - IndexedFacetDistance::distance
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:407,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:408,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:410,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:412,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:413,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:413,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:415,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:415,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:416,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:420,1
    - Dst: getX
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:420,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:421,1
    - Dst: getY
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:421,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:422,1
    - Dst: getY
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 423
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::normalize
    - auto::size
    - read
    - auto::getCoordinatesRO
    - getX
    - IndexedFacetDistance::nearestPoints
    - ensure_equals
    - getY
    - auto::get
    - std::move
    - createLineString
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkWithinDistance
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkWithinDistance
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:59,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: tut::test_facetdistanceop_data
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_facetdistanceop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:70,1
    - Dst: geos::operation::distance::IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:71,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:71,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:71,1
    - Dst: distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:74,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:76,1
    - Dst: tut::ensure_equals_xy
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:77,1
    - Dst: tut::ensure_equals_xy
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - wkt1
    - wkt2
    - distanceExpected
    - ' p1'
    - ' p2'
    argTypes:
    - std::string
    - std::string
    - double
    - geos::geom::Coordinate
    - geos::geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: tut::checkDistanceNearestPoints
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - tut::ensure_equals
    - GeomPtr::get
    - tut::ensure_equals_xy
    - distance
    - geos::operation::distance::IndexedFacetDistance::nearestPoints
    linkageType: ''
    returnType: void
    signature: "void checkDistanceNearestPoints(std::string wkt1, std::string wkt2,
      double distanceExpected,\n                               const geos::geom::Coordinate&
      p1, \n                               const geos::geom::Coordinate& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:89,1
    - Dst: IndexedFacetDistance::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:90,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:90,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wkt1
    - wkt2
    - distance
    - expected
    argTypes:
    - std::string
    - std::string
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: tut::checkWithinDistance
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - tut::ensure_equals
    - read
    - IndexedFacetDistance::isWithinDistance
    linkageType: ''
    returnType: void
    signature: "void checkWithinDistance(std::string wkt1, std::string wkt2, double
      distance,\n                               bool expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sin
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:101,1
    - Dst: std::cos
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:102,1
    - Dst: std::sin
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - theta_deg
    - radius
    - amplitude
    - x
    - y
    argTypes:
    - double
    - double
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: tut::angle2sincircle
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 1
    functionsReached:
    - std::sin
    - std::cos
    linkageType: ''
    returnType: int
    signature: int angle2sincircle(double theta_deg, double radius, double amplitude,
      double* x, double* y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<geos::geom::CoordinateSequence>
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:111,1
    - Dst: tut::angle2sincircle
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:116,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:117,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:120,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - nvertices
    - radius
    - amplitude
    argTypes:
    - std::size_t
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: tut::makeSinCircle
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - tut::angle2sincircle
    - geos::detail::make_unique<geos::geom::CoordinateSequence>
    - std::move
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<geos::geom::LineString>
    signature: std::unique_ptr<geos::geom::LineString> makeSinCircle(std::size_t nvertices,
      double radius, double amplitude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:144,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:145,1
    - Dst: geos::operation::distance::IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:146,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:146,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - geos::operation::distance::IndexedFacetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:225,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:226,1
    - Dst: geos::operation::distance::IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:227,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:227,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - geos::operation::distance::IndexedFacetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:241,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:242,1
    - Dst: geos::operation::distance::IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:243,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:243,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:243,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - ensure_equals
    - geos::operation::distance::IndexedFacetDistance::distance
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:255,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:256,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:257,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:260,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:260,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:261,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:263,1
    - Dst: IndexedFacetDistance::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:263,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:263,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:264,1
    - Dst: IndexedFacetDistance::isWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:264,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - ensure_equals
    - IndexedFacetDistance::distance
    - ensure
    - IndexedFacetDistance::isWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:276,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:277,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:278,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:279,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:279,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:280,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:282,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:282,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:283,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - ensure_equals
    - IndexedFacetDistance::distance
    - IndexedFacetDistance::nearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makeSinCircle
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:304,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:305,1
    - Dst: std::vector::emplace
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:315,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:315,1
    - Dst: createPoint
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:315,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:334,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:335,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:338,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:338,1
    - Dst: geos::util::Profiler::start
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:340,1
    - Dst: std::vector::size
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:341,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:344,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:344,1
    - Dst: std::unique_ptr::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:347,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:350,1
    - Dst: geos::util::Profiler::stop
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 359
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - createPoint
    - std::vector::size
    - std::vector::emplace
    - std::vector::begin
    - geos::util::Profiler::stop
    - geos::util::Profiler::start
    - ensure_equals
    - IndexedFacetDistance::distance
    - get
    - std::vector::end
    - makeSinCircle
    - std::vector::push_back
    - std::unique_ptr::distance
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:372,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:373,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:374,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:375,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:378,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:378,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:379,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:384,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:384,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:385,1
    - Dst: IndexedFacetDistance::distance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:390,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:390,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:391,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:396,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:396,1
    - Dst: fail
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 400
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - IndexedFacetDistance::nearestPoints
    - IndexedFacetDistance::distance
    - fail
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:407,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:408,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:410,1
    - Dst: IndexedFacetDistance::nearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:412,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:412,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:413,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:413,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:415,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:415,1
    - Dst: auto::normalize
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:416,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:420,1
    - Dst: getX
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:420,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:421,1
    - Dst: getY
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:421,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:422,1
    - Dst: getY
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 423
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - auto::normalize
    - auto::size
    - read
    - auto::getCoordinatesRO
    - getX
    - IndexedFacetDistance::nearestPoints
    - ensure_equals
    - getY
    - auto::get
    - std::move
    - createLineString
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkWithinDistance
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkWithinDistance
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkWithinDistance
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDistanceNearestPoints
      Src: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/distance/IndexedFacetDistanceTest.cpp
    functionUses: 0
    functionsReached:
    - checkDistanceNearestPoints
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:44,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:46,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:47,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:48,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:49,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:50,1
    - Dst: GeometryPtr::Union
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:53,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:53,1
    - Dst: GeometryPtr::Union
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:54,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:54,1
    - Dst: GeometryPtr::Union
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:55,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:57,1
    - Dst: GeometryPtr::contains
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:57,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - geos::io::WKTReader::read
    - ensure
    - GeometryPtr::Union
    - GeometryPtr::get
    - GeometryPtr::contains
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:81,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:83,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:86,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:87,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:87,1
    - Dst: auto::symDifference
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:89,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:91,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - ensure
    - auto::symDifference
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:44,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:46,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:47,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:48,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:49,1
    - Dst: geos::io::WKTReader::read
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:50,1
    - Dst: GeometryPtr::Union
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:53,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:53,1
    - Dst: GeometryPtr::Union
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:54,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:54,1
    - Dst: GeometryPtr::Union
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:55,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:55,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:57,1
    - Dst: GeometryPtr::contains
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:57,1
    - Dst: GeometryPtr::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - geos::io::WKTReader::read
    - ensure
    - GeometryPtr::Union
    - GeometryPtr::get
    - GeometryPtr::contains
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:81,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:83,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:84,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:86,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:86,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:87,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:87,1
    - Dst: auto::symDifference
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:89,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:89,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:91,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/OverlayOpUnionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::isValid
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - ensure
    - auto::symDifference
    - auto::get
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tut::test_fuzzypointlocator_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void test_fuzzypointlocator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:64,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:68,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:90,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:90,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:94,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:94,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:110,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:110,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:114,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:114,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:130,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:130,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:134,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:134,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:155,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:172,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:177,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:199,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: tut::test_fuzzypointlocator_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void test_fuzzypointlocator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:64,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:64,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:64,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:68,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:68,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:90,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:90,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:90,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:94,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:94,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:110,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:110,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:114,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:114,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:130,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:130,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:130,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:134,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:134,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - Coordinate
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:150,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:155,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:172,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:177,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readHEX
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:199,1
    - Dst: FuzzyPointLocator::getLocation
      Src: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/FuzzyPointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - FuzzyPointLocator::getLocation
    - readHEX
    - ensure_equals
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: tut::test_overlayresultvalidator_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_overlayresultvalidator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:64,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:71,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:81,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:84,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:91,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:101,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:104,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:111,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:122,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:132,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:143,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:146,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:154,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:165,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:168,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:176,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: tut::test_overlayresultvalidator_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_overlayresultvalidator_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:64,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:71,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:81,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:84,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:87,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:91,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:101,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:104,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:107,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:111,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:122,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:132,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:143,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:146,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:150,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:154,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:165,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:168,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:172,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:176,1
    - Dst: OverlayResultValidator::isValid
      Src: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OverlayResultValidatorTest.cpp
    functionUses: 0
    functionsReached:
    - OverlayResultValidator::isValid
    - ensure
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: tut::test_offsetpointgenerator_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void test_offsetpointgenerator_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:53,1
    - Dst: tut::createPoint
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:55,1
    - Dst: distance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:56,1
    - Dst: unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' coords'
    - dist
    argTypes:
    - vector<Coordinate>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: tut::pointsWithinDistance
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - distance
    - size
    - tut::createPoint
    - unique_ptr::get
    linkageType: ''
    returnType: bool
    signature: bool pointsWithinDistance(vector<Coordinate>& coords, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:88,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:95,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:95,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:97,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - getNumPoints
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:113,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:121,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:123,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:138,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:146,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - unique_ptr::size
    - OffsetPointGenerator::getPoints
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:163,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:171,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:173,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:188,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:196,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:198,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: tut::test_offsetpointgenerator_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void test_offsetpointgenerator_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:53,1
    - Dst: tut::createPoint
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:55,1
    - Dst: distance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:56,1
    - Dst: unique_ptr::get
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' coords'
    - dist
    argTypes:
    - vector<Coordinate>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: tut::pointsWithinDistance
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - distance
    - size
    - tut::createPoint
    - unique_ptr::get
    linkageType: ''
    returnType: bool
    signature: bool pointsWithinDistance(vector<Coordinate>& coords, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:88,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:95,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:95,1
    - Dst: getNumPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:95,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:97,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - getNumPoints
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:113,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:119,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:121,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:121,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:123,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:138,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:146,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - unique_ptr::size
    - OffsetPointGenerator::getPoints
    - ensure_equals
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:163,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:169,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:171,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:171,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:173,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 174
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:188,1
    - Dst: OffsetPointGenerator::getPoints
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:194,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:196,1
    - Dst: unique_ptr::size
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:196,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:198,1
    - Dst: pointsWithinDistance
      Src: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/validate/OffsetPointGeneratorTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - unique_ptr::size
    - ensure_equals
    - ensure
    - OffsetPointGenerator::getPoints
    - pointsWithinDistance
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: tut::test_geometrysnapper_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometrysnapper_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:50,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:56,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:60,1
    - Dst: GeometrySnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:66,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeometrySnapper::snapTo
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:76,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:80,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:82,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:86,1
    - Dst: GeometrySnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:90,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:92,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:92,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeometrySnapper::snapTo
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: tut::test_geometrysnapper_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_geometrysnapper_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:50,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:56,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:60,1
    - Dst: GeometrySnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:66,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeometrySnapper::snapTo
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:76,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:80,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:82,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:86,1
    - Dst: GeometrySnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:90,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:90,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:92,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:92,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/GeometrySnapperTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - GeomPtr::get
    - GeometrySnapper::snapTo
    - ensure
    - GeomPtr::equalsExact
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tut::test_linestringsnapper_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linestringsnapper_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:53,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:54,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:55,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:58,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:59,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:66,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:67,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:68,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - std::vector::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:89,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:90,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:91,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:94,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:95,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:102,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:103,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:104,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:105,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:124,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:125,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:126,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:128,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:136,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:137,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:144,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:145,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:145,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:146,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:147,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:148,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:164,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:165,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:171,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:175,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:177,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:178,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:193,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:203,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:218,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:224,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:228,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:230,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:247,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:248,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:249,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:250,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:255,1
    - Dst: LineStringSnapper::setAllowSnappingToSourceVertices
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:262,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:263,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:265,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:266,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:267,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:268,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:268,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:269,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:269,1
    - Dst: LineStringSnapper::setAllowSnappingToSourceVertices
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:272,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:274,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:275,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:276,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:277,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 278
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - LineStringSnapper::setAllowSnappingToSourceVertices
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:293,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:294,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:295,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:296,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:301,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:309,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:310,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:311,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:311,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:312,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 313
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:329,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:330,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:331,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:332,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:333,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:340,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:341,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:342,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:350,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:350,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:351,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:351,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:352,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:352,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:353,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:353,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:354,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:355,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 356
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tut::test_linestringsnapper_data
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linestringsnapper_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:53,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:54,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:55,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:58,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:59,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:63,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:66,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:66,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:67,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:67,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:68,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - std::vector::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:89,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:90,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:91,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:94,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:95,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:102,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:102,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:103,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:103,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:104,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:105,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:124,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:125,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:126,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:128,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:136,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:137,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:141,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:144,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:145,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:145,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:146,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:146,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:147,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:148,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:164,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:165,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:171,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:175,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:177,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:178,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:193,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:203,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - ensure_equals
    - CoordinateSequence::CoordinateSequence
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:218,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:224,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:228,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:230,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:247,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:248,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:249,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:250,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:255,1
    - Dst: LineStringSnapper::setAllowSnappingToSourceVertices
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:262,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:263,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:265,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:265,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:266,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:266,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:267,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:268,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:268,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:269,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:269,1
    - Dst: LineStringSnapper::setAllowSnappingToSourceVertices
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:272,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:274,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:274,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:275,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:275,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:276,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:276,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:277,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 278
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - LineStringSnapper::setAllowSnappingToSourceVertices
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:293,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:294,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:295,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:296,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:301,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:309,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:310,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:310,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:311,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:311,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:312,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 313
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:329,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:330,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:331,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:332,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:333,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:340,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:341,1
    - Dst: Coordinate::ConstVect::push_back
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:342,1
    - Dst: LineStringSnapper::snapTo
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:349,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:350,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:350,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:351,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:351,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:352,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:352,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:353,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:353,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:354,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:354,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:355,1
    - Dst: ret
      Src: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 356
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/overlay/snap/LineStringSnapperTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - CoordinateSequence::add
    - ret
    - CoordinateSequence::CoordinateSequence
    - ensure_equals
    - Coordinate::ConstVect::push_back
    - LineStringSnapper::snapTo
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tut::test_shpathop_data
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_shpathop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_shpathop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tut::test_shpathop_data
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_shpathop_data(test_shpathop_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_shpathop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(test_shpathop_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_shpathop_data
    signature: test_shpathop_data & operator=(test_shpathop_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:62,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:78,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:79,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:95,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:96,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:97,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:98,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:100,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:101,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - ensure
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:109,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:110,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:111,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:112,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:114,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:115,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - ensure
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:123,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:124,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:125,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:126,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:128,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:129,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:130,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:130,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:139,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:140,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:141,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:142,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:144,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:145,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:145,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:146,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:146,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:155,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:156,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:157,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:158,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:160,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:161,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:162,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:162,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:171,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:172,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:173,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:174,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:176,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:176,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:177,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:178,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:178,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:187,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:188,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:189,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:190,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:191,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:192,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:192,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:193,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:193,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:194,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:194,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:203,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:204,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:205,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:206,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:209,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:210,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:210,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:213,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:213,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:214,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:214,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:223,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:224,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:225,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:226,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:229,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:230,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:230,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:231,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:233,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:234,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:234,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:243,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:244,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:245,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:246,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:247,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:249,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:250,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:250,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:251,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:253,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:253,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:254,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:254,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:263,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:264,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:265,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:266,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:269,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:269,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:270,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:270,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:271,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:273,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:274,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:274,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:283,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:284,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:285,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:286,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:287,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:289,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:289,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:290,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:290,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:291,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:291,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:292,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:294,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:302,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:303,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:304,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:305,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:306,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:308,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:309,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:310,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:310,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:311,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:313,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:321,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:322,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:324,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:325,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:327,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:327,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:328,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:328,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:329,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:329,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:330,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:332,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 333
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:340,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:341,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:343,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:344,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:346,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:347,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:348,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:348,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:349,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:351,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:359,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:360,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:362,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:363,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:364,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:365,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:365,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:366,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:366,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:367,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:369,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:377,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:378,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:380,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:381,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:382,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:383,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:383,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:384,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:384,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:385,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:387,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:395,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:396,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:398,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:399,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:400,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:401,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:401,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:402,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:402,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:405,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:413,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:414,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:416,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:417,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:419,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:419,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:420,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:420,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:421,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:423,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tut::test_shpathop_data
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_shpathop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_shpathop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: tut::test_shpathop_data
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_shpathop_data(test_shpathop_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_shpathop_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(test_shpathop_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_shpathop_data
    signature: test_shpathop_data & operator=(test_shpathop_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:61,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:62,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:65,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:78,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:79,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:82,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - read
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:95,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:96,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:97,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:98,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:99,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:100,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:100,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:101,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - ensure
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:109,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:110,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:111,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:112,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:113,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:114,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:114,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:115,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - ensure
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:123,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:124,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:125,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:126,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:127,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:128,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:128,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:129,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:129,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:130,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:130,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:139,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:140,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:141,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:142,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:143,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:144,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:144,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:145,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:145,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:146,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:146,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:155,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:156,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:157,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:158,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:159,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:160,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:160,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:161,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:161,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:162,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:162,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:171,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:172,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:173,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:174,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:175,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:176,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:176,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:177,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:177,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:178,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:178,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:187,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:188,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:189,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:190,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:191,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:192,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:192,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:193,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:193,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:194,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:194,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:203,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:204,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:205,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:206,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:207,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:209,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:210,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:210,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:211,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:213,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:213,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:214,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:214,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:223,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:224,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:225,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:226,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:227,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:229,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:229,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:230,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:230,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:231,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:233,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:233,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:234,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:234,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:243,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:244,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:245,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:246,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:247,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:249,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:249,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:250,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:250,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:251,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:253,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:253,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:254,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:254,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:263,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:264,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:265,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:266,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:267,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:269,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:269,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:270,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:270,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:271,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:273,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:273,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:274,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:274,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - write
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:283,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:284,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:285,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:286,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:287,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:289,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:289,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:290,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:290,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:291,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:291,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:292,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:294,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:302,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:303,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:304,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:305,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:306,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:308,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:308,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:309,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:309,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:310,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:310,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:311,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:313,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:321,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:322,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:324,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:325,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:326,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:327,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:327,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:328,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:328,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:329,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:329,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:330,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:332,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 333
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:340,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:341,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:343,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:344,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:345,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:346,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:346,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:347,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:347,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:348,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:348,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:349,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:351,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:359,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:360,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:362,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:363,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:364,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:365,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:365,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:366,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:366,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:367,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:369,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:377,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:378,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:380,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:381,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:382,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:383,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:383,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:384,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:384,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:385,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:387,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:395,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:396,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:398,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:399,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:400,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:401,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:401,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:402,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:402,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:403,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:405,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:413,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:414,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:416,1
    - Dst: clear
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:417,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:418,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:419,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:419,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:420,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:420,1
    - Dst: geos::operation::sharedpaths::SharedPathsOp::clearEdges
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:421,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:423,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/sharedpaths/SharedPathsOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    - read
    - geos::operation::sharedpaths::SharedPathsOp::sharedPathsOp
    - clear
    - geos::operation::sharedpaths::SharedPathsOp::clearEdges
    - ensure_equals
    - ensure
    - write
    - empty
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: tut::test_repeated_point_remover_test_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_repeated_point_remover_test_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tut::wkt
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::string
    signature: std::string wkt(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:50,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:51,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:53,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:54,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:56,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:58,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:58,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:58,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:59,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:59,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:59,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: tut::checkSequence
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - read
    - CoordinateSequence*::hasZ
    - tut::ensure_equals
    - static_cast<LineString*>
    - auto::hasM
    - CoordinateSequence*::hasM
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void checkSequence(const std::string& input, const std::string& expected,
      double tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:67,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:68,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:69,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:71,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: tut::checkGeometry
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    linkageType: ''
    returnType: void
    signature: void checkGeometry(const std::string& input, const std::string& expected,
      double tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkGeometry
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkGeometry
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkGeometry
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkGeometry
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:148,1
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:149,1
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: tut::test_repeated_point_remover_test_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_repeated_point_remover_test_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tut::wkt
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: std::string
    signature: std::string wkt(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:50,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:51,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:53,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:54,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:56,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:58,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:58,1
    - Dst: auto::hasZ
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:58,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:59,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:59,1
    - Dst: auto::hasM
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:59,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: tut::checkSequence
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - read
    - CoordinateSequence*::hasZ
    - tut::ensure_equals
    - static_cast<LineString*>
    - auto::hasM
    - CoordinateSequence*::hasM
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::hasZ
    linkageType: ''
    returnType: void
    signature: void checkSequence(const std::string& input, const std::string& expected,
      double tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:67,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:68,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:69,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:69,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:71,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:75,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: tut::checkGeometry
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    linkageType: ''
    returnType: void
    signature: void checkGeometry(const std::string& input, const std::string& expected,
      double tolerance = 0.0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkGeometry
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkGeometry
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkGeometry
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkGeometry
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:148,1
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:149,1
    - Dst: checkSequence
      Src: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/RepeatedPointRemoverTest.cpp
    functionUses: 0
    functionsReached:
    - checkSequence
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: tut::test_makevalid_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_makevalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:43,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:44,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:45,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:46,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:47,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:48,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:49,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:50,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:51,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:52,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:53,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:54,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:55,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:57,1
    - Dst: auto::createLinearRing
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:58,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:58,1
    - Dst: auto::createPolygon
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:59,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:61,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:61,1
    - Dst: MakeValid::build
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:64,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:66,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - MakeValid::build
    - auto::isValid
    - geos::geom::GeometryFactory::getDefaultInstance
    - auto::createLinearRing
    - ensure
    - auto::get
    - std::move
    - auto::createPolygon
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:107,1
    - Dst: auto::createMultiPolygon
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:109,1
    - Dst: MakeValid::build
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:112,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:114,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - MakeValid::build
    - auto::isValid
    - geos::geom::GeometryFactory::getDefaultInstance
    - ensure
    - auto::createMultiPolygon
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:121,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:129,1
    - Dst: geos::operation::valid::MakeValid::build
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:133,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:133,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:135,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - geos::operation::valid::MakeValid::build
    - auto::get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: tut::test_makevalid_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_makevalid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:43,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:44,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:45,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:46,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:47,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:48,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:49,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:50,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:51,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:52,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:53,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:54,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:55,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:57,1
    - Dst: auto::createLinearRing
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:58,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:58,1
    - Dst: auto::createPolygon
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:59,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:59,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:61,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:61,1
    - Dst: MakeValid::build
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:64,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:64,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:66,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - MakeValid::build
    - auto::isValid
    - geos::geom::GeometryFactory::getDefaultInstance
    - auto::createLinearRing
    - ensure
    - auto::get
    - std::move
    - auto::createPolygon
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:107,1
    - Dst: auto::createMultiPolygon
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:109,1
    - Dst: MakeValid::build
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:112,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:112,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:114,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - MakeValid::build
    - auto::isValid
    - geos::geom::GeometryFactory::getDefaultInstance
    - ensure
    - auto::createMultiPolygon
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:121,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:129,1
    - Dst: geos::operation::valid::MakeValid::build
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:133,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:133,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:135,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/valid/MakeValidTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - geos::operation::valid::MakeValid::build
    - auto::get
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:44,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tut::test_validclosedring_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_validclosedring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:53,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: tut::fromWKT
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 18
    functionsReached:
    - tut::what
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr fromWKT(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:64,1
    - Dst: getCoordinatesRO
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:65,1
    - Dst: setAt
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: tut::updateNonClosedRing
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - setAt
    - getCoordinatesRO
    - const_cast<CoordinateSequence*>
    linkageType: ''
    returnType: void
    signature: void updateNonClosedRing(LinearRing& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:76,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - expected
    argTypes:
    - Geometry
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tut::checkIsValid
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp::isValid
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkIsValid(Geometry& geom, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:97,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:98,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:99,1
    - Dst: updateNonClosedRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:102,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - checkIsValid
    - updateNonClosedRing
    - ensure
    - fromWKT
    - dynamic_cast<LinearRing*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:113,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValid
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:123,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:124,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:125,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:126,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:129,1
    - Dst: const_cast<LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:131,1
    - Dst: updateNonClosedRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:133,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - checkIsValid
    - updateNonClosedRing
    - ensure
    - dynamic_cast<Polygon*>
    - fromWKT
    - const_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:143,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:144,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:145,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:146,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:149,1
    - Dst: const_cast<LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:151,1
    - Dst: updateNonClosedRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:153,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - checkIsValid
    - updateNonClosedRing
    - ensure
    - dynamic_cast<Polygon*>
    - fromWKT
    - const_cast<LinearRing*>
    - Polygon*::getInteriorRingN
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:163,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValid
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:44,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: tut::test_validclosedring_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_validclosedring_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:53,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: tut::fromWKT
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 18
    functionsReached:
    - tut::what
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr fromWKT(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:64,1
    - Dst: getCoordinatesRO
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:65,1
    - Dst: setAt
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: tut::updateNonClosedRing
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - setAt
    - getCoordinatesRO
    - const_cast<CoordinateSequence*>
    linkageType: ''
    returnType: void
    signature: void updateNonClosedRing(LinearRing& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:76,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - expected
    argTypes:
    - Geometry
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tut::checkIsValid
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp::isValid
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkIsValid(Geometry& geom, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:97,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:98,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:98,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:99,1
    - Dst: updateNonClosedRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:102,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - checkIsValid
    - updateNonClosedRing
    - ensure
    - fromWKT
    - dynamic_cast<LinearRing*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:113,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValid
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:123,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:124,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:124,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:125,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:126,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:128,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:129,1
    - Dst: const_cast<LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:131,1
    - Dst: updateNonClosedRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:133,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - checkIsValid
    - updateNonClosedRing
    - ensure
    - dynamic_cast<Polygon*>
    - fromWKT
    - const_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:143,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:144,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:145,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:146,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:148,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:149,1
    - Dst: const_cast<LinearRing*>
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:151,1
    - Dst: updateNonClosedRing
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:153,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - checkIsValid
    - updateNonClosedRing
    - ensure
    - dynamic_cast<Polygon*>
    - fromWKT
    - const_cast<LinearRing*>
    - Polygon*::getInteriorRingN
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:163,1
    - Dst: checkIsValid
      Src: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidClosedRingTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValid
    - fromWKT
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:45,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tut::test_ValidSelfTouchingRingFormingHole_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_ValidSelfTouchingRingFormingHole_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:54,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: tut::fromWKT
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 18
    functionsReached:
    - tut::what
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr fromWKT(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:65,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:66,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:67,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - expected
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: tut::checkIsValidDefault
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - tut::ensure
    - IsValidOp::isValid
    - tut::fromWKT
    linkageType: ''
    returnType: void
    signature: void checkIsValidDefault(const std::string& wkt, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:74,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:75,1
    - Dst: IsValidOp::setSelfTouchingRingFormingHoleValid
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:76,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:77,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - expected
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: tut::checkIsValidSTR
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - IsValidOp::isValid
    - tut::fromWKT
    - GeomPtr::get
    - IsValidOp::setSelfTouchingRingFormingHoleValid
    linkageType: ''
    returnType: void
    signature: void checkIsValidSTR(const std::string& wkt, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:104,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:126,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:144,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:159,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:174,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:185,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:195,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:205,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:226,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.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: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:45,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tut::test_ValidSelfTouchingRingFormingHole_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_ValidSelfTouchingRingFormingHole_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:54,1
    - Dst: tut::what
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: tut::fromWKT
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 20
    functionsReached:
    - tut::what
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr fromWKT(const std::string& wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:65,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:66,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:67,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkt'
    - expected
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: tut::checkIsValidDefault
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - tut::ensure
    - IsValidOp::isValid
    - tut::fromWKT
    linkageType: ''
    returnType: void
    signature: void checkIsValidDefault(const std::string& wkt, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::fromWKT
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:74,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:75,1
    - Dst: IsValidOp::setSelfTouchingRingFormingHoleValid
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:76,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:77,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' wkt'
    - expected
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: tut::checkIsValidSTR
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - IsValidOp::isValid
    - tut::fromWKT
    - GeomPtr::get
    - IsValidOp::setSelfTouchingRingFormingHoleValid
    linkageType: ''
    returnType: void
    signature: void checkIsValidSTR(const std::string& wkt, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:104,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:126,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:144,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:159,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:174,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:185,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:195,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:205,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsValidSTR
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp:226,1
    - Dst: checkIsValidDefault
      Src: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.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: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/ValidSelfTouchingRingFormingHoleTest.cpp
    functionUses: 0
    functionsReached:
    - checkIsValidSTR
    - checkIsValidDefault
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:44,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: tut::test_issimpleop_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_issimpleop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:54,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - expectedResult
    argTypes:
    - std::string
    - BoundaryNodeRule
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: tut::checkIsSimple
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 1
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - tut::checkIsSimple
    linkageType: ''
    returnType: void
    signature: "void checkIsSimple(\n        std::string& wkt,\n        const BoundaryNodeRule&
      bnRule,\n        bool expectedResult)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:63,1
    - Dst: IsSimpleOp::isSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:65,1
    - Dst: IsSimpleOp::getNonSimpleLocation
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:66,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:68,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:69,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:69,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:70,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:71,1
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' wkt'
    - ' bnRule'
    - expectedResult
    - expectedLocation
    argTypes:
    - std::string
    - BoundaryNodeRule
    - bool
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: tut::checkIsSimple
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 1
    functionsReached:
    - IsSimpleOp::isSimple
    - tut::ensure
    - read
    - Coordinate::distance
    - Coordinate::isNull
    - tut::isNull
    - IsSimpleOp::getNonSimpleLocation
    linkageType: ''
    returnType: void
    signature: "void checkIsSimple(\n        std::string& wkt,\n        const BoundaryNodeRule&
      bnRule,\n        bool expectedResult,\n        Coordinate expectedLocation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:80,1
    - Dst: IsSimpleOp::setFindAllLocations
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:82,1
    - Dst: IsSimpleOp::isSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:83,1
    - Dst: IsSimpleOp::getNonSimpleLocations
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:85,1
    - Dst: auto::getFactory
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:88,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:89,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:89,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - ' wktExpectedPts'
    argTypes:
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: tut::checkIsSimpleAll
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - IsSimpleOp::isSimple
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - IsSimpleOp::setFindAllLocations
    - IsSimpleOp::getNonSimpleLocations
    - auto::getFactory
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void checkIsSimpleAll(\n        std::string& wkt,\n        const BoundaryNodeRule&
      bnRule,\n        std::string& wktExpectedPts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:127,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:130,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - auto::isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:146,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:146,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:146,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:147,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:147,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:157,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:157,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:158,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:158,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:167,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:167,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:168,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:168,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:178,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:178,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:178,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:180,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:190,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:190,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:191,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:203,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:213,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:223,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:233,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:44,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: tut::test_issimpleop_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_issimpleop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:54,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - expectedResult
    argTypes:
    - std::string
    - BoundaryNodeRule
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: tut::checkIsSimple
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 2
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - tut::checkIsSimple
    linkageType: ''
    returnType: void
    signature: "void checkIsSimple(\n        std::string& wkt,\n        const BoundaryNodeRule&
      bnRule,\n        bool expectedResult)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:63,1
    - Dst: IsSimpleOp::isSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:65,1
    - Dst: IsSimpleOp::getNonSimpleLocation
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:66,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:68,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:69,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:69,1
    - Dst: tut::isNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:70,1
    - Dst: Coordinate::isNull
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:70,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:71,1
    - Dst: Coordinate::distance
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' wkt'
    - ' bnRule'
    - expectedResult
    - expectedLocation
    argTypes:
    - std::string
    - BoundaryNodeRule
    - bool
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: tut::checkIsSimple
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 2
    functionsReached:
    - IsSimpleOp::isSimple
    - tut::ensure
    - read
    - Coordinate::distance
    - Coordinate::isNull
    - tut::isNull
    - IsSimpleOp::getNonSimpleLocation
    linkageType: ''
    returnType: void
    signature: "void checkIsSimple(\n        std::string& wkt,\n        const BoundaryNodeRule&
      bnRule,\n        bool expectedResult,\n        Coordinate expectedLocation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:80,1
    - Dst: IsSimpleOp::setFindAllLocations
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:82,1
    - Dst: IsSimpleOp::isSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:83,1
    - Dst: IsSimpleOp::getNonSimpleLocations
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:85,1
    - Dst: auto::getFactory
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:88,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:89,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:89,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnRule'
    - ' wktExpectedPts'
    argTypes:
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: tut::checkIsSimpleAll
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - IsSimpleOp::isSimple
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - read
    - IsSimpleOp::setFindAllLocations
    - IsSimpleOp::getNonSimpleLocations
    - auto::getFactory
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void checkIsSimpleAll(\n        std::string& wkt,\n        const BoundaryNodeRule&
      bnRule,\n        std::string& wktExpectedPts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::WKBReader
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:127,1
    - Dst: geos::io::WKBReader::readHEX
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:130,1
    - Dst: auto::isSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::WKBReader
    - geos::io::WKBReader::readHEX
    - auto::isSimple
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:146,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:146,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:146,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:147,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:147,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:157,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:157,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:157,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:158,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:158,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:167,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:167,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:167,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:168,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:168,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:178,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:178,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:178,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:180,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - Coordinate
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:190,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:190,1
    - Dst: checkIsSimple
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:191,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimple
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:203,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:213,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:223,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIsSimpleAll
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:233,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsSimpleOpTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkIsSimpleAll
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::test_isvalidop_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    linkageType: ''
    returnType: void
    signature: void test_isvalidop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:47,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:48,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: tut::checkValid
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void checkValid(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:55,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void checkInvalid(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:61,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:62,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:63,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errExpected
    - wkt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - IsValidOp::getValidationError
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkInvalid(int errExpected, const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:83,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:84,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:85,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:85,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:86,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:89,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:90,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:93,1
    - Dst: TopologyValidationError*::getCoordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:96,1
    - Dst: TopologyValidationError*::getErrorType
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:99,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - IsValidOp::isValid
    - TopologyValidationError*::getErrorType
    - TopologyValidationError*::getCoordinate
    - std::isnan
    - ensure_equals
    - ensure
    - IsValidOp::getValidationError
    - auto::get
    - std::move
    - Coordinate
    - createLineString
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:107,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:108,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:109,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:110,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:110,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:113,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:114,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:117,1
    - Dst: TopologyValidationError*::getCoordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:120,1
    - Dst: TopologyValidationError*::getErrorType
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:123,1
    - Dst: std::isfinite
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - IsValidOp::isValid
    - std::isfinite
    - TopologyValidationError*::getErrorType
    - TopologyValidationError*::getCoordinate
    - ensure_equals
    - ensure
    - IsValidOp::getValidationError
    - auto::get
    - std::move
    - Coordinate
    - createLineString
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:134,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:135,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:137,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:138,1
    - Dst: TopologyValidationError*::getCoordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:141,1
    - Dst: TopologyValidationError*::getErrorType
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:144,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:145,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:146,1
    - Dst: fabs
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:147,1
    - Dst: fabs
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp::isValid
    - read
    - GeomPtr::get
    - fabs
    - TopologyValidationError*::getErrorType
    - TopologyValidationError*::getCoordinate
    - std::isnan
    - ensure_equals
    - ensure
    - IsValidOp::getValidationError
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:160,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:160,1
    - Dst: auto::reverse
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:162,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:164,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::reverse
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:176,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:185,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:194,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: tut::test_isvalidop_data
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    linkageType: ''
    returnType: void
    signature: void test_isvalidop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:47,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:48,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: tut::checkValid
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void checkValid(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:55,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void checkInvalid(const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:61,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:62,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:63,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errExpected
    - wkt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: tut::checkInvalid
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::get
    - IsValidOp::getValidationError
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkInvalid(int errExpected, const char* wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:83,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:84,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:85,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:85,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:86,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:89,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:90,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:92,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:93,1
    - Dst: TopologyValidationError*::getCoordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:94,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:96,1
    - Dst: TopologyValidationError*::getErrorType
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:96,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:99,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - IsValidOp::isValid
    - TopologyValidationError*::getErrorType
    - TopologyValidationError*::getCoordinate
    - std::isnan
    - ensure_equals
    - ensure
    - IsValidOp::getValidationError
    - auto::get
    - std::move
    - Coordinate
    - createLineString
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::detail::make_unique<CoordinateSequence>
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:107,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:108,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:108,1
    - Dst: auto::add
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:109,1
    - Dst: createLineString
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:110,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:110,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:113,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:114,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:116,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:117,1
    - Dst: TopologyValidationError*::getCoordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:118,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:120,1
    - Dst: TopologyValidationError*::getErrorType
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:120,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:123,1
    - Dst: std::isfinite
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:123,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - IsValidOp::isValid
    - std::isfinite
    - TopologyValidationError*::getErrorType
    - TopologyValidationError*::getCoordinate
    - ensure_equals
    - ensure
    - IsValidOp::getValidationError
    - auto::get
    - std::move
    - Coordinate
    - createLineString
    - geos::detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:132,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:134,1
    - Dst: IsValidOp::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:135,1
    - Dst: IsValidOp::getValidationError
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:137,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:138,1
    - Dst: TopologyValidationError*::getCoordinate
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:139,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:141,1
    - Dst: TopologyValidationError*::getErrorType
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:141,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:144,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:144,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:145,1
    - Dst: std::isnan
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:145,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:146,1
    - Dst: fabs
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:146,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:147,1
    - Dst: fabs
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:147,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp::isValid
    - read
    - GeomPtr::get
    - fabs
    - TopologyValidationError*::getErrorType
    - TopologyValidationError*::getCoordinate
    - std::isnan
    - ensure_equals
    - ensure
    - IsValidOp::getValidationError
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:158,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:160,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:160,1
    - Dst: auto::reverse
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:162,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:164,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::reverse
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:174,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:176,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:184,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:185,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:193,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:194,1
    - Dst: auto::isValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - read
    - auto::isValid
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkValid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkValid
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkInvalid
      Src: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/valid/IsValidOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkInvalid
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: tut::test_unaryuniontest_data
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_unaryuniontest_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void delAll(std::vector<Geom*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:53,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:60,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - inputWKT
    - ' geoms'
    argTypes:
    - char**
    - std::vector<Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void readWKT(const char* const* inputWKT, std::vector<Geom*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:67,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: tut::normalize
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::normalize
    - clone
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr normalize(const Geom& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:77,1
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:78,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:79,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:79,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:81,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Geom
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: tut::isEqual
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - GeomPtr::equalsExact
    - write
    - tut::normalize
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const Geom& a, const Geom& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:90,1
    - Dst: std::vector::empty
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:93,1
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:94,1
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:97,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:100,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:100,1
    - Dst: tut::delAll
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:101,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - inputWKT
    - ' expectedWKT'
    argTypes:
    - char**
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: tut::doTest
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::vector::empty
    - geos::operation::geounion::UnaryUnionOp::Union
    - tut::isEqual
    - tut::delAll
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void doTest(const char* const* inputWKT, const std::string& expectedWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:37,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: tut::test_unaryuniontest_data
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::create
    - get
    linkageType: ''
    returnType: void
    signature: void test_unaryuniontest_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void delAll(std::vector<Geom*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:53,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 2
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:60,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - inputWKT
    - ' geoms'
    argTypes:
    - char**
    - std::vector<Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 3
    functionsReached:
    - push_back
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void readWKT(const char* const* inputWKT, std::vector<Geom*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:67,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: tut::normalize
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 1
    functionsReached:
    - GeomPtr::normalize
    - clone
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr normalize(const Geom& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:77,1
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:78,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:79,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:79,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:81,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Geom
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: tut::isEqual
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 1
    functionsReached:
    - GeomPtr::get
    - GeomPtr::equalsExact
    - write
    - tut::normalize
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const Geom& a, const Geom& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:90,1
    - Dst: std::vector::empty
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:93,1
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:94,1
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:97,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:100,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:100,1
    - Dst: tut::delAll
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:101,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - inputWKT
    - ' expectedWKT'
    argTypes:
    - char**
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: tut::doTest
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - std::vector::empty
    - geos::operation::geounion::UnaryUnionOp::Union
    - tut::isEqual
    - tut::delAll
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void doTest(const char* const* inputWKT, const std::string& expectedWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/UnaryUnionOpTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: tut::test_cascadedpolygonuniontest_data
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void test_cascadedpolygonuniontest_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:53,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:56,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: tut::unionIterated
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Union
    - std::unique_ptr::release
    - clone
    linkageType: ''
    returnType: geos::geom::Geometry
    signature: "geos::geom::Geometry *\nunionIterated(\n    std::vector<geos::geom::Polygon*>*
      geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: tut::unionCascaded
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::geounion::CascadedPolygonUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geos::geom::Geometry>
    signature: "std::unique_ptr<geos::geom::Geometry> unionCascaded(\n    std::vector<geos::geom::Polygon*>*
      geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:76,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:77,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: tut::p_test_runner
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    linkageType: ''
    returnType: void
    signature: "void p_test_runner(\n              std::vector<geos::geom::Polygon*>*
      geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: tut::delete_geometry
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delete_geometry(geos::geom::Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:107,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:107,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:108,1
    - Dst: p_test_runner
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:111,1
    - Dst: for_each
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:113,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:113,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - p_test_runner
    - read
    - std::vector::begin
    - dynamic_cast<geos::geom::Polygon*>
    - for_each
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::createPoint
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:123,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:123,1
    - Dst: std::vector<geos::geom::Polygon*>*::push_back
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:124,1
    - Dst: dynamic_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:124,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' gf'
    - num
    - radius
    - g
    argTypes:
    - geos::geom::GeometryFactory
    - int
    - double
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tut::create_discs
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<geos::geom::Polygon*>
    - std::vector<geos::geom::Polygon*>*::push_back
    - geos::geom::Coordinate
    - std::unique_ptr::buffer
    - tut::createPoint
    linkageType: ''
    returnType: void
    signature: "void create_discs(geos::geom::GeometryFactory& gf, int num, double
      radius,\n             std::vector<geos::geom::Polygon*>* g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: tut::test_cascadedpolygonuniontest_data
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void test_cascadedpolygonuniontest_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:53,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:56,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: tut::unionIterated
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Union
    - std::unique_ptr::release
    - clone
    linkageType: ''
    returnType: geos::geom::Geometry
    signature: "geos::geom::Geometry *\nunionIterated(\n    std::vector<geos::geom::Polygon*>*
      geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: tut::unionCascaded
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::geounion::CascadedPolygonUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geos::geom::Geometry>
    signature: "std::unique_ptr<geos::geom::Geometry> unionCascaded(\n    std::vector<geos::geom::Polygon*>*
      geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:76,1
    - Dst: std::unique_ptr::normalize
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:77,1
    - Dst: tut::ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: tut::p_test_runner
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure_equals_geometry
    - std::unique_ptr::get
    - std::unique_ptr::normalize
    linkageType: ''
    returnType: void
    signature: "void p_test_runner(\n              std::vector<geos::geom::Polygon*>*
      geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geos::geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: tut::delete_geometry
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delete_geometry(geos::geom::Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:107,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:107,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:108,1
    - Dst: p_test_runner
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:111,1
    - Dst: for_each
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:113,1
    - Dst: std::vector::begin
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:113,1
    - Dst: std::vector::end
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - p_test_runner
    - read
    - std::vector::begin
    - dynamic_cast<geos::geom::Polygon*>
    - for_each
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::createPoint
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:123,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:123,1
    - Dst: std::vector<geos::geom::Polygon*>*::push_back
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:124,1
    - Dst: dynamic_cast<geos::geom::Polygon*>
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:124,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' gf'
    - num
    - radius
    - g
    argTypes:
    - geos::geom::GeometryFactory
    - int
    - double
    - std::vector<geos::geom::Polygon*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: tut::create_discs
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CascadedPolygonUnionTest.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<geos::geom::Polygon*>
    - std::vector<geos::geom::Polygon*>*::push_back
    - geos::geom::Coordinate
    - std::unique_ptr::buffer
    - tut::createPoint
    linkageType: ''
    returnType: void
    signature: "void create_discs(geos::geom::GeometryFactory& gf, int num, double
      radius,\n             std::vector<geos::geom::Polygon*>* g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:42,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:49,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:52,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:52,1
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:54,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:55,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:57,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:57,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wkt_geoms
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: tut::checkCoverageUnionEquivalentToUnaryUnion
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - tut::ensure
    - std::move
    - geos::operation::geounion::UnaryUnionOp::Union
    - std::unique_ptr::get
    - geos::geom::GeometryFactory::create
    - auto::createGeometryCollection
    - geos::coverage::CoverageUnion::Union
    - WKTReader::read
    - auto::get
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkCoverageUnionEquivalentToUnaryUnion(const std::vector<std::string>
      &wkt_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:65,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:67,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:72,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:72,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:75,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:75,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:78,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt_geoms'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: tut::checkCoverageUnionFails
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr::get
    - tut::fail
    - geos::geom::GeometryFactory::create
    - auto::createGeometryCollection
    - geos::coverage::CoverageUnion::Union
    - WKTReader::read
    - auto::get
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkCoverageUnionFails(const std::vector<std::string> & wkt_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: "object::test<1>\n    ()"
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: "void object::test<1>\n    ()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionFails
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionFails
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionFails
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionFails
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:42,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:49,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:52,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:52,1
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:54,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:55,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:57,1
    - Dst: auto::equals
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:57,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - wkt_geoms
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: tut::checkCoverageUnionEquivalentToUnaryUnion
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - tut::ensure
    - std::move
    - geos::operation::geounion::UnaryUnionOp::Union
    - std::unique_ptr::get
    - geos::geom::GeometryFactory::create
    - auto::createGeometryCollection
    - geos::coverage::CoverageUnion::Union
    - WKTReader::read
    - auto::get
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkCoverageUnionEquivalentToUnaryUnion(const std::vector<std::string>
      &wkt_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:65,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:67,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:72,1
    - Dst: WKTReader::read
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:72,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:75,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:75,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:78,1
    - Dst: tut::fail
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' wkt_geoms'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: tut::checkCoverageUnionFails
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::unique_ptr::get
    - tut::fail
    - geos::geom::GeometryFactory::create
    - auto::createGeometryCollection
    - geos::coverage::CoverageUnion::Union
    - WKTReader::read
    - auto::get
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void checkCoverageUnionFails(const std::vector<std::string> & wkt_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: "object::test<1>\n    ()"
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: "void object::test<1>\n    ()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionFails
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionFails
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionEquivalentToUnaryUnion
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionEquivalentToUnaryUnion
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoverageUnionFails
      Src: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/geounion/CoverageUnionTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoverageUnionFails
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:25,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:26,1
    - Dst: geos::operation::relate::RelateOp::relate
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:28,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:28,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:28,1
    - Dst: auto::toString
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:29,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - ' bnRule'
    - ' imExpected'
    argTypes:
    - std::string
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: tut::runRelateTest
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - read
    - tut::ensure_equals
    - geos::operation::relate::RelateOp::relate
    - auto::get
    linkageType: ''
    returnType: void
    signature: void runRelateTest(const std::string& wkt1, const std::string& wkt2,
      const BoundaryNodeRule& bnRule, const std::string& imExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:48,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:59,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:59,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:60,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:71,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:82,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:94,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:94,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:96,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:108,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:108,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:111,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:123,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:123,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:126,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:25,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:26,1
    - Dst: geos::operation::relate::RelateOp::relate
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:28,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:28,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:28,1
    - Dst: auto::toString
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:29,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - ' bnRule'
    - ' imExpected'
    argTypes:
    - std::string
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: tut::runRelateTest
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - read
    - tut::ensure_equals
    - geos::operation::relate::RelateOp::relate
    - auto::get
    linkageType: ''
    returnType: void
    signature: void runRelateTest(const std::string& wkt1, const std::string& wkt2,
      const BoundaryNodeRule& bnRule, const std::string& imExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:48,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:59,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:59,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:60,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:71,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:82,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:94,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:94,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:96,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:108,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:108,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:111,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: object::test<6>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<6>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:123,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:123,1
    - Dst: runRelateTest
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:126,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: object::test<7>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelateTest
    linkageType: ''
    returnType: void
    signature: void object::test<7>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: tut::test_relateop_data
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_relateop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:43,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:44,1
    - Dst: auto::relate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:46,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:46,1
    - Dst: std::unique_ptr::toString
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - ' imExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: tut::checkRelate
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - tut::ensure_equals
    - std::unique_ptr::toString
    - auto::get
    - auto::relate
    linkageType: ''
    returnType: void
    signature: void checkRelate(const std::string& wkta, const std::string& wktb,
      const std::string& imExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:96,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:101,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:101,1
    - Dst: relate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:106,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:106,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:113,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:113,1
    - Dst: std::ref
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:113,1
    - Dst: join
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 120
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - relate
    - read
    - auto::clone
    - get
    - join
    - std::ref
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: tut::test_relateop_data
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_relateop_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:43,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:44,1
    - Dst: auto::relate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:46,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:46,1
    - Dst: std::unique_ptr::toString
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - ' imExpected'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: tut::checkRelate
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - tut::ensure_equals
    - std::unique_ptr::toString
    - auto::get
    - auto::relate
    linkageType: ''
    returnType: void
    signature: void checkRelate(const std::string& wkta, const std::string& wktb,
      const std::string& imExpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:96,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:101,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:101,1
    - Dst: relate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:106,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:106,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:113,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:113,1
    - Dst: std::ref
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:113,1
    - Dst: join
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 120
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - relate
    - read
    - auto::clone
    - get
    - join
    - std::ref
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relate/RelateOpTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: tut::test_rectangleintersectiontest_data
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_rectangleintersectiontest_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 4
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:50,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: tut::normalize
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 2
    functionsReached:
    - GeomPtr::normalize
    - clone
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr normalize(const Geom& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:62,1
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:63,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:64,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Geom
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tut::isEqual
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 2
    functionsReached:
    - GeomPtr::get
    - GeomPtr::equalsExact
    - write
    - tut::normalize
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const Geom& a, const Geom& b, double tolerance = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:74,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:75,1
    - Dst: geos::operation::intersection::RectangleIntersection::clipBoundary
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:76,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:77,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:77,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:78,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:78,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - inputWKT
    - ' expectedWKT'
    - ' rect'
    argTypes:
    - char*
    - std::string
    - Rectangle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: tut::doLineClipTest
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::isEqual
    - GeomPtr::get
    - geos::operation::intersection::RectangleIntersection::clipBoundary
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void doLineClipTest(const char* inputWKT, const std::string& expectedWKT,
      const Rectangle& rect, double tolerance = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:85,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:86,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:86,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:87,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:88,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:88,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:89,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:89,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:90,1
    - Dst: toPolygon
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:93,1
    - Dst: GeomPtr::getFactory
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:93,1
    - Dst: GeomPtr::reset
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:94,1
    - Dst: GeomPtr::intersection
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:94,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:95,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:95,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:96,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:96,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - inputWKT
    - ' expectedWKT'
    - ' rect'
    argTypes:
    - char*
    - std::string
    - Rectangle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: tut::doClipTest
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GeomPtr::getFactory
    - tut::isEqual
    - GeomPtr::get
    - GeomPtr::intersection
    - toPolygon
    - tut::readWKT
    - GeomPtr::reset
    - geos::operation::intersection::RectangleIntersection::clip
    linkageType: ''
    returnType: void
    signature: void doClipTest(const char* inputWKT, const std::string& expectedWKT,
      const Rectangle& rect, double tolerance = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:111,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:122,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:133,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:144,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:155,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:166,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:177,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:188,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:199,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:210,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:221,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:232,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:243,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:254,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:265,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:276,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:287,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:298,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:309,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:320,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:331,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:342,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:353,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:364,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:375,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:386,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:397,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:408,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:419,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:430,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:441,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:452,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:463,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:474,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:485,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:497,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:507,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:517,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:527,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:537,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:547,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:557,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 562
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:567,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:577,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: 'object::test<44>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<44>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:587,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:597,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:607,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:617,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: 'object::test<48>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<48>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:627,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: 'object::test<49>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<49>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:637,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: 'object::test<50>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<50>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:647,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 652
    functionName: 'object::test<51>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<51>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:657,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 662
    functionName: 'object::test<52>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<52>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:668,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: 'object::test<53>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<53>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:678,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: 'object::test<54>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<54>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:689,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: 'object::test<55>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<55>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:699,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: 'object::test<56>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<56>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:709,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: 'object::test<57>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<57>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:720,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 725
    functionName: 'object::test<58>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<58>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:730,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 735
    functionName: 'object::test<59>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<59>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:740,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 745
    functionName: 'object::test<60>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<60>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:750,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 755
    functionName: 'object::test<61>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<61>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:760,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 765
    functionName: 'object::test<62>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<62>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:770,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: 'object::test<63>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<63>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:780,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 785
    functionName: 'object::test<64>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<64>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:790,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: 'object::test<65>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<65>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:800,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: 'object::test<66>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<66>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:810,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 815
    functionName: 'object::test<67>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<67>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:820,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 825
    functionName: 'object::test<68>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<68>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:830,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: 'object::test<69>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<69>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:840,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 845
    functionName: 'object::test<70>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<70>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:851,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 856
    functionName: 'object::test<71>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<71>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:861,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 866
    functionName: 'object::test<72>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<72>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:871,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 876
    functionName: 'object::test<73>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<73>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:882,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: 'object::test<74>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<74>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:893,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 898
    functionName: 'object::test<75>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<75>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:905,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: 'object::test<76>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<76>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:916,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 921
    functionName: 'object::test<77>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<77>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:927,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 932
    functionName: 'object::test<78>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<78>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:938,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 943
    functionName: 'object::test<79>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<79>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:949,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: 'object::test<80>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<80>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:960,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    functionName: 'object::test<81>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<81>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:971,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 976
    functionName: 'object::test<82>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<82>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:982,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 987
    functionName: 'object::test<83>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<83>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:993,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 998
    functionName: 'object::test<84>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<84>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1004,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1009
    functionName: 'object::test<85>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<85>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1015,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: 'object::test<86>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<86>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1026,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1031
    functionName: 'object::test<87>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<87>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1037,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1042
    functionName: 'object::test<88>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<88>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1048,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: 'object::test<89>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<89>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1059,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1064
    functionName: 'object::test<90>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<90>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1070,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1075
    functionName: 'object::test<91>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<91>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1081,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1086
    functionName: 'object::test<92>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<92>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1092,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1097
    functionName: 'object::test<93>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<93>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1103,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1108
    functionName: 'object::test<94>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<94>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1114,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1119
    functionName: 'object::test<95>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<95>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1125,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1130
    functionName: 'object::test<96>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<96>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1136,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1141
    functionName: 'object::test<97>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<97>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1146,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    functionName: 'object::test<98>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<98>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1156,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1161
    functionName: 'object::test<99>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<99>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1166,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1171
    functionName: 'object::test<100>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<100>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1176,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1181
    functionName: 'object::test<101>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<101>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1186,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1191
    functionName: 'object::test<102>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<102>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1196,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1201
    functionName: 'object::test<103>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<103>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1206,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1211
    functionName: 'object::test<104>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<104>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1216,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    functionName: 'object::test<105>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<105>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1226,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1231
    functionName: 'object::test<106>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<106>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1236,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1241
    functionName: 'object::test<107>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<107>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1246,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1251
    functionName: 'object::test<108>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<108>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1256,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1261
    functionName: 'object::test<109>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<109>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1266,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1271
    functionName: 'object::test<110>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<110>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1276,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1281
    functionName: 'object::test<111>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<111>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1286,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1291
    functionName: 'object::test<112>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<112>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1296,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1301
    functionName: 'object::test<113>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<113>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1307,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1312
    functionName: 'object::test<114>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<114>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1317,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1322
    functionName: 'object::test<115>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<115>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1328,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1333
    functionName: 'object::test<116>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<116>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1338,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1343
    functionName: 'object::test<117>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<117>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1348,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1353
    functionName: 'object::test<118>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<118>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1359,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1364
    functionName: 'object::test<119>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<119>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1369,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1374
    functionName: 'object::test<120>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<120>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1379,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1384
    functionName: 'object::test<121>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<121>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1389,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1394
    functionName: 'object::test<122>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<122>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1399,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1404
    functionName: 'object::test<123>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<123>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1409,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1414
    functionName: 'object::test<124>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<124>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1419,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1424
    functionName: 'object::test<125>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<125>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1429,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1434
    functionName: 'object::test<126>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<126>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1439,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1444
    functionName: 'object::test<127>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<127>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1449,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1454
    functionName: 'object::test<128>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<128>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1459,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1464
    functionName: 'object::test<129>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<129>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1469,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1474
    functionName: 'object::test<130>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<130>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1479,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1484
    functionName: 'object::test<131>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<131>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1490,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1495
    functionName: 'object::test<132>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<132>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1500,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1505
    functionName: 'object::test<133>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<133>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1510,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1515
    functionName: 'object::test<134>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<134>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1521,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1526
    functionName: 'object::test<135>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<135>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1532,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1537
    functionName: 'object::test<136>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<136>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1543,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1548
    functionName: 'object::test<137>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<137>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1554,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1559
    functionName: 'object::test<138>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<138>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1565,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1570
    functionName: 'object::test<139>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<139>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1576,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1581
    functionName: 'object::test<140>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<140>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1587,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1592
    functionName: 'object::test<141>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<141>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1598,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1603
    functionName: 'object::test<142>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<142>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1619
    functionName: 'object::test<204>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<204>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1634
    functionName: 'object::test<205>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<205>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1649
    functionName: 'object::test<206>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<206>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1664
    functionName: 'object::test<207>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<207>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1676,1
    - Dst: readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1676,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1677,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1677,1
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1680
    functionName: 'object::test<208>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readWKT
    - write
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<208>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1697,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1703
    functionName: 'object::test<209>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<209>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: tut::test_rectangleintersectiontest_data
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_rectangleintersectiontest_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:44,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 6
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:50,1
    - Dst: GeomPtr::normalize
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: tut::normalize
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 3
    functionsReached:
    - GeomPtr::normalize
    - clone
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr normalize(const Geom& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:62,1
    - Dst: tut::normalize
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:63,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:64,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:64,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:66,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Geom
    - Geom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: tut::isEqual
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 4
    functionsReached:
    - GeomPtr::get
    - GeomPtr::equalsExact
    - write
    - tut::normalize
    linkageType: ''
    returnType: bool
    signature: bool isEqual(const Geom& a, const Geom& b, double tolerance = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:74,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:75,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:75,1
    - Dst: geos::operation::intersection::RectangleIntersection::clipBoundary
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:76,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:77,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:77,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:78,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:78,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - inputWKT
    - ' expectedWKT'
    - ' rect'
    argTypes:
    - char*
    - std::string
    - Rectangle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: tut::doLineClipTest
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - tut::isEqual
    - GeomPtr::get
    - geos::operation::intersection::RectangleIntersection::clipBoundary
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void doLineClipTest(const char* inputWKT, const std::string& expectedWKT,
      const Rectangle& rect, double tolerance = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:85,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:86,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:86,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:87,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:88,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:88,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:89,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:89,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:90,1
    - Dst: toPolygon
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:93,1
    - Dst: GeomPtr::getFactory
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:93,1
    - Dst: GeomPtr::reset
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:94,1
    - Dst: GeomPtr::intersection
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:94,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:94,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:95,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:95,1
    - Dst: tut::isEqual
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:96,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:96,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - inputWKT
    - ' expectedWKT'
    - ' rect'
    argTypes:
    - char*
    - std::string
    - Rectangle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: tut::doClipTest
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GeomPtr::getFactory
    - tut::isEqual
    - GeomPtr::get
    - GeomPtr::intersection
    - toPolygon
    - tut::readWKT
    - GeomPtr::reset
    - geos::operation::intersection::RectangleIntersection::clip
    linkageType: ''
    returnType: void
    signature: void doClipTest(const char* inputWKT, const std::string& expectedWKT,
      const Rectangle& rect, double tolerance = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:111,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:122,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:133,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:144,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:155,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:166,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:177,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:188,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:199,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:210,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:221,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:232,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:243,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: 'object::test<13>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<13>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:254,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: 'object::test<14>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<14>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:265,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: 'object::test<15>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<15>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:276,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: 'object::test<16>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<16>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:287,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: 'object::test<17>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<17>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:298,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:309,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:320,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: 'object::test<20>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<20>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:331,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: 'object::test<21>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<21>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:342,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: 'object::test<22>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<22>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:353,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: 'object::test<23>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<23>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:364,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: 'object::test<24>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<24>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:375,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: 'object::test<25>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<25>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:386,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: 'object::test<26>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<26>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:397,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: 'object::test<27>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<27>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:408,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: 'object::test<28>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<28>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:419,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: 'object::test<29>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<29>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:430,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: 'object::test<30>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<30>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:441,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: 'object::test<31>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<31>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:452,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: 'object::test<32>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<32>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:463,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: 'object::test<33>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<33>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:474,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: 'object::test<34>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<34>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:485,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: 'object::test<35>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<35>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:497,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: 'object::test<36>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<36>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:507,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: 'object::test<37>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<37>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:517,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: 'object::test<38>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<38>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:527,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: 'object::test<39>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<39>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:537,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: 'object::test<40>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<40>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:547,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: 'object::test<41>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<41>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:557,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 562
    functionName: 'object::test<42>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<42>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:567,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: 'object::test<43>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<43>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:577,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: 'object::test<44>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<44>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:587,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: 'object::test<45>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<45>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:597,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: 'object::test<46>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<46>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:607,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: 'object::test<47>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<47>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:617,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: 'object::test<48>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<48>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:627,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: 'object::test<49>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<49>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:637,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: 'object::test<50>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<50>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:647,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 652
    functionName: 'object::test<51>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<51>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:657,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 662
    functionName: 'object::test<52>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<52>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:668,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: 'object::test<53>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<53>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:678,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: 'object::test<54>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<54>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:689,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: 'object::test<55>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<55>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:699,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: 'object::test<56>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<56>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:709,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: 'object::test<57>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<57>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:720,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 725
    functionName: 'object::test<58>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<58>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:730,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 735
    functionName: 'object::test<59>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<59>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:740,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 745
    functionName: 'object::test<60>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<60>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:750,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 755
    functionName: 'object::test<61>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<61>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:760,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 765
    functionName: 'object::test<62>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<62>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:770,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: 'object::test<63>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<63>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:780,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 785
    functionName: 'object::test<64>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<64>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:790,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: 'object::test<65>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<65>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:800,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: 'object::test<66>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<66>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:810,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 815
    functionName: 'object::test<67>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<67>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:820,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 825
    functionName: 'object::test<68>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<68>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:830,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: 'object::test<69>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<69>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:840,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 845
    functionName: 'object::test<70>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<70>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:851,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 856
    functionName: 'object::test<71>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<71>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:861,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 866
    functionName: 'object::test<72>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<72>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:871,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 876
    functionName: 'object::test<73>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<73>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:882,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: 'object::test<74>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<74>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLineClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:893,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 898
    functionName: 'object::test<75>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doLineClipTest
    - Rectangle
    linkageType: ''
    returnType: void
    signature: 'void object::test<75>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:905,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: 'object::test<76>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<76>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:916,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 921
    functionName: 'object::test<77>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<77>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:927,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 932
    functionName: 'object::test<78>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<78>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:938,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 943
    functionName: 'object::test<79>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<79>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:949,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: 'object::test<80>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<80>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:960,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    functionName: 'object::test<81>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<81>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:971,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 976
    functionName: 'object::test<82>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<82>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:982,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 987
    functionName: 'object::test<83>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<83>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:993,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 998
    functionName: 'object::test<84>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<84>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1004,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1009
    functionName: 'object::test<85>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<85>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1015,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: 'object::test<86>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<86>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1026,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1031
    functionName: 'object::test<87>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<87>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1037,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1042
    functionName: 'object::test<88>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<88>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1048,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1053
    functionName: 'object::test<89>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<89>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1059,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1064
    functionName: 'object::test<90>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<90>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1070,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1075
    functionName: 'object::test<91>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<91>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1081,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1086
    functionName: 'object::test<92>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<92>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1092,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1097
    functionName: 'object::test<93>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<93>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1103,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1108
    functionName: 'object::test<94>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<94>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1114,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1119
    functionName: 'object::test<95>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<95>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1125,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1130
    functionName: 'object::test<96>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<96>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1136,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1141
    functionName: 'object::test<97>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<97>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1146,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    functionName: 'object::test<98>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<98>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1156,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1161
    functionName: 'object::test<99>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<99>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1166,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1171
    functionName: 'object::test<100>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<100>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1176,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1181
    functionName: 'object::test<101>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<101>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1186,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1191
    functionName: 'object::test<102>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<102>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1196,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1201
    functionName: 'object::test<103>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<103>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1206,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1211
    functionName: 'object::test<104>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<104>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1216,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    functionName: 'object::test<105>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<105>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1226,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1231
    functionName: 'object::test<106>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<106>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1236,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1241
    functionName: 'object::test<107>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<107>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1246,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1251
    functionName: 'object::test<108>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<108>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1256,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1261
    functionName: 'object::test<109>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<109>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1266,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1271
    functionName: 'object::test<110>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<110>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1276,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1281
    functionName: 'object::test<111>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<111>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1286,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1291
    functionName: 'object::test<112>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<112>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1296,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1301
    functionName: 'object::test<113>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<113>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1307,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1312
    functionName: 'object::test<114>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<114>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1317,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1322
    functionName: 'object::test<115>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<115>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1328,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1333
    functionName: 'object::test<116>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<116>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1338,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1343
    functionName: 'object::test<117>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<117>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1348,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1353
    functionName: 'object::test<118>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<118>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1359,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1364
    functionName: 'object::test<119>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<119>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1369,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1374
    functionName: 'object::test<120>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<120>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1379,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1384
    functionName: 'object::test<121>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<121>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1389,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1394
    functionName: 'object::test<122>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<122>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1399,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1404
    functionName: 'object::test<123>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<123>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1409,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1414
    functionName: 'object::test<124>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<124>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1419,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1424
    functionName: 'object::test<125>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<125>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1429,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1434
    functionName: 'object::test<126>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<126>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1439,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1444
    functionName: 'object::test<127>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<127>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1449,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1454
    functionName: 'object::test<128>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<128>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1459,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1464
    functionName: 'object::test<129>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<129>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1469,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1474
    functionName: 'object::test<130>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<130>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1479,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1484
    functionName: 'object::test<131>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<131>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1490,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1495
    functionName: 'object::test<132>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<132>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1500,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1505
    functionName: 'object::test<133>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<133>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1510,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1515
    functionName: 'object::test<134>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<134>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1521,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1526
    functionName: 'object::test<135>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<135>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1532,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1537
    functionName: 'object::test<136>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<136>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1543,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1548
    functionName: 'object::test<137>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<137>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1554,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1559
    functionName: 'object::test<138>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<138>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1565,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1570
    functionName: 'object::test<139>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<139>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1576,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1581
    functionName: 'object::test<140>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<140>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1587,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1592
    functionName: 'object::test<141>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<141>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1598,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1603
    functionName: 'object::test<142>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<142>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1619
    functionName: 'object::test<204>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<204>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1634
    functionName: 'object::test<205>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<205>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1649
    functionName: 'object::test<206>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<206>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1664
    functionName: 'object::test<207>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<207>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1676,1
    - Dst: readWKT
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1676,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1677,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1677,1
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1680
    functionName: 'object::test<208>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - readWKT
    - write
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<208>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doClipTest
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1697,1
    - Dst: Rectangle
      Src: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1703
    functionName: 'object::test<209>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/intersection/RectangleIntersectionTest.cpp
    functionUses: 0
    functionsReached:
    - Rectangle
    - doClipTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<209>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tut::test_linesequencer_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linesequencer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::delAll
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ~test_linesequencer_data()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::delAll
    linkageType: ''
    returnType: void
    signature: void ~test_linesequencer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 8
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:59,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - inputWKT
    - ' geoms'
    argTypes:
    - char**
    - std::vector<Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 9
    functionsReached:
    - push_back
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void readWKT(const char* const* inputWKT, std::vector<Geom*>& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:67,1
    - Dst: LineSequencer::add
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:70,1
    - Dst: LineSequencer::isSequenceable
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:72,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:73,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:73,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:76,1
    - Dst: LineSequencer::getSequencedLineStrings
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:77,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:78,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:78,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:78,1
    - Dst: geos::operation::linemerge::LineSequencer::isSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:80,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:80,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - inputWKT
    - ' expectedWKT'
    argTypes:
    - char**
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: tut::runLineSequencer
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GeomPtr::get
    - LineSequencer::isSequenceable
    - tut::readWKT
    - GeomPtr::equalsExact
    - LineSequencer::add
    - LineSequencer::getSequencedLineStrings
    - geos::operation::linemerge::LineSequencer::isSequenced
    - empty
    linkageType: ''
    returnType: void
    signature: "void runLineSequencer(const char* const* inputWKT,\n                     const
      std::string& expectedWKT)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:88,1
    - Dst: geos::operation::linemerge::LineSequencer::isSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:89,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:89,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' inputWKT'
    - exp
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: tut::runIsSequenced
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - tut::ensure_equals
    - tut::readWKT
    - geos::operation::linemerge::LineSequencer::isSequenced
    linkageType: ''
    returnType: void
    signature: void runIsSequenced(const std::string& inputWKT, bool exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:97,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:98,1
    - Dst: dynamic_cast<Geom*>
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - TargetContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<Geom*>
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void delAll(TargetContainer& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_linesequencer_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: tut::test_linesequencer_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linesequencer_data(test_linesequencer_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_linesequencer_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& operator=(test_linesequencer_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_linesequencer_data
    signature: test_linesequencer_data & operator=(test_linesequencer_data const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIsSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runIsSequenced
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIsSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runIsSequenced
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIsSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runIsSequenced
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: tut::test_linesequencer_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linesequencer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delAll
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ~test_linesequencer_data()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - delAll
    linkageType: ''
    returnType: void
    signature: void ~test_linesequencer_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:52,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 11
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:59,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - inputWKT
    - ' geoms'
    argTypes:
    - char**
    - std::vector<Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 12
    functionsReached:
    - push_back
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void readWKT(const char* const* inputWKT, std::vector<Geom*>& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:67,1
    - Dst: LineSequencer::add
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:70,1
    - Dst: LineSequencer::isSequenceable
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:72,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:73,1
    - Dst: empty
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:73,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:76,1
    - Dst: LineSequencer::getSequencedLineStrings
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:77,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:78,1
    - Dst: GeomPtr::equalsExact
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:78,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:78,1
    - Dst: geos::operation::linemerge::LineSequencer::isSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:80,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:80,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - inputWKT
    - ' expectedWKT'
    argTypes:
    - char**
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: tut::runLineSequencer
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - GeomPtr::get
    - LineSequencer::isSequenceable
    - tut::readWKT
    - GeomPtr::equalsExact
    - LineSequencer::add
    - LineSequencer::getSequencedLineStrings
    - geos::operation::linemerge::LineSequencer::isSequenced
    - empty
    linkageType: ''
    returnType: void
    signature: "void runLineSequencer(const char* const* inputWKT,\n                     const
      std::string& expectedWKT)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:88,1
    - Dst: geos::operation::linemerge::LineSequencer::isSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:89,1
    - Dst: GeomPtr::get
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:89,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' inputWKT'
    - exp
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: tut::runIsSequenced
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - GeomPtr::get
    - tut::ensure_equals
    - tut::readWKT
    - geos::operation::linemerge::LineSequencer::isSequenced
    linkageType: ''
    returnType: void
    signature: void runIsSequenced(const std::string& inputWKT, bool exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:97,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:98,1
    - Dst: dynamic_cast<Geom*>
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - TargetContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<Geom*>
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void delAll(TargetContainer& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_linesequencer_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: tut::test_linesequencer_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linesequencer_data(test_linesequencer_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_linesequencer_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: '& operator=(test_linesequencer_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_linesequencer_data
    signature: test_linesequencer_data & operator=(test_linesequencer_data const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: 'object::test<8>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<8>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runLineSequencer
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: 'object::test<9>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runLineSequencer
    linkageType: ''
    returnType: void
    signature: 'void object::test<9>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIsSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: 'object::test<10>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runIsSequenced
    linkageType: ''
    returnType: void
    signature: 'void object::test<10>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIsSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: 'object::test<11>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runIsSequenced
    linkageType: ''
    returnType: void
    signature: 'void object::test<11>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runIsSequenced
      Src: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: 'object::test<12>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineSequencerTest.cpp
    functionUses: 0
    functionsReached:
    - runIsSequenced
    linkageType: ''
    returnType: void
    signature: 'void object::test<12>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tut::test_linemerger_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linemerger_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::delAll
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:47,1
    - Dst: tut::delAll
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: ~test_linemerger_data()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::delAll
    linkageType: ''
    returnType: void
    signature: void ~test_linemerger_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 14
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:61,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - inputWKT
    - ' geoms'
    argTypes:
    - char**
    - std::vector<const Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 15
    functionsReached:
    - push_back
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void readWKT(const char* const* inputWKT, std::vector<const Geom*>&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:73,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:74,1
    - Dst: LineMerger::add
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:76,1
    - Dst: LineMerger::getMergedLineStrings
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:77,1
    - Dst: tut::compare
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - inputWKT
    - expectedWKT
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: tut::doTest
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - LineMerger::add
    - LineMerger::getMergedLineStrings
    - tut::readWKT
    - tut::compare
    linkageType: ''
    returnType: void
    signature: "void doTest(const char* const* inputWKT,\n           const char* const*
      expectedWKT,\n           bool directed = false,\n           bool compareDirections
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - TargetContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delAll(TargetContainer& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:97,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:97,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:97,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:99,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' expectedGeometries'
    - ' actualGeometries'
    - compareDirections
    argTypes:
    - TargetContainer1
    - TargetContainer2
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: tut::compare
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 7
    functionsReached:
    - tut::ensure
    - tut::contains
    - size
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void compare(TargetContainer1& expectedGeometries,\n            TargetContainer2&
      actualGeometries,\n            bool compareDirections)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Geom*>
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:109,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:109,1
    - Dst: Geom*::equalsExact
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:110,1
    - Dst: Geom*::equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' actualGeometries'
    - g
    - exact
    argTypes:
    - TargetContainer
    - Geom*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: tut::contains
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 5
    functionsReached:
    - Geom*::equalsExact
    - dynamic_cast<Geom*>
    - get
    - Geom*::equals
    linkageType: ''
    returnType: bool
    signature: "bool contains(TargetContainer& actualGeometries,\n             const
      Geom* g, bool exact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_linemerger_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tut::test_linemerger_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linemerger_data(test_linemerger_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_linemerger_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(test_linemerger_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_linemerger_data
    signature: test_linemerger_data & operator=(test_linemerger_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 297
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 374
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 471
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:483,1
    - Dst: LineMerger::add
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:486,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:486,1
    - Dst: LineMerger::getMergedLineStrings
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:488,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:490,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:490,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:492,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:492,1
    - Dst: getLength
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - read
    - LineMerger::add
    - ensure_equals
    - LineMerger::getMergedLineStrings
    - auto::getLength
    - auto::get
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tut::test_linemerger_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linemerger_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delAll
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:47,1
    - Dst: delAll
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: ~test_linemerger_data()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - delAll
    linkageType: ''
    returnType: void
    signature: void ~test_linemerger_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeomPtr
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:54,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputWKT'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 16
    functionsReached:
    - GeomPtr
    - read
    linkageType: ''
    returnType: GeomPtr
    signature: GeomPtr readWKT(const std::string& inputWKT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:61,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - inputWKT
    - ' geoms'
    argTypes:
    - char**
    - std::vector<const Geom*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: tut::readWKT
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 17
    functionsReached:
    - push_back
    - tut::readWKT
    linkageType: ''
    returnType: void
    signature: void readWKT(const char* const* inputWKT, std::vector<const Geom*>&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:73,1
    - Dst: tut::readWKT
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:74,1
    - Dst: LineMerger::add
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:76,1
    - Dst: LineMerger::getMergedLineStrings
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:77,1
    - Dst: tut::compare
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - inputWKT
    - expectedWKT
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: tut::doTest
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - LineMerger::add
    - LineMerger::getMergedLineStrings
    - tut::readWKT
    - tut::compare
    linkageType: ''
    returnType: void
    signature: "void doTest(const char* const* inputWKT,\n           const char* const*
      expectedWKT,\n           bool directed = false,\n           bool compareDirections
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - TargetContainer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: tut::delAll
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delAll(TargetContainer& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:97,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:97,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:97,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:99,1
    - Dst: tut::contains
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' expectedGeometries'
    - ' actualGeometries'
    - compareDirections
    argTypes:
    - TargetContainer1
    - TargetContainer2
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: tut::compare
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 8
    functionsReached:
    - tut::ensure
    - tut::contains
    - size
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: "void compare(TargetContainer1& expectedGeometries,\n            TargetContainer2&
      actualGeometries,\n            bool compareDirections)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Geom*>
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:109,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:109,1
    - Dst: Geom*::equalsExact
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:110,1
    - Dst: Geom*::equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' actualGeometries'
    - g
    - exact
    argTypes:
    - TargetContainer
    - Geom*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: tut::contains
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 6
    functionsReached:
    - Geom*::equalsExact
    - dynamic_cast<Geom*>
    - get
    - Geom*::equals
    linkageType: ''
    returnType: bool
    signature: "bool contains(TargetContainer& actualGeometries,\n             const
      Geom* g, bool exact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - test_linemerger_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tut::test_linemerger_data
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_linemerger_data(test_linemerger_data const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - test_linemerger_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(test_linemerger_data const& rhs)'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: test_linemerger_data
    signature: test_linemerger_data & operator=(test_linemerger_data const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: 'object::test<2>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<2>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: 'object::test<3>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<3>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: 'object::test<4>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<4>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: 'object::test<5>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<5>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: 'object::test<6>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<6>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: 'object::test<7>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<7>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: object::test<8>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<8>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 297
    functionName: object::test<9>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<9>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: object::test<10>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<10>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: object::test<11>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<11>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 374
    functionName: object::test<12>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<12>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: object::test<13>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<13>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: object::test<14>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<14>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: object::test<15>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<15>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: object::test<16>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<16>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: object::test<17>()
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: void object::test<17>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTest
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 471
    functionName: 'object::test<18>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - doTest
    linkageType: ''
    returnType: void
    signature: 'void object::test<18>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:483,1
    - Dst: LineMerger::add
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:486,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:486,1
    - Dst: LineMerger::getMergedLineStrings
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:488,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:490,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:490,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:492,1
    - Dst: auto::getLength
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:492,1
    - Dst: getLength
      Src: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: 'object::test<19>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/linemerge/LineMergerTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - read
    - LineMerger::add
    - ensure_equals
    - LineMerger::getMergedLineStrings
    - auto::getLength
    - auto::get
    - getLength
    linkageType: ''
    returnType: void
    signature: 'void object::test<19>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:34,1
    - Dst: tut::checkPrepared
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkta'
    - ' wktb'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: tut::checkPrepared
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::checkPrepared
    linkageType: ''
    returnType: void
    signature: void checkPrepared(const std::string& wkta, const std::string& wktb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:40,1
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:42,1
    - Dst: auto::equalsTopo
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:42,1
    - Dst: Geometry*::equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:43,1
    - Dst: auto::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:43,1
    - Dst: Geometry*::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:44,1
    - Dst: auto::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:44,1
    - Dst: Geometry*::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:45,1
    - Dst: auto::covers
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:45,1
    - Dst: Geometry*::covers
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:45,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:46,1
    - Dst: auto::coveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:46,1
    - Dst: Geometry*::coveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:47,1
    - Dst: auto::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:47,1
    - Dst: Geometry*::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:48,1
    - Dst: auto::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:48,1
    - Dst: Geometry*::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:48,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:49,1
    - Dst: auto::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:49,1
    - Dst: Geometry*::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:49,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:50,1
    - Dst: auto::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:50,1
    - Dst: Geometry*::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:50,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:51,1
    - Dst: auto::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:51,1
    - Dst: Geometry*::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: tut::checkPrepared
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 1
    functionsReached:
    - Geometry*::disjoint
    - auto::equalsTopo
    - tut::ensure_equals
    - auto::intersects
    - Geometry*::covers
    - Geometry*::intersects
    - auto::crosses
    - auto::within
    - auto::relate
    - Geometry*::relate
    - auto::touches
    - Geometry*::contains
    - auto::disjoint
    - auto::covers
    - Geometry*::coveredBy
    - auto::coveredBy
    - geos::operation::relateng::RelateNG::prepare
    - Geometry*::crosses
    - Geometry*::touches
    - auto::contains
    - Geometry*::within
    - Geometry*::equals
    linkageType: ''
    returnType: void
    signature: void checkPrepared(const Geometry* a, const Geometry* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:56,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:56,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:57,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:57,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:58,1
    - Dst: geos::operation::relateng::RelatePredicate::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:58,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:59,1
    - Dst: geos::operation::relateng::RelatePredicate::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: tut::checkIntersectsDisjoint
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::intersects
    - geos::operation::relateng::RelatePredicate::disjoint
    linkageType: ''
    returnType: void
    signature: void checkIntersectsDisjoint(const std::string& wkta, const std::string&
      wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:64,1
    - Dst: geos::operation::relateng::RelatePredicate::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:64,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:65,1
    - Dst: geos::operation::relateng::RelatePredicate::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: tut::checkContainsWithin
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelatePredicate::within
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::contains
    linkageType: ''
    returnType: void
    signature: void checkContainsWithin(const std::string& wkta, const std::string&
      wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:70,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:70,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:71,1
    - Dst: geos::operation::relateng::RelatePredicate::coveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: tut::checkCoversCoveredBy
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::covers
    - geos::operation::relateng::RelatePredicate::coveredBy
    linkageType: ''
    returnType: void
    signature: void checkCoversCoveredBy(const std::string& wkta, const std::string&
      wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:76,1
    - Dst: geos::operation::relateng::RelatePredicate::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:76,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:77,1
    - Dst: geos::operation::relateng::RelatePredicate::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: tut::checkCrosses
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::crosses
    linkageType: ''
    returnType: void
    signature: void checkCrosses(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:82,1
    - Dst: geos::operation::relateng::RelatePredicate::overlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:82,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:83,1
    - Dst: geos::operation::relateng::RelatePredicate::overlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: tut::checkOverlaps
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::overlaps
    linkageType: ''
    returnType: void
    signature: void checkOverlaps(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:88,1
    - Dst: geos::operation::relateng::RelatePredicate::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:88,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:89,1
    - Dst: geos::operation::relateng::RelatePredicate::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: tut::checkTouches
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::touches
    linkageType: ''
    returnType: void
    signature: void checkTouches(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:94,1
    - Dst: geos::operation::relateng::RelatePredicate::equalsTopo
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:94,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:95,1
    - Dst: geos::operation::relateng::RelatePredicate::equalsTopo
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: tut::checkEquals
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::equalsTopo
    linkageType: ''
    returnType: void
    signature: void checkEquals(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:100,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:101,1
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:104,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:104,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:104,1
    - Dst: RelateMatrixPredicate::getIM
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:105,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:107,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:107,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:109,1
    - Dst: tut::checkPrepared
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: tut::checkRelate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - RelateMatrixPredicate::getIM
    - write
    - tut::checkPrepared
    linkageType: ''
    returnType: void
    signature: void checkRelate(const std::string& wkta, const std::string& wktb,
      const std::string expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:115,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkta'
    - ' wktb'
    - pattern
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: tut::checkRelateMatches
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: void
    signature: void checkRelateMatches(const std::string& wkta, const std::string&
      wktb, const std::string pattern, bool expectedValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:121,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:122,1
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:124,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:124,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:124,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:126,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:126,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:128,1
    - Dst: tut::checkPrepared
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' pred'
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - TopologyPredicate
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: tut::checkPredicate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 8
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - write
    - tut::checkPrepared
    linkageType: ''
    returnType: void
    signature: void checkPredicate(TopologyPredicate& pred, const std::string& wkta,
      const std::string& wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:33,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:34,1
    - Dst: tut::checkPrepared
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:35,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' wkta'
    - ' wktb'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: tut::checkPrepared
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::checkPrepared
    linkageType: ''
    returnType: void
    signature: void checkPrepared(const std::string& wkta, const std::string& wktb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:40,1
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:41,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:42,1
    - Dst: auto::equalsTopo
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:42,1
    - Dst: Geometry*::equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:42,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:43,1
    - Dst: auto::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:43,1
    - Dst: Geometry*::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:43,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:44,1
    - Dst: auto::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:44,1
    - Dst: Geometry*::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:45,1
    - Dst: auto::covers
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:45,1
    - Dst: Geometry*::covers
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:45,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:46,1
    - Dst: auto::coveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:46,1
    - Dst: Geometry*::coveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:46,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:47,1
    - Dst: auto::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:47,1
    - Dst: Geometry*::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:47,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:48,1
    - Dst: auto::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:48,1
    - Dst: Geometry*::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:48,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:49,1
    - Dst: auto::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:49,1
    - Dst: Geometry*::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:49,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:50,1
    - Dst: auto::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:50,1
    - Dst: Geometry*::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:50,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:51,1
    - Dst: auto::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:51,1
    - Dst: Geometry*::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: tut::checkPrepared
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 4
    functionsReached:
    - Geometry*::disjoint
    - auto::equalsTopo
    - tut::ensure_equals
    - auto::intersects
    - Geometry*::covers
    - Geometry*::intersects
    - auto::crosses
    - auto::within
    - auto::relate
    - Geometry*::relate
    - auto::touches
    - Geometry*::contains
    - auto::disjoint
    - auto::covers
    - Geometry*::coveredBy
    - auto::coveredBy
    - geos::operation::relateng::RelateNG::prepare
    - Geometry*::crosses
    - Geometry*::touches
    - auto::contains
    - Geometry*::within
    - Geometry*::equals
    linkageType: ''
    returnType: void
    signature: void checkPrepared(const Geometry* a, const Geometry* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:56,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:56,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:57,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:57,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:58,1
    - Dst: geos::operation::relateng::RelatePredicate::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:58,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:59,1
    - Dst: geos::operation::relateng::RelatePredicate::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: tut::checkIntersectsDisjoint
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::intersects
    - geos::operation::relateng::RelatePredicate::disjoint
    linkageType: ''
    returnType: void
    signature: void checkIntersectsDisjoint(const std::string& wkta, const std::string&
      wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:64,1
    - Dst: geos::operation::relateng::RelatePredicate::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:64,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:65,1
    - Dst: geos::operation::relateng::RelatePredicate::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: tut::checkContainsWithin
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelatePredicate::within
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::contains
    linkageType: ''
    returnType: void
    signature: void checkContainsWithin(const std::string& wkta, const std::string&
      wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:70,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:70,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:71,1
    - Dst: geos::operation::relateng::RelatePredicate::coveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: tut::checkCoversCoveredBy
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::covers
    - geos::operation::relateng::RelatePredicate::coveredBy
    linkageType: ''
    returnType: void
    signature: void checkCoversCoveredBy(const std::string& wkta, const std::string&
      wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:76,1
    - Dst: geos::operation::relateng::RelatePredicate::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:76,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:77,1
    - Dst: geos::operation::relateng::RelatePredicate::crosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: tut::checkCrosses
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::crosses
    linkageType: ''
    returnType: void
    signature: void checkCrosses(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:82,1
    - Dst: geos::operation::relateng::RelatePredicate::overlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:82,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:83,1
    - Dst: geos::operation::relateng::RelatePredicate::overlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: tut::checkOverlaps
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::overlaps
    linkageType: ''
    returnType: void
    signature: void checkOverlaps(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:88,1
    - Dst: geos::operation::relateng::RelatePredicate::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:88,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:89,1
    - Dst: geos::operation::relateng::RelatePredicate::touches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: tut::checkTouches
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::touches
    linkageType: ''
    returnType: void
    signature: void checkTouches(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:94,1
    - Dst: geos::operation::relateng::RelatePredicate::equalsTopo
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:94,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:95,1
    - Dst: geos::operation::relateng::RelatePredicate::equalsTopo
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: tut::checkEquals
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::operation::relateng::RelatePredicate::equalsTopo
    linkageType: ''
    returnType: void
    signature: void checkEquals(const std::string& wkta, const std::string& wktb,
      bool expectedValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:100,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:101,1
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:104,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:104,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:104,1
    - Dst: RelateMatrixPredicate::getIM
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:105,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:107,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:107,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:109,1
    - Dst: tut::checkPrepared
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: tut::checkRelate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - RelateMatrixPredicate::getIM
    - write
    - tut::checkPrepared
    linkageType: ''
    returnType: void
    signature: void checkRelate(const std::string& wkta, const std::string& wktb,
      const std::string expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:115,1
    - Dst: tut::checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkta'
    - ' wktb'
    - pattern
    - expectedValue
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: tut::checkRelateMatches
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 0
    functionsReached:
    - tut::checkPredicate
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: void
    signature: void checkRelateMatches(const std::string& wkta, const std::string&
      wktb, const std::string pattern, bool expectedValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:121,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:122,1
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:124,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:124,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:124,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:126,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:126,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:128,1
    - Dst: tut::checkPrepared
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' pred'
    - ' wkta'
    - ' wktb'
    - expectedValue
    argTypes:
    - TopologyPredicate
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: tut::checkPredicate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.h
    functionUses: 16
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - write
    - tut::checkPrepared
    linkageType: ''
    returnType: void
    signature: void checkPredicate(TopologyPredicate& pred, const std::string& wkta,
      const std::string& wktb, bool expectedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:41,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkEquals
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:53,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:54,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:55,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:56,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:68,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:69,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:70,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:71,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:72,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:84,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:85,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:86,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:87,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:88,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:99,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:110,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:121,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:132,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:143,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:144,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:145,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:156,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:157,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:168,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:169,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:180,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:181,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:193,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:194,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:209,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:210,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:211,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:223,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:224,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:225,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:236,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:237,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:238,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:249,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:250,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:251,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:262,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:263,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:274,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:275,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:286,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:287,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:298,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:299,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:322,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:323,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:324,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:325,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:337,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:338,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:339,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:340,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:351,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:352,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:353,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:354,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:41,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkEquals
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:53,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:54,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:55,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:56,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:68,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:69,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:70,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:71,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:72,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:84,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:85,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:86,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:87,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:88,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:99,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:110,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:121,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:132,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:143,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:144,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:145,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:156,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:157,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:168,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:169,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:180,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:181,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:193,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:194,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:209,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:210,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:211,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:223,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:224,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:225,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:236,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:237,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:238,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:249,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:250,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:251,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:262,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:263,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:274,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:275,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:286,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:287,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:298,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:299,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:322,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:323,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:324,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:325,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:337,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:338,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:339,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:340,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:351,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:352,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:353,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:354,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGGCTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::applyIM
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:32,1
    - Dst: tut::checkPred
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' pred'
    - ' im'
    - expected
    argTypes:
    - TopologyPredicate
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: tut::checkPredicate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 16
    functionsReached:
    - tut::applyIM
    - tut::checkPred
    linkageType: ''
    returnType: void
    signature: void checkPredicate(TopologyPredicate& pred, const std::string& im,
      bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::applyIM
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:39,1
    - Dst: isKnown
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:40,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:41,1
    - Dst: tut::checkPred
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' pred'
    - ' im'
    - expected
    argTypes:
    - TopologyPredicate
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: tut::checkPredicatePartial
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - tut::applyIM
    - isKnown
    - tut::checkPred
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkPredicatePartial(TopologyPredicate& pred, const std::string&
      im, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:48,1
    - Dst: value
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:49,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' pred'
    - expected
    argTypes:
    - TopologyPredicate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: tut::checkPred
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 2
    functionsReached:
    - value
    - finish
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkPred(TopologyPredicate& pred, bool expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::cleanIM
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:59,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:65,1
    - Dst: updateDimension
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ' imIn'
    - ' pred'
    argTypes:
    - std::string
    - TopologyPredicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: tut::applyIM
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - tut::cleanIM
    - updateDimension
    linkageType: ''
    returnType: void
    signature: void applyIM(const std::string& imIn, TopologyPredicate& pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::remove
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::string::begin
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' im'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tut::cleanIM
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 1
    functionsReached:
    - std::string::end
    - std::string::erase
    - std::string::begin
    - std::remove
    linkageType: ''
    returnType: std::string
    signature: std::string cleanIM(const std::string& im)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:99,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::intersects
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:107,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:107,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:108,1
    - Dst: geos::operation::relateng::RelatePredicate::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::intersects
    - geos::operation::relateng::RelatePredicate::disjoint
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:116,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:116,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:117,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::covers
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicatePartial
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:125,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicatePartial
    - geos::operation::relateng::RelatePredicate::covers
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:133,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::applyIM
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:32,1
    - Dst: tut::checkPred
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' pred'
    - ' im'
    - expected
    argTypes:
    - TopologyPredicate
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: tut::checkPredicate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 16
    functionsReached:
    - tut::applyIM
    - tut::checkPred
    linkageType: ''
    returnType: void
    signature: void checkPredicate(TopologyPredicate& pred, const std::string& im,
      bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::applyIM
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:39,1
    - Dst: isKnown
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:40,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:41,1
    - Dst: tut::checkPred
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' pred'
    - ' im'
    - expected
    argTypes:
    - TopologyPredicate
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: tut::checkPredicatePartial
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - tut::applyIM
    - isKnown
    - tut::checkPred
    - tut::ensure
    linkageType: ''
    returnType: void
    signature: void checkPredicatePartial(TopologyPredicate& pred, const std::string&
      im, bool expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:48,1
    - Dst: value
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:49,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' pred'
    - expected
    argTypes:
    - TopologyPredicate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: tut::checkPred
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 4
    functionsReached:
    - value
    - finish
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkPred(TopologyPredicate& pred, bool expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::cleanIM
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:59,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:65,1
    - Dst: updateDimension
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ' imIn'
    - ' pred'
    argTypes:
    - std::string
    - TopologyPredicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: tut::applyIM
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - tut::cleanIM
    - updateDimension
    linkageType: ''
    returnType: void
    signature: void applyIM(const std::string& imIn, TopologyPredicate& pred)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::erase
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::remove
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::string::begin
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' im'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tut::cleanIM
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 2
    functionsReached:
    - std::string::end
    - std::string::erase
    - std::string::begin
    - std::remove
    linkageType: ''
    returnType: std::string
    signature: std::string cleanIM(const std::string& im)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:99,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::intersects
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:107,1
    - Dst: geos::operation::relateng::RelatePredicate::intersects
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:107,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:108,1
    - Dst: geos::operation::relateng::RelatePredicate::disjoint
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::intersects
    - geos::operation::relateng::RelatePredicate::disjoint
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:116,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:116,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:117,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::covers
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicatePartial
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:125,1
    - Dst: geos::operation::relateng::RelatePredicate::covers
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicatePartial
    - geos::operation::relateng::RelatePredicate::covers
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:133,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePredicateTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:43,1
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:44,1
    - Dst: auto::toString
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:45,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:48,1
    - Dst: toString
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:48,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:48,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - ' bnRule'
    - ' expectedIM'
    argTypes:
    - std::string
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: tut::runRelate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::get
    - auto::toString
    - read
    - tut::ensure_equals
    - toString
    - write
    linkageType: ''
    returnType: void
    signature: "void runRelate(\n        const std::string& wkt1,\n        const std::string&
      wkt2,\n        const BoundaryNodeRule& bnRule,\n        const std::string& expectedIM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:77,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:89,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:89,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:90,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:102,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:102,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:104,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:104,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:106,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:106,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:108,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelate
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:120,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:120,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:122,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:122,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:124,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:124,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:126,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelate
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:138,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:138,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:140,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:152,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:152,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:155,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:167,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:167,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:170,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:182,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:182,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:185,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:196,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:196,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:197,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:197,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:198,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:198,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:199,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelate
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:42,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:43,1
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:44,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:44,1
    - Dst: auto::toString
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:45,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:48,1
    - Dst: toString
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:48,1
    - Dst: write
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:48,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' wkt1'
    - ' wkt2'
    - ' bnRule'
    - ' expectedIM'
    argTypes:
    - std::string
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: tut::runRelate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::get
    - auto::toString
    - read
    - tut::ensure_equals
    - toString
    - write
    linkageType: ''
    returnType: void
    signature: "void runRelate(\n        const std::string& wkt1,\n        const std::string&
      wkt2,\n        const BoundaryNodeRule& bnRule,\n        const std::string& expectedIM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:77,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:89,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:89,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:90,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:102,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:102,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:104,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:104,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:106,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:106,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:108,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelate
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:120,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:120,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:122,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:122,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:124,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:124,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:126,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelate
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:138,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:138,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:140,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:152,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:152,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:155,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:167,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:167,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:170,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:182,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:182,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:185,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - runRelate
    - BoundaryNodeRule::getBoundaryEndPoint
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:196,1
    - Dst: BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:196,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:197,1
    - Dst: BoundaryNodeRule::getBoundaryEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:197,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:198,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:198,1
    - Dst: runRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:199,1
    - Dst: BoundaryNodeRule::getBoundaryMultivalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGBoundaryNodeRuleTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryOGCSFS
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - BoundaryNodeRule::getBoundaryMultivalentEndPoint
    - BoundaryNodeRule::getBoundaryEndPoint
    - runRelate
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:75,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkEquals
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:98,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:99,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:102,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:226,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:253,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:265,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:277,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:75,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkEquals
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:98,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:99,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:102,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:226,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:253,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:265,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:277,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGRobustnessTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:37,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:38,1
    - Dst: RelateGeometry::getDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:38,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:39,1
    - Dst: RelateGeometry::getDimensionReal
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - expectedDim
    - expectedDimReal
    argTypes:
    - std::string
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: tut::checkDimension
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - RelateGeometry::getDimension
    - RelateGeometry::getDimensionReal
    linkageType: ''
    returnType: void
    signature: void checkDimension(const std::string& wkt, int expectedDim, int expectedDimReal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:56,1
    - Dst: RelateGeometry::getUniquePoints
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:58,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::unique_ptr::get
    - read
    - ensure_equals
    - RelateGeometry::getUniquePoints
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:68,1
    - Dst: RelateGeometry::hasBoundary
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - RelateGeometry::hasBoundary
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:76,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:78,1
    - Dst: RelateGeometry::hasDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:79,1
    - Dst: RelateGeometry::hasDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:80,1
    - Dst: RelateGeometry::hasDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::unique_ptr::get
    - read
    - RelateGeometry::hasDimension
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:37,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:38,1
    - Dst: RelateGeometry::getDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:38,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:39,1
    - Dst: RelateGeometry::getDimensionReal
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - expectedDim
    - expectedDimReal
    argTypes:
    - std::string
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: tut::checkDimension
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    - RelateGeometry::getDimension
    - RelateGeometry::getDimensionReal
    linkageType: ''
    returnType: void
    signature: void checkDimension(const std::string& wkt, int expectedDim, int expectedDimReal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:56,1
    - Dst: RelateGeometry::getUniquePoints
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:57,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:58,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - std::unique_ptr::get
    - read
    - ensure_equals
    - RelateGeometry::getUniquePoints
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:66,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:67,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:68,1
    - Dst: RelateGeometry::hasBoundary
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - RelateGeometry::hasBoundary
    - std::unique_ptr::get
    - read
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:76,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:77,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:78,1
    - Dst: RelateGeometry::hasDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:78,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:79,1
    - Dst: RelateGeometry::hasDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:79,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:80,1
    - Dst: RelateGeometry::hasDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - ensure
    - std::unique_ptr::get
    - read
    - RelateGeometry::hasDimension
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimension
      Src: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateGeometryTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimension
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:51,1
    - Dst: RelatePointLocator::locateWithDim
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - i
    - j
    - expected
    argTypes:
    - std::string
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tut::checkDimLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - RelatePointLocator::locateWithDim
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDimLocation(const std::string& wkt, double i, double j, int
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:60,1
    - Dst: RelatePointLocator::locateLineEndWithDim
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - x
    - y
    - expectedDimLoc
    argTypes:
    - std::string
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tut::checkLineEndDimLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - RelatePointLocator::locateLineEndWithDim
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkLineEndDimLocation(const std::string& wkt, double x, double
      y, int expectedDimLoc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:69,1
    - Dst: RelatePointLocator::locateNode
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:71,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - i
    - j
    - expected
    argTypes:
    - std::string
    - double
    - double
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: tut::checkNodeLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - RelatePointLocator::locateNode
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkNodeLocation(const std::string& wkt, double i, double j,
      Location expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:89,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:98,1
    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: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:114,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:123,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:132,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:141,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:142,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:143,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNodeLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeLocation
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:51,1
    - Dst: RelatePointLocator::locateWithDim
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:53,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - i
    - j
    - expected
    argTypes:
    - std::string
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tut::checkDimLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - RelatePointLocator::locateWithDim
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkDimLocation(const std::string& wkt, double i, double j, int
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:60,1
    - Dst: RelatePointLocator::locateLineEndWithDim
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:62,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - x
    - y
    - expectedDimLoc
    argTypes:
    - std::string
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: tut::checkLineEndDimLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - RelatePointLocator::locateLineEndWithDim
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkLineEndDimLocation(const std::string& wkt, double x, double
      y, int expectedDimLoc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:68,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:69,1
    - Dst: RelatePointLocator::locateNode
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:71,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - i
    - j
    - expected
    argTypes:
    - std::string
    - double
    - double
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: tut::checkNodeLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - RelatePointLocator::locateNode
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkNodeLocation(const std::string& wkt, double i, double j,
      Location expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:89,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:98,1
    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: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:114,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:123,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:132,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:141,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:142,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:143,1
    - Dst: checkDimLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkDimLocation
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkNodeLocation
      Src: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelatePointLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkNodeLocation
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:41,1
    - Dst: tut::extractLines
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:42,1
    - Dst: length
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:45,1
    - Dst: LinearBoundary::hasBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:45,1
    - Dst: tut::checkBoundaryPoints
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnr'
    - ' wktBdyExpected'
    argTypes:
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: tut::checkLinearBoundary
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - tut::ensure_equals
    - tut::extractLines
    - LinearBoundary::hasBoundary
    - length
    - tut::checkBoundaryPoints
    linkageType: ''
    returnType: void
    signature: void checkLinearBoundary(const std::string& wkt, const BoundaryNodeRule&
      bnr, const std::string& wktBdyExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::extractPoints
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:57,1
    - Dst: isBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:60,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:61,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:63,1
    - Dst: std::set::find
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:64,1
    - Dst: std::set::end
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:64,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:65,1
    - Dst: isBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' lb'
    - ' geom'
    - ' wktBdyExpected'
    argTypes:
    - LinearBoundary
    - Geometry
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: tut::checkBoundaryPoints
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - auto::size
    - getCoordinates
    - isBoundary
    - std::set::end
    - auto::getAt
    - tut::extractPoints
    - std::set::find
    linkageType: ''
    returnType: void
    signature: void checkBoundaryPoints(LinearBoundary& lb, Geometry& geom, const
      std::string& wktBdyExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:74,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:75,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:76,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:78,1
    - Dst: insert
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' wkt'
    - ' ptSet'
    argTypes:
    - std::string
    - std::set<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: tut::extractPoints
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - insert
    - read
    - length
    - auto::getAt
    - auto::getCoordinates
    linkageType: ''
    returnType: void
    signature: void extractPoints(const std::string& wkt, std::set<CoordinateXY>&
      ptSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::LineStringExtracter::getLines
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: tut::extractLines
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::relateng::LineStringExtracter::getLines
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: std::vector<const LineString*> extractLines(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:106,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:116,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:126,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:136,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:41,1
    - Dst: tut::extractLines
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:42,1
    - Dst: length
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:44,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:45,1
    - Dst: LinearBoundary::hasBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:45,1
    - Dst: tut::checkBoundaryPoints
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' wkt'
    - ' bnr'
    - ' wktBdyExpected'
    argTypes:
    - std::string
    - BoundaryNodeRule
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: tut::checkLinearBoundary
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - read
    - tut::ensure_equals
    - tut::extractLines
    - LinearBoundary::hasBoundary
    - length
    - tut::checkBoundaryPoints
    linkageType: ''
    returnType: void
    signature: void checkLinearBoundary(const std::string& wkt, const BoundaryNodeRule&
      bnr, const std::string& wktBdyExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tut::extractPoints
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:54,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:57,1
    - Dst: isBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:60,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:61,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:63,1
    - Dst: std::set::find
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:64,1
    - Dst: std::set::end
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:64,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:65,1
    - Dst: isBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' lb'
    - ' geom'
    - ' wktBdyExpected'
    argTypes:
    - LinearBoundary
    - Geometry
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: tut::checkBoundaryPoints
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 2
    functionsReached:
    - tut::ensure
    - auto::size
    - getCoordinates
    - isBoundary
    - std::set::end
    - auto::getAt
    - tut::extractPoints
    - std::set::find
    linkageType: ''
    returnType: void
    signature: void checkBoundaryPoints(LinearBoundary& lb, Geometry& geom, const
      std::string& wktBdyExpected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:73,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:74,1
    - Dst: auto::getCoordinates
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:75,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:76,1
    - Dst: auto::getAt
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:78,1
    - Dst: insert
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' wkt'
    - ' ptSet'
    argTypes:
    - std::string
    - std::set<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: tut::extractPoints
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - insert
    - read
    - length
    - auto::getAt
    - auto::getCoordinates
    linkageType: ''
    returnType: void
    signature: void extractPoints(const std::string& wkt, std::set<CoordinateXY>&
      ptSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::LineStringExtracter::getLines
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: tut::extractLines
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::relateng::LineStringExtracter::getLines
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: std::vector<const LineString*> extractLines(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:106,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:116,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:126,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryRuleMod2
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLinearBoundary
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:136,1
    - Dst: BoundaryNodeRule::getBoundaryMonovalentEndPoint
      Src: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/LinearBoundaryTest.cpp
    functionUses: 0
    functionsReached:
    - BoundaryNodeRule::getBoundaryMonovalentEndPoint
    - checkLinearBoundary
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:37,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:38,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:39,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:52,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:53,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:54,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:65,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:66,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:77,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:78,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:79,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:80,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:81,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:94,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:95,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:96,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:97,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:98,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:109,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:110,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:111,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:112,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:123,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:124,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:125,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:126,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:127,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:128,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:139,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:140,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:141,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:142,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:143,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:144,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:156,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:157,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:158,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:159,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:160,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:161,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:184,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:195,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:196,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:227,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:238,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:249,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:250,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:261,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:262,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:263,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:274,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:275,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:276,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:287,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:288,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:289,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:300,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:301,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:302,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:322,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:323,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:324,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:325,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:326,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:337,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:338,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:339,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:340,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:341,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:359,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:360,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:361,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:362,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:373,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:374,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:375,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:376,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:377,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:390,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:391,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:392,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:393,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:416,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:427,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:438,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:439,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:450,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:451,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:452,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:453,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:454,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:468,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:469,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: object::test<32> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<32> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:480,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:481,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:482,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:483,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: object::test<33> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<33> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:494,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:495,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: object::test<34> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<34> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:506,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: object::test<35> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<35> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:517,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:518,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:519,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:520,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 522
    functionName: object::test<36> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<36> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:531,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:532,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:533,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:534,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:535,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 537
    functionName: object::test<37> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<37> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:546,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:547,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:548,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:549,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: object::test<38> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<38> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:563,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:564,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:565,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:566,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:567,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:568,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: object::test<39> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<39> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:579,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:580,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:581,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:582,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: object::test<40> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<40> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: object::test<41> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<41> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:607,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: object::test<42> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<42> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:619,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: object::test<43> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<43> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:630,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:631,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:632,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:633,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: object::test<44> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<44> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:644,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:645,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:646,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:647,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 649
    functionName: object::test<45> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<45> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:658,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:659,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:660,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:661,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 663
    functionName: object::test<46> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<46> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:673,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:674,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:675,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: object::test<47> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkContainsWithin
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<47> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:687,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:688,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:691,1
    - Dst: geos::operation::relateng::RelatePredicate::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: object::test<48> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::contains
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<48> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:702,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:703,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:704,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:705,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:706,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:707,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: object::test<49> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<49> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:718,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:719,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:720,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: object::test<50> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<50> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:734,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:735,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:736,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:737,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:738,1
    - Dst: geos::operation::relateng::RelatePredicate::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:738,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 740
    functionName: object::test<51> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelatePredicate::within
    - checkIntersectsDisjoint
    - checkPredicate
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<51> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:749,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:750,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:751,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:752,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:753,1
    - Dst: geos::operation::relateng::RelatePredicate::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:753,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 755
    functionName: object::test<52> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelatePredicate::within
    - checkIntersectsDisjoint
    - checkPredicate
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<52> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: object::test<53> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<53> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: object::test<54> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<54> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: object::test<55> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<55> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: object::test<56> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<56> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: object::test<57> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<57> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: object::test<58> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<58> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:826,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 828
    functionName: object::test<59> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<59> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 838
    functionName: object::test<60> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<60> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:862,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 866
    functionName: object::test<61> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkEquals
    linkageType: ''
    returnType: void
    signature: void object::test<61> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:880,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:881,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:883,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:884,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:886,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:887,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:889,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:890,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:891,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:893,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:894,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:895,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:897,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:898,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:899,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:901,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:902,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 905
    functionName: object::test<62> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkEquals
    - checkContainsWithin
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<62> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 915
    functionName: object::test<63> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<63> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:37,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:38,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:39,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:52,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:53,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:54,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:65,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:66,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:77,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:78,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:79,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:80,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:81,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:94,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:95,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:96,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:97,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:98,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:109,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:110,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:111,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:112,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:123,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:124,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:125,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:126,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:127,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:128,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: object::test<7> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<7> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:139,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:140,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:141,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:142,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:143,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:144,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: object::test<8> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<8> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:156,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:157,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:158,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:159,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:160,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:161,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: object::test<9> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkEquals
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkCoversCoveredBy
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<9> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: object::test<10> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<10> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:184,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: object::test<11> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<11> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:195,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:196,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: object::test<12> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<12> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: object::test<13> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<13> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: object::test<14> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<14> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:227,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: object::test<15> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<15> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:238,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: object::test<16> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<16> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:249,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:250,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: object::test<17> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<17> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:261,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:262,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:263,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: object::test<18> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<18> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:274,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:275,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:276,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: object::test<19> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<19> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:287,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:288,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:289,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: object::test<20> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<20> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:300,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:301,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:302,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: object::test<21> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkTouches
    linkageType: ''
    returnType: void
    signature: void object::test<21> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:322,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:323,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:324,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:325,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:326,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: object::test<22> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<22> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:337,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:338,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:339,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:340,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:341,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: object::test<23> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<23> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:359,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:360,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:361,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:362,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: object::test<24> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<24> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:373,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:374,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:375,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:376,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:377,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: object::test<25> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<25> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:390,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:391,1
    - Dst: checkCrosses
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:392,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:393,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: object::test<26> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCrosses
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<26> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: object::test<27> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<27> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:416,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: object::test<28> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<28> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:427,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: object::test<29> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<29> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:438,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:439,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: object::test<30> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<30> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:450,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:451,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:452,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:453,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:454,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: object::test<31> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<31> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:468,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:469,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: object::test<32> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<32> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:480,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:481,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:482,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:483,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: object::test<33> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<33> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:494,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:495,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: object::test<34> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<34> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:506,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: object::test<35> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<35> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:517,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:518,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:519,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:520,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 522
    functionName: object::test<36> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<36> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:531,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:532,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:533,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:534,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:535,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 537
    functionName: object::test<37> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<37> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:546,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:547,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:548,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:549,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: object::test<38> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<38> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:563,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:564,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:565,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:566,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:567,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:568,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: object::test<39> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<39> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:579,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:580,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:581,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:582,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: object::test<40> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<40> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: object::test<41> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<41> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:607,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: object::test<42> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<42> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:619,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: object::test<43> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<43> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:630,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:631,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:632,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:633,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: object::test<44> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<44> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:644,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:645,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:646,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:647,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 649
    functionName: object::test<45> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<45> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:658,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:659,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:660,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:661,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 663
    functionName: object::test<46> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<46> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:673,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:674,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:675,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: object::test<47> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkCoversCoveredBy
    - checkContainsWithin
    - checkTouches
    - checkOverlaps
    linkageType: ''
    returnType: void
    signature: void object::test<47> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:687,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:688,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:691,1
    - Dst: geos::operation::relateng::RelatePredicate::contains
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: object::test<48> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkPredicate
    - geos::operation::relateng::RelatePredicate::contains
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<48> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:702,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:703,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:704,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:705,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:706,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:707,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: object::test<49> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkIntersectsDisjoint
    - checkContainsWithin
    - checkOverlaps
    - checkCoversCoveredBy
    - checkTouches
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<49> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:718,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:719,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:720,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: object::test<50> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    - checkContainsWithin
    linkageType: ''
    returnType: void
    signature: void object::test<50> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:734,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:735,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:736,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:737,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:738,1
    - Dst: geos::operation::relateng::RelatePredicate::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:738,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 740
    functionName: object::test<51> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelatePredicate::within
    - checkIntersectsDisjoint
    - checkPredicate
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<51> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:749,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:750,1
    - Dst: checkCoversCoveredBy
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:751,1
    - Dst: checkOverlaps
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:752,1
    - Dst: checkPredicate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:753,1
    - Dst: geos::operation::relateng::RelatePredicate::within
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:753,1
    - Dst: checkTouches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 755
    functionName: object::test<52> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelatePredicate::within
    - checkIntersectsDisjoint
    - checkPredicate
    - checkContainsWithin
    - checkOverlaps
    - checkTouches
    - checkCoversCoveredBy
    linkageType: ''
    returnType: void
    signature: void object::test<52> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: object::test<53> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<53> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: object::test<54> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<54> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: object::test<55> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<55> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: object::test<56> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<56> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: object::test<57> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<57> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelateMatches
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: object::test<58> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelateMatches
    linkageType: ''
    returnType: void
    signature: void object::test<58> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:826,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 828
    functionName: object::test<59> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<59> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 838
    functionName: object::test<60> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<60> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:862,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 866
    functionName: object::test<61> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkEquals
    linkageType: ''
    returnType: void
    signature: void object::test<61> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:880,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:881,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:883,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:884,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:886,1
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:887,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:889,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:890,1
    - Dst: checkEquals
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:891,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:893,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:894,1
    - Dst: checkIntersectsDisjoint
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:895,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:897,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:898,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:899,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:901,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:902,1
    - Dst: checkContainsWithin
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 905
    functionName: object::test<62> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    - checkEquals
    - checkContainsWithin
    - checkIntersectsDisjoint
    linkageType: ''
    returnType: void
    signature: void object::test<62> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRelate
      Src: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 915
    functionName: object::test<63> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/RelateNGTest.cpp
    functionUses: 0
    functionsReached:
    - checkRelate
    linkageType: ''
    returnType: void
    signature: void object::test<63> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:39,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:39,1
    - Dst: back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: tut::newCoordinate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::Coordinate
    - emplace_back
    - back
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate * newCoordinate(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::newCoordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:48,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:49,1
    - Dst: tut::newCoordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:50,1
    - Dst: NodeSection::NodeSection
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:45,1
    - Dst: emplace_back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:52,1
    - Dst: back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ringId
    - v0x
    - v0y
    - nx
    - ny
    - v1x
    - v1y
    argTypes:
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: tut::section
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::newCoordinate
    - back
    - NodeSection::NodeSection
    - Coordinate
    - emplace_back
    linkageType: ''
    returnType: NodeSection
    signature: NodeSection * section(int ringId, double v0x, double v0y, double nx,
      double ny, double v1x, double v1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::section
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - v0x
    - v0y
    - nx
    - ny
    - v1x
    - v1y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tut::sectionShell
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::section
    linkageType: ''
    returnType: NodeSection
    signature: NodeSection * sectionShell(double v0x, double v0y, double nx, double
      ny, double v1x, double v1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::section
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - v0x
    - v0y
    - nx
    - ny
    - v1x
    - v1y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tut::sectionHole
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::section
    linkageType: ''
    returnType: NodeSection
    signature: NodeSection * sectionHole(double v0x, double v0y, double nx, double
      ny, double v1x, double v1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:69,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<std::unique_ptr<NodeSection>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tut::toPtrVector
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - size
    - get
    linkageType: ''
    returnType: std::vector<const NodeSection*>
    signature: std::vector<const NodeSection*> toPtrVector(const std::vector<std::unique_ptr<NodeSection>>&
      input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:76,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:76,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:78,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:79,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:80,1
    - Dst: compareTo
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' ns1'
    - ' ns2'
    argTypes:
    - std::vector<const NodeSection*>
    - std::vector<const NodeSection*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: tut::checkSectionsEqual
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::sort
    - size
    - compareTo
    linkageType: ''
    returnType: bool
    signature: "bool checkSectionsEqual(std::vector<const NodeSection*>& ns1, \n                            std::vector<const
      NodeSection*>& ns2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:95,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:98,1
    - Dst: begin
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:98,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ns'
    argTypes:
    - std::vector<const NodeSection*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: tut::sort
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 6
    functionsReached:
    - tut::sort
    - end
    - begin
    - compareTo
    linkageType: ''
    returnType: void
    signature: void sort(std::vector<const NodeSection*>& ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::PolygonNodeConverter::convert
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:105,1
    - Dst: tut::toPtrVector
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:106,1
    - Dst: tut::checkSectionsEqual
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:107,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::vector<const NodeSection *>
    - std::vector<const NodeSection *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: tut::checkConversion
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::PolygonNodeConverter::convert
    - tut::checkSectionsEqual
    - tut::ensure
    - tut::toPtrVector
    linkageType: ''
    returnType: void
    signature: "void checkConversion(std::vector<const NodeSection *>& input, \n                    std::vector<const
      NodeSection *>& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:129,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:130,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:131,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:134,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:135,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:136,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:147,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:148,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:151,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:152,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:163,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:164,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:166,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:167,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:170,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:171,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:173,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:174,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:185,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:186,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:187,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:190,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:191,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:192,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:203,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:204,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:207,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:208,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:39,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:39,1
    - Dst: back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: tut::newCoordinate
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 1
    functionsReached:
    - Coordinate::Coordinate
    - emplace_back
    - back
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate * newCoordinate(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::newCoordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:48,1
    - Dst: Coordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:49,1
    - Dst: tut::newCoordinate
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:50,1
    - Dst: NodeSection::NodeSection
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:45,1
    - Dst: emplace_back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:52,1
    - Dst: back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ringId
    - v0x
    - v0y
    - nx
    - ny
    - v1x
    - v1y
    argTypes:
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: tut::section
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 2
    functionsReached:
    - tut::newCoordinate
    - back
    - NodeSection::NodeSection
    - Coordinate
    - emplace_back
    linkageType: ''
    returnType: NodeSection
    signature: NodeSection * section(int ringId, double v0x, double v0y, double nx,
      double ny, double v1x, double v1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::section
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - v0x
    - v0y
    - nx
    - ny
    - v1x
    - v1y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: tut::sectionShell
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::section
    linkageType: ''
    returnType: NodeSection
    signature: NodeSection * sectionShell(double v0x, double v0y, double nx, double
      ny, double v1x, double v1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::section
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - v0x
    - v0y
    - nx
    - ny
    - v1x
    - v1y
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: tut::sectionHole
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - tut::section
    linkageType: ''
    returnType: NodeSection
    signature: NodeSection * sectionHole(double v0x, double v0y, double nx, double
      ny, double v1x, double v1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:69,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<std::unique_ptr<NodeSection>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tut::toPtrVector
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - size
    - get
    linkageType: ''
    returnType: std::vector<const NodeSection*>
    signature: std::vector<const NodeSection*> toPtrVector(const std::vector<std::unique_ptr<NodeSection>>&
      input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:76,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:76,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:78,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:79,1
    - Dst: size
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:80,1
    - Dst: compareTo
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' ns1'
    - ' ns2'
    argTypes:
    - std::vector<const NodeSection*>
    - std::vector<const NodeSection*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: tut::checkSectionsEqual
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 1
    functionsReached:
    - tut::sort
    - size
    - compareTo
    linkageType: ''
    returnType: bool
    signature: "bool checkSectionsEqual(std::vector<const NodeSection*>& ns1, \n                            std::vector<const
      NodeSection*>& ns2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:95,1
    - Dst: tut::sort
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:98,1
    - Dst: begin
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:98,1
    - Dst: end
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ns'
    argTypes:
    - std::vector<const NodeSection*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: tut::sort
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 8
    functionsReached:
    - tut::sort
    - end
    - begin
    - compareTo
    linkageType: ''
    returnType: void
    signature: void sort(std::vector<const NodeSection*>& ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::PolygonNodeConverter::convert
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:105,1
    - Dst: tut::toPtrVector
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:106,1
    - Dst: tut::checkSectionsEqual
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:107,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' input'
    - ' expected'
    argTypes:
    - std::vector<const NodeSection *>
    - std::vector<const NodeSection *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: tut::checkConversion
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::PolygonNodeConverter::convert
    - tut::checkSectionsEqual
    - tut::ensure
    - tut::toPtrVector
    linkageType: ''
    returnType: void
    signature: "void checkConversion(std::vector<const NodeSection *>& input, \n                    std::vector<const
      NodeSection *>& expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:129,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:130,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:131,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:134,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:135,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:136,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:147,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:148,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:151,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:152,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:163,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:164,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:166,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:167,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:170,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:171,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:173,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:174,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:185,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:186,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:187,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:190,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:191,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:192,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:203,1
    - Dst: sectionHole
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:204,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:207,1
    - Dst: sectionShell
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:208,1
    - Dst: checkConversion
      Src: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/PolygonNodeConverterTest.cpp
    functionUses: 0
    functionsReached:
    - checkConversion
    - sectionShell
    - sectionHole
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:37,1
    - Dst: AdjacentEdgeLocator::locate
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - x
    - y
    - expectedLoc
    argTypes:
    - std::string
    - int
    - int
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: tut::checkLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - AdjacentEdgeLocator::locate
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkLocation(const std::string& wkt, int x, int y, Location expectedLoc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:103,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:36,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:37,1
    - Dst: AdjacentEdgeLocator::locate
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:39,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' wkt'
    - x
    - y
    - expectedLoc
    argTypes:
    - std::string
    - int
    - int
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: tut::checkLocation
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - AdjacentEdgeLocator::locate
    - std::unique_ptr::get
    - read
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void checkLocation(const std::string& wkt, int x, int y, Location expectedLoc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: object::test<1> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<1> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: object::test<2> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<2> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: object::test<3> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<3> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: object::test<4> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<4> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:103,1
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: object::test<5> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<5> ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkLocation
      Src: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: object::test<6> ()
    functionSourceFile: /src/geos/tests/unit/operation/relateng/AdjacentEdgeLocatorTest.cpp
    functionUses: 0
    functionsReached:
    - checkLocation
    linkageType: ''
    returnType: void
    signature: void object::test<6> ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:17,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:18,1
    - Dst: toString
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:18,1
    - Dst: toString
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:18,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' g1'
    - ' g2'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: ensure_geometry_equals
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 208
    functionsReached:
    - toString
    - equals
    - tut::ensure_equals
    linkageType: ''
    returnType: void
    signature: void ensure_geometry_equals(T&& g1, U&& g2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:45,1
    - Dst: GeometryIntersectsClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:52,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:54,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:54,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:55,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - auto::clone
    - ensure_geometry_equals
    - ensure
    - auto::getNumGeometries
    - GeometryIntersectsClusterFinder
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:64,1
    - Dst: GeometryIntersectsClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:76,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:77,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:78,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:78,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:80,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:80,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:83,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:84,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:86,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:88,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:89,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:92,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:92,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:94,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:95,1
    - Dst: GeometryDistanceClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:99,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:100,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:101,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:101,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:103,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:103,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:106,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:107,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:109,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:109,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:111,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:112,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:114,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:114,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:116,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:117,1
    - Dst: GeometryDistanceClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:121,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:122,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:123,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:123,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:125,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:128,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:129,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:131,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:131,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:133,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 136
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - auto::clone
    - ensure_geometry_equals
    - ensure_equals
    - auto::getNumGeometries
    - GeometryDistanceClusterFinder
    - GeometryIntersectsClusterFinder
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:143,1
    - Dst: DBSCANClusterFinder::clusterToCollection
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:158,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:158,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:160,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:160,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:161,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:168,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:168,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 174
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - DBSCANClusterFinder::clusterToCollection
    - ensure_geometry_equals
    - ensure_equals
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:181,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:184,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:184,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:187,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:187,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - DBSCANClusterFinder
    - ensure
    - auto::isEmpty
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:195,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:196,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:199,1
    - Dst: auto::getNumClusters
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:199,1
    - Dst: auto::getClusterIds
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:202,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:203,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:205,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:206,1
    - Dst: auto::getNumClusters
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:206,1
    - Dst: auto::getClusterIds
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:208,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:209,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::getNumClusters
    - read
    - DBSCANClusterFinder
    - ensure_equals
    - auto::get
    - auto::getClusterIds
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:45,1
    - Dst: GeometryIntersectsClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:52,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:52,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:54,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:54,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:55,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - auto::clone
    - ensure_geometry_equals
    - ensure
    - auto::getNumGeometries
    - GeometryIntersectsClusterFinder
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:64,1
    - Dst: GeometryIntersectsClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:76,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:76,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:77,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:77,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:78,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:78,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:80,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:80,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:81,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:83,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:84,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:86,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:86,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:87,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:88,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:89,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:92,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:92,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:93,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:94,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:95,1
    - Dst: GeometryDistanceClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:99,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:99,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:100,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:100,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:101,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:101,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:103,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:103,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:104,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:106,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:107,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:109,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:109,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:110,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:111,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:112,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:114,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:114,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:115,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:116,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:117,1
    - Dst: GeometryDistanceClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:121,1
    - Dst: auto::clone
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:121,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:122,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:122,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:123,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:123,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:125,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:125,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:126,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:128,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:129,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:131,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:131,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:132,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:133,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 136
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - auto::clone
    - ensure_geometry_equals
    - ensure_equals
    - auto::getNumGeometries
    - GeometryDistanceClusterFinder
    - GeometryIntersectsClusterFinder
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:143,1
    - Dst: DBSCANClusterFinder::clusterToCollection
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:157,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:158,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:158,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:160,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:160,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:161,1
    - Dst: ensure_geometry_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:168,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:168,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 174
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - DBSCANClusterFinder::clusterToCollection
    - ensure_geometry_equals
    - ensure_equals
    - auto::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:181,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:183,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:184,1
    - Dst: auto::isEmpty
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:184,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:186,1
    - Dst: ensure
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:187,1
    - Dst: auto::getGeometryN
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:187,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getGeometryN
    - read
    - DBSCANClusterFinder
    - ensure
    - auto::isEmpty
    - auto::get
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:195,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:196,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:198,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:199,1
    - Dst: auto::getNumClusters
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:199,1
    - Dst: auto::getClusterIds
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:201,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:202,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:202,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:203,1
    - Dst: DBSCANClusterFinder
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:205,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:206,1
    - Dst: auto::getNumClusters
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:206,1
    - Dst: auto::getClusterIds
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:208,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:209,1
    - Dst: auto::size
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:209,1
    - Dst: ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 211
    functionName: object::test<5>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/ClusterFinderTest.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::getNumClusters
    - read
    - DBSCANClusterFinder
    - ensure_equals
    - auto::get
    - auto::getClusterIds
    linkageType: ''
    returnType: void
    signature: void object::test<5>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:30,1
    - Dst: DisjointOperation
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:36,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:38,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:39,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:42,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp
    functionUses: 0
    functionsReached:
    - DisjointOperation
    - getFactory
    - read
    - getEnvelope
    - auto::get
    - std::move
    - std::vector::emplace_back
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:30,1
    - Dst: DisjointOperation
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:36,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:38,1
    - Dst: getEnvelope
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:39,1
    - Dst: std::move
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:39,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:42,1
    - Dst: ensure_equals_geometry
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:44,1
    - Dst: auto::get
      Src: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: 'object::test<1>

      ()'
    functionSourceFile: /src/geos/tests/unit/operation/cluster/DisjointOperationTest.cpp
    functionUses: 0
    functionsReached:
    - DisjointOperation
    - getFactory
    - read
    - getEnvelope
    - auto::get
    - std::move
    - std::vector::emplace_back
    - ensure_equals_geometry
    linkageType: ''
    returnType: void
    signature: 'void object::test<1>

      ()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::cluster::GeometryFlattener::flatten
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:20,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:20,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:21,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:23,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:23,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:23,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:24,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:24,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' input_wkt'
    - ' expected_wkt'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: tut::checkFlattener
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::ensure
    - read
    - tut::ensure_equals
    - getGeometryType
    - tut::equals
    - geos::operation::cluster::GeometryFlattener::flatten
    - get
    linkageType: ''
    returnType: void
    signature: void checkFlattener(const std::string& input_wkt, const std::string&
      expected_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input_wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: tut::checkFlattenerUnchanged
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkFlattener
    linkageType: ''
    returnType: void
    signature: void checkFlattenerUnchanged(const std::string& input_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:42,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:43,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:44,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:45,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:46,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:47,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattenerUnchanged
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:56,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:57,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattenerUnchanged
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:66,1
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattener
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:75,1
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattener
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::cluster::GeometryFlattener::flatten
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:20,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:20,1
    - Dst: read
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:21,1
    - Dst: tut::ensure_equals
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:23,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:23,1
    - Dst: getGeometryType
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:23,1
    - Dst: tut::ensure
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:24,1
    - Dst: tut::equals
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:24,1
    - Dst: get
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' input_wkt'
    - ' expected_wkt'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: tut::checkFlattener
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 1
    functionsReached:
    - tut::ensure
    - read
    - tut::ensure_equals
    - getGeometryType
    - tut::equals
    - geos::operation::cluster::GeometryFlattener::flatten
    - get
    linkageType: ''
    returnType: void
    signature: void checkFlattener(const std::string& input_wkt, const std::string&
      expected_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tut::checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input_wkt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: tut::checkFlattenerUnchanged
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - tut::checkFlattener
    linkageType: ''
    returnType: void
    signature: void checkFlattenerUnchanged(const std::string& input_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:42,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:43,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:44,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:45,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:46,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:47,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: object::test<1>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattenerUnchanged
    linkageType: ''
    returnType: void
    signature: void object::test<1>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:56,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:57,1
    - Dst: checkFlattenerUnchanged
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: object::test<2>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattenerUnchanged
    linkageType: ''
    returnType: void
    signature: void object::test<2>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:66,1
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: object::test<3>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattener
    linkageType: ''
    returnType: void
    signature: void object::test<3>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:75,1
    - Dst: checkFlattener
      Src: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: object::test<4>()
    functionSourceFile: /src/geos/tests/unit/operation/cluster/GeometryFlattenerTest.cpp
    functionUses: 0
    functionsReached:
    - checkFlattener
    linkageType: ''
    returnType: void
    signature: void object::test<4>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:15,1
    - Dst: va_start
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:16,1
    - Dst: vfprintf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:17,1
    - Dst: va_end
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:18,1
    - Dst: fprintf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: notice
    functionSourceFile: /src/geos/tests/fuzz/fuzz_geo2.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - fprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void notice(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:25,1
    - Dst: va_start
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:26,1
    - Dst: vfprintf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:27,1
    - Dst: va_end
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:28,1
    - Dst: fprintf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: log_and_exit
    functionSourceFile: /src/geos/tests/fuzz/fuzz_geo2.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - fprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void log_and_exit(const char *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:34,1
    - Dst: initGEOS
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:35,1
    - Dst: GEOSGeomFromWKT
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:47,1
    - Dst: GEOSGeomFromWKB_buf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:50,1
    - Dst: GEOSIntersection
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:53,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:54,1
    - Dst: GEOSDifference
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:55,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:56,1
    - Dst: GEOSUnion
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:57,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:58,1
    - Dst: GEOSGeomToWKB_buf
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:59,1
    - Dst: free
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:60,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:61,1
    - Dst: GEOSGeomToWKT
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:63,1
    - Dst: free
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:64,1
    - Dst: GEOSGeom_destroy
      Src: /src/geos/tests/fuzz/fuzz_geo2.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/geos/tests/fuzz/fuzz_geo2.c
    functionUses: 0
    functionsReached:
    - GEOSDifference
    - fopen
    - free
    - initGEOS
    - GEOSUnion
    - GEOSGeomFromWKB_buf
    - GEOSGeom_destroy
    - GEOSGeomToWKB_buf
    - GEOSGeomToWKT
    - GEOSGeomFromWKT
    - GEOSIntersection
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASEnhancer::ASEnhancer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:31,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:89,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:90,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:91,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:92,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:93,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:94,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:95,1
    - Dst: vector<const pair<const string, const string>* >::vector<const pair<const
        string, const string>* >
      Src: /src/geos/tools/astyle/ASFormatter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 99
    functionName: astyle::ASFormatter::ASFormatter
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>::vector<const string*>
    - vector<const pair<const string, const string>* >::vector<const pair<const string,
      const string>* >
    - ASEnhancer::ASEnhancer
    linkageType: ''
    returnType: void
    signature: void ASFormatter::ASFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:107,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:108,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:109,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:110,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:111,1
    - Dst: astyle::ASBeautifier::deleteBeautifierVectors
      Src: /src/geos/tools/astyle/ASFormatter.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: ASFormatter::~ASFormatter()
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - deleteContainer
    - astyle::ASBeautifier::deleteBeautifierVectors
    linkageType: ''
    returnType: void
    signature: void ASFormatter::~ASFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::buildLanguageVectors
      Src: /src/geos/tools/astyle/ASFormatter.cpp:145,1
    - Dst: astyle::ASFormatter::fixOptionVariableConflicts
      Src: /src/geos/tools/astyle/ASFormatter.cpp:146,1
    - Dst: astyle::ASBeautifier::init
      Src: /src/geos/tools/astyle/ASFormatter.cpp:147,1
    - Dst: astyle::ASFormatter::init
      Src: /src/geos/tools/astyle/ASFormatter.cpp:150,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:150,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:151,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:152,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:153,1
    - Dst: getForceTabIndentation
      Src: /src/geos/tools/astyle/ASFormatter.cpp:154,1
    - Dst: getNamespaceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:155,1
    - Dst: getCaseIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:156,1
    - Dst: getPreprocDefineIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:158,1
    - Dst: getEmptyLineFill
      Src: /src/geos/tools/astyle/ASFormatter.cpp:159,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:162,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:162,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:163,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:163,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:164,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:164,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:165,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:165,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:166,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:167,1
    - Dst: vector<BraceType>::vector<BraceType>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:167,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:168,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 146
    argCount: 1
    argNames:
    - si
    argTypes:
    - ASSourceIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 304
    functionName: astyle::ASFormatter::init
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - getCaseIndent
    - getPreprocDefineIndent
    - getForceTabIndentation
    - astyle::ASFormatter::init
    - astyle::ASFormatter::initContainer
    - getIndentString
    - astyle::ASFormatter::buildLanguageVectors
    - astyle::ASFormatter::fixOptionVariableConflicts
    - getNamespaceIndent
    - astyle::ASBeautifier::init
    - vector<int>::vector<int>
    - vector<bool>::vector<bool>
    - getIndentLength
    - getTabLength
    - emplace_back
    - getEmptyLineFill
    - getFileType
    - vector<BraceType>::vector<BraceType>
    - vector<const string*>::vector<const string*>
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::init(ASSourceIterator* si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:312,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:315,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:317,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:318,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:319,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:320,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:321,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:322,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:323,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:324,1
    - Dst: astyle::ASResource::buildHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:326,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:326,1
    - Dst: astyle::ASResource::buildNonParenHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:327,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:327,1
    - Dst: astyle::ASResource::buildPreDefinitionHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:328,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:328,1
    - Dst: astyle::ASResource::buildPreCommandHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:329,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:329,1
    - Dst: astyle::ASResource::buildOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:330,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:330,1
    - Dst: astyle::ASResource::buildAssignmentOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:331,1
    - Dst: astyle::ASResource::buildCastOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:332,1
    - Dst: astyle::ASResource::buildIndentableMacros
      Src: /src/geos/tools/astyle/ASFormatter.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: astyle::ASFormatter::buildLanguageVectors
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASResource::buildAssignmentOperators
    - astyle::ASResource::buildPreDefinitionHeaders
    - astyle::ASResource::buildNonParenHeaders
    - getFileType
    - astyle::ASResource::buildPreCommandHeaders
    - astyle::ASResource::buildIndentableMacros
    - clear
    - astyle::ASResource::buildHeaders
    - astyle::ASResource::buildOperators
    - astyle::ASResource::buildCastOperators
    linkageType: ''
    returnType: void
    signature: void ASFormatter::buildLanguageVectors()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:344,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:348,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:352,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:356,1
    - Dst: astyle::ASFormatter::setBreakClosingHeaderBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:357,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:361,1
    - Dst: setBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:362,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:363,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:364,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:369,1
    - Dst: setBraceIndentVtk
      Src: /src/geos/tools/astyle/ASFormatter.cpp:370,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:371,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:376,1
    - Dst: setBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:377,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:378,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:379,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:383,1
    - Dst: setBlockIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:384,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:388,1
    - Dst: setMinConditionalIndentOption
      Src: /src/geos/tools/astyle/ASFormatter.cpp:390,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:394,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:395,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:399,1
    - Dst: astyle::ASFormatter::setAddBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:400,1
    - Dst: astyle::ASFormatter::setRemoveBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:401,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:405,1
    - Dst: setModifierIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:406,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:407,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:411,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:415,1
    - Dst: astyle::ASFormatter::setAttachClosingBraceMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:416,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:417,1
    - Dst: astyle::ASFormatter::setBreakOneLineBlocksMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:418,1
    - Dst: astyle::ASFormatter::setBreakOneLineStatementsMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:419,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:427,1
    - Dst: astyle::ASFormatter::setAttachClosingBraceMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:428,1
    - Dst: astyle::ASFormatter::setBreakOneLineStatementsMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:429,1
    - Dst: setMinConditionalIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:438,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:440,1
    - Dst: setDefaultTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:441,1
    - Dst: astyle::ASFormatter::setBreakOneLineBlocksMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:444,1
    - Dst: astyle::ASFormatter::setRemoveBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:447,1
    - Dst: getClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:454,1
    - Dst: setModifierIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:455,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 456
    functionName: astyle::ASFormatter::fixOptionVariableConflicts
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::setAddBracesMode
    - setBraceIndentVtk
    - setBlockIndent
    - astyle::ASFormatter::setAttachClosingBraceMode
    - astyle::ASFormatter::setRemoveBracesMode
    - astyle::ASFormatter::setBreakOneLineStatementsMode
    - getTabLength
    - getClassIndent
    - astyle::ASFormatter::setBraceFormatMode
    - astyle::ASFormatter::setBreakClosingHeaderBracesMode
    - setModifierIndent
    - astyle::ASFormatter::setBreakOneLineBlocksMode
    - setMinConditionalIndentLength
    - setBraceIndent
    - setDefaultTabLength
    - setClassIndent
    - setSwitchIndent
    - setMinConditionalIndentOption
    linkageType: ''
    returnType: void
    signature: void ASFormatter::fixOptionVariableConflicts()
  - BBCount: 234
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::getNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:478,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:480,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:491,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:491,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:495,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:510,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:514,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:516,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:521,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:523,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:527,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:531,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:533,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:539,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:549,1
    - Dst: astyle::ASFormatter::formatLineCommentBody
      Src: /src/geos/tools/astyle/ASFormatter.cpp:555,1
    - Dst: astyle::ASFormatter::formatCommentBody
      Src: /src/geos/tools/astyle/ASFormatter.cpp:560,1
    - Dst: astyle::ASFormatter::formatQuoteBody
      Src: /src/geos/tools/astyle/ASFormatter.cpp:566,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:572,1
    - Dst: astyle::ASFormatter::formatLineCommentOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:574,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:575,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:578,1
    - Dst: astyle::ASFormatter::formatCommentOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:580,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:581,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:585,1
    - Dst: astyle::ASFormatter::formatQuoteOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:587,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:588,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:593,1
    - Dst: trim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:595,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/ASFormatter.cpp:595,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:596,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:597,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:598,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:599,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:600,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:601,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:602,1
    - Dst: rtrim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:604,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:606,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:614,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:621,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:627,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:627,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:635,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:635,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:636,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:641,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:643,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:653,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:654,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:654,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:658,1
    - Dst: astyle::ASFormatter::processPreprocessor
      Src: /src/geos/tools/astyle/ASFormatter.cpp:663,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:666,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:666,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:667,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:667,1
    - Dst: tellg
      Src: /src/geos/tools/astyle/ASFormatter.cpp:670,1
    - Dst: astyle::ASBeautifier::extractPreprocessorStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:673,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:674,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:674,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:677,1
    - Dst: astyle::ASFormatter::isIndentablePreprocessorBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:678,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:683,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:684,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:686,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:688,1
    - Dst: tellg
      Src: /src/geos/tools/astyle/ASFormatter.cpp:691,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:754,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:754,1
    - Dst: astyle::ASFormatter::addBracesToStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:756,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:759,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:760,1
    - Dst: astyle::ASFormatter::removeBracesFromStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:768,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:772,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:776,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:785,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:785,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:786,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:789,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:789,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:790,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:791,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:792,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:800,1
    - Dst: astyle::ASFormatter::isMultiStatementLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:803,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:804,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:804,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:805,1
    - Dst: astyle::ASFormatter::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:811,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:819,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:819,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:820,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:821,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:822,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:838,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:841,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:841,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:843,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:844,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:846,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:848,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:849,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:850,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:850,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:851,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:852,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:852,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:856,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:860,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:861,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:864,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:865,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:868,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:873,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:887,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:888,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:889,1
    - Dst: astyle::ASFormatter::checkIfTemplateOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:900,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:925,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:926,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:926,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:927,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:931,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:932,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:932,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:933,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:937,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:938,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:938,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:939,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:939,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:943,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:944,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:944,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:945,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:949,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:958,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:960,1
    - Dst: getAlignMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:964,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:964,1
    - Dst: astyle::ASFormatter::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:965,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:971,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:973,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:974,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:975,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:977,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:978,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:991,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1009,1
    - Dst: astyle::ASFormatter::getBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1020,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1048,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1049,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1050,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1052,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1053,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1053,1
    - Dst: astyle::ASFormatter::isStructAccessModified
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1054,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1060,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1061,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1062,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1063,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1063,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1078,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1080,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1081,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1082,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1090,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1092,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1093,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1098,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1100,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1101,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1107,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1107,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1108,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1112,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1115,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1116,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1123,1
    - Dst: astyle::ASFormatter::formatArrayBraces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1125,1
    - Dst: astyle::ASFormatter::formatOpeningBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1130,1
    - Dst: astyle::ASFormatter::formatClosingBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1132,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1142,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1143,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1144,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1144,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1145,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1145,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1148,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1148,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1149,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1149,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1154,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1154,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1155,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1155,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1170,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1170,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1171,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1171,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1175,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1177,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1181,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1188,1
    - Dst: astyle::ASFormatter::padObjCMethodPrefix
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1207,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1212,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1219,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1223,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1224,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1227,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1230,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1233,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1237,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1237,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1241,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1242,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1247,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1257,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1261,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1261,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1267,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1270,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1270,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1271,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1282,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1282,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1295,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1295,1
    - Dst: astyle::ASFormatter::isLineBreakBeforeClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1296,1
    - Dst: astyle::ASFormatter::getNextLineCommentAdjustment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1300,1
    - Dst: astyle::ASFormatter::getCurrentLineCommentAdjustment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1302,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1306,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1312,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1313,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1326,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1326,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1327,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1329,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1334,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1335,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1335,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1341,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1341,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1342,1
    - Dst: astyle::ASFormatter::isSharpStyleWithParen
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1354,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1362,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1362,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1373,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1395,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1396,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1408,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1409,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1409,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1413,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1419,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1422,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1423,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1423,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1430,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1456,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1456,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1457,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1457,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1458,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1463,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1466,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1467,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1476,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1482,1
    - Dst: astyle::ASFormatter::resetEndOfStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1485,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1490,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1498,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1499,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1499,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1509,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1509,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1518,1
    - Dst: astyle::ASFormatter::padObjCMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1526,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1531,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1532,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1533,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1534,1
    - Dst: astyle::ASFormatter::isClassInitializer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1537,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1546,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1547,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1553,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1559,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1562,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1564,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1571,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1572,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1577,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1577,1
    - Dst: astyle::ASFormatter::isExternC
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1577,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1580,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1580,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1581,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1581,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1582,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1582,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1589,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1589,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1590,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1590,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1596,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1597,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1597,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1598,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1599,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1600,1
    - Dst: astyle::ASFormatter::findReturnTypeSplitPoint
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1602,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1608,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1608,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1610,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1610,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1613,1
    - Dst: astyle::ASFormatter::isExecSQL
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1613,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1616,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1618,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1619,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1623,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1624,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1627,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1630,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1638,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1639,1
    - Dst: astyle::ASFormatter::isNextCharOpeningBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1640,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1643,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1644,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1645,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1649,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1655,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1656,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1657,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1657,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1658,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1659,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1660,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1661,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1665,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1666,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1666,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1671,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1672,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1672,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1682,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1683,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1684,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1685,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1686,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1687,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1687,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1691,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1692,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1692,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1696,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1697,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1698,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1699,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1700,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1704,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1705,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1705,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1709,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1710,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1713,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1713,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1714,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1714,1
    - Dst: getAlignMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1720,1
    - Dst: astyle::ASFormatter::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1721,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1722,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1728,1
    - Dst: astyle::ASFormatter::findOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1733,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1738,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1755,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1755,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1755,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1756,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1759,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1770,1
    - Dst: astyle::ASFormatter::isPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1775,1
    - Dst: astyle::ASFormatter::isDereferenceOrAddressOf
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1777,1
    - Dst: astyle::ASFormatter::isOperatorPaddingDisabled
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1777,1
    - Dst: astyle::ASFormatter::formatPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1778,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1781,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1782,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1782,1
    - Dst: astyle::ASFormatter::isOperatorPaddingDisabled
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1788,1
    - Dst: astyle::ASFormatter::padOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1790,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1797,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1798,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1801,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1812,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1814,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1820,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1824,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1825,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1839,1
    - Dst: astyle::ASFormatter::padParens
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1843,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1845,1
    - Dst: astyle::ASFormatter::padObjCMethodPrefix
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1852,1
    - Dst: astyle::ASFormatter::padObjCReturnType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1859,1
    - Dst: astyle::ASFormatter::padObjCParamType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1864,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1872,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1873,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1873,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1877,1
    - Dst: trim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1884,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1885,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1885,1
    - Dst: beautify
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1892,1
    - Dst: enhance
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1895,1
    - Dst: beautify
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1901,1
    - Dst: enhance
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1905,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1924,1
    - Dst: astyle::ASFormatter::computeChecksumOut
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1924,1
    CyclomaticComplexity: 596
    EdgeCount: 596
    ICount: 804
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (blockEnd != string::npos)
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: "((currentLine.compare(commentStart, 2, \"//\") == 0)\n\t\t\t\t\t\t
        \      || (currentLine.compare(commentStart, 2, \"/*\") == 0))"
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (firstText != string::npos)
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (commentStart != string::npos)
      pos:
        line_end: 848
        line_start: 848
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (computeChecksumOut(beautifiedLine))
      pos:
        line_end: 1923
        line_start: 1923
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (adjustChecksumIn(-'}'))
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 1926
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 1926
    functionName: astyle::ASFormatter::nextLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::formatCommentBody
    - astyle::ASBeautifier::getNextWord
    - astyle::ASFormatter::formatArrayBraces
    - astyle::ASFormatter::padObjCMethodColon
    - astyle::ASFormatter::isDereferenceOrAddressOf
    - find
    - findKeyword
    - astyle::ASFormatter::isPointerOrReference
    - astyle::ASFormatter::peekNextText
    - astyle::ASBase::peekNextChar
    - astyle::ASFormatter::formatClosingBrace
    - push_back
    - astyle::ASFormatter::appendSpaceAfter
    - astyle::ASFormatter::padOperators
    - find_last_not_of
    - begin
    - astyle::ASBase::findHeader
    - string*::length
    - astyle::ASFormatter::formatLineCommentBody
    - empty
    - compare
    - astyle::ASFormatter::formatQuoteOpener
    - astyle::ASFormatter::checkIfTemplateOpener
    - astyle::ASFormatter::findObjCColonAlignment
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendSequence
    - astyle::ASFormatter::formatRunIn
    - isWhiteSpace
    - astyle::ASFormatter::findReturnTypeSplitPoint
    - astyle::ASFormatter::addBracesToStatement
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::isOkToBreakBlock
    - isCStyle
    - append
    - astyle::ASFormatter::isIndentablePreprocessorBlock
    - astyle::ASFormatter::isMultiStatementLine
    - astyle::ASFormatter::isOperatorPaddingDisabled
    - enhance
    - astyle::ASFormatter::computeChecksumOut
    - astyle::ASFormatter::formatLineCommentOpener
    - string::substr
    - isCharPotentialHeader
    - erase
    - astyle::ASFormatter::goForward
    - astyle::ASFormatter::isClassInitializer
    - astyle::ASFormatter::formatQuoteBody
    - astyle::ASFormatter::padParens
    - back
    - find_first_of
    - isDigitSeparator
    - astyle::ASFormatter::formatCommentOpener
    - astyle::ASFormatter::getNextChar
    - astyle::ASFormatter::removeBracesFromStatement
    - isCharPotentialOperator
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::findOperator
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::formatPointerOrReference
    - astyle::ASFormatter::isClosingHeader
    - pop_back
    - rtrim
    - string::length
    - astyle::ASFormatter::findHeader
    - astyle::ASFormatter::padObjCMethodPrefix
    - isDigit
    - getIndentLength
    - astyle::ASFormatter::appendOperator
    - astyle::ASFormatter::isExecSQL
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::isSharpStyleWithParen
    - c_str
    - astyle::ASFormatter::isEmptyLine
    - emplace_back
    - astyle::ASFormatter::getCurrentLineCommentAdjustment
    - astyle::ASFormatter::isBraceType
    - trim
    - isSharpStyle
    - astyle::ASFormatter::appendCurrentChar
    - rfind
    - astyle::ASFormatter::formatOpeningBrace
    - astyle::ASFormatter::isOneLineBlockReached
    - astyle::ASFormatter::isLineBreakBeforeClosingHeader
    - insert
    - beautify
    - astyle::ASFormatter::padObjCReturnType
    - substr
    - getAlignMethodColon
    - resize
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - size
    - astyle::ASFormatter::resetEndOfStatement
    - astyle::ASFormatter::adjustChecksumIn
    - astyle::ASFormatter::isExternC
    - astyle::ASFormatter::padObjCParamType
    - tellg
    - astyle::ASFormatter::getNextLineCommentAdjustment
    - isJavaStyle
    - find_first_not_of
    - astyle::ASBeautifier::extractPreprocessorStatement
    - astyle::ASFormatter::isNextCharOpeningBrace
    - astyle::ASFormatter::processPreprocessor
    - getCurrentWord
    - astyle::ASFormatter::appendSpacePad
    - length
    - astyle::ASFormatter::getBraceType
    - astyle::ASFormatter::isStructAccessModified
    - end
    linkageType: ''
    returnType: string
    signature: string ASFormatter::nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1936
    functionName: astyle::ASFormatter::hasMoreLines
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::hasMoreLines() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BraceType
    - BraceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1946
    functionName: astyle::ASFormatter::isBraceType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBraceType(BraceType a, BraceType b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - style
    argTypes:
    - FormatStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1956
    functionName: astyle::ASFormatter::setFormattingStyle
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setFormattingStyle(FormatStyle style)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1969
    functionName: astyle::ASFormatter::setAddBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1983
    functionName: astyle::ASFormatter::setAddOneLineBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddOneLineBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 1996
    functionName: astyle::ASFormatter::setRemoveBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setRemoveBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setAddBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2004
    functionName: astyle::ASFormatter::setAddBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setAddBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setAddOneLineBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2012
    functionName: astyle::ASFormatter::setAddOneLineBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setAddOneLineBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddOneLineBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setRemoveBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2017
    functionDepth: 1
    functionLinenumber: 2017
    functionLinenumberEnd: 2020
    functionName: astyle::ASFormatter::setRemoveBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setRemoveBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setRemoveBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setBreakClosingHeaderBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2025
    functionDepth: 1
    functionLinenumber: 2025
    functionLinenumberEnd: 2028
    functionName: astyle::ASFormatter::setBreakClosingHeaderBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setBreakClosingHeaderBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakClosingHeaderBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - BraceMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2039
    functionName: astyle::ASFormatter::setBraceFormatMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBraceFormatMode(BraceMode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2049
    functionName: astyle::ASFormatter::setBreakAfterMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakAfterMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2063
    functionName: astyle::ASFormatter::setBreakClosingHeaderBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakClosingHeaderBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2076
    functionName: astyle::ASFormatter::setBreakElseIfsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakElseIfsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    functionName: astyle::ASFormatter::setCommaPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setCommaPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2099
    functionName: astyle::ASFormatter::setMaxCodeLength
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setMaxCodeLength(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2112
    functionName: astyle::ASFormatter::setOperatorPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setOperatorPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2125
    functionName: astyle::ASFormatter::setParensOutsidePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensOutsidePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2138
    functionName: astyle::ASFormatter::setParensInsidePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensInsidePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2151
    functionName: astyle::ASFormatter::setParensFirstPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensFirstPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2164
    functionName: astyle::ASFormatter::setParensHeaderPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensHeaderPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2177
    functionName: astyle::ASFormatter::setParensUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2188
    functionName: astyle::ASFormatter::setPreprocBlockIndent
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setPreprocBlockIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2201
    functionName: astyle::ASFormatter::setStripCommentPrefix
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setStripCommentPrefix(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2214
    functionName: astyle::ASFormatter::setMethodPrefixPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setMethodPrefixPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2227
    functionName: astyle::ASFormatter::setMethodPrefixUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setMethodPrefixUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2233
    functionName: astyle::ASFormatter::setReturnTypePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setReturnTypePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2239
    functionName: astyle::ASFormatter::setReturnTypeUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setReturnTypeUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2245
    functionName: astyle::ASFormatter::setParamTypePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParamTypePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2251
    functionName: astyle::ASFormatter::setParamTypeUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParamTypeUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ObjCColonPad
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2262
    functionName: astyle::ASFormatter::setObjCColonPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setObjCColonPaddingMode(ObjCColonPad mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2272
    functionName: astyle::ASFormatter::setAttachClosingBraceMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachClosingBraceMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2282
    functionName: astyle::ASFormatter::setAttachClass
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachClass(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2292
    functionName: astyle::ASFormatter::setAttachExternC
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachExternC(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2302
    functionName: astyle::ASFormatter::setAttachNamespace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachNamespace(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: astyle::ASFormatter::setAttachInline
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachInline(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2317
    functionName: astyle::ASFormatter::setAttachClosingWhile
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachClosingWhile(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2327
    functionName: astyle::ASFormatter::setBreakOneLineBlocksMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakOneLineBlocksMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2332
    functionDepth: 0
    functionLinenumber: 2332
    functionLinenumberEnd: 2335
    functionName: astyle::ASFormatter::setBreakOneLineHeadersMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakOneLineHeadersMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2345
    functionName: astyle::ASFormatter::setBreakOneLineStatementsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakOneLineStatementsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2350
    functionName: astyle::ASFormatter::setCloseTemplatesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setCloseTemplatesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2360
    functionName: astyle::ASFormatter::setTabSpaceConversionMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setTabSpaceConversionMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2370
    functionName: astyle::ASFormatter::setIndentCol1CommentsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setIndentCol1CommentsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - LineEndFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2380
    functionName: astyle::ASFormatter::setLineEndFormat
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setLineEndFormat(LineEndFormat fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2390
    functionName: astyle::ASFormatter::setBreakBlocksMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakBlocksMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2400
    functionName: astyle::ASFormatter::setBreakClosingHeaderBlocksMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakClosingHeaderBlocksMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2410
    functionName: astyle::ASFormatter::setDeleteEmptyLinesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setDeleteEmptyLinesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2415
    functionName: astyle::ASFormatter::setBreakReturnType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakReturnType(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2420
    functionName: astyle::ASFormatter::setBreakReturnTypeDecl
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakReturnTypeDecl(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2425
    functionName: astyle::ASFormatter::setAttachReturnType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachReturnType(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2430
    functionName: astyle::ASFormatter::setAttachReturnTypeDecl
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachReturnTypeDecl(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - PointerAlign
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2440
    functionName: astyle::ASFormatter::setPointerAlignment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setPointerAlignment(PointerAlign alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - ReferenceAlign
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2445
    functionName: astyle::ASFormatter::setReferenceAlignment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setReferenceAlignment(ReferenceAlign alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::getNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2452
    functionDepth: 1
    functionLinenumber: 2452
    functionLinenumberEnd: 2456
    functionName: astyle::ASFormatter::goForward
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::getNextChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::goForward(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2474
    functionName: astyle::ASFormatter::peekNextChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    linkageType: ''
    returnType: char
    signature: char ASFormatter::peekNextChar() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2484,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2492
    functionName: astyle::ASFormatter::isBeforeComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeComment() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2502,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2507,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2511
    functionName: astyle::ASFormatter::isBeforeAnyComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeAnyComment() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2522,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2526,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2528,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2531,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - startPos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2541
    functionName: astyle::ASFormatter::isBeforeAnyLineEndComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - compare
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeAnyLineEndComment(int startPos) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2551,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2555,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2558,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2561,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - startPos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2548
    functionDepth: 1
    functionLinenumber: 2548
    functionLinenumberEnd: 2569
    functionName: astyle::ASFormatter::isBeforeMultipleLineEndComments
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - compare
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeMultipleLineEndComments(int startPos) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2582,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2589,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2590,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2594,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2595,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2595,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2600,1
    - Dst: astyle::ASFormatter::getNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2606,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2577
    functionDepth: 1
    functionLinenumber: 2577
    functionLinenumberEnd: 2607
    functionName: astyle::ASFormatter::getNextChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isWhiteSpace
    - length
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::getNextLine
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::getNextChar()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2617,1
    - Dst: astyle::ASFormatter::nextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2626,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2627,1
    - Dst: astyle::ASFormatter::computeChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2627,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2643,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2644,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2668,1
    - Dst: astyle::ASFormatter::initNewLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2673,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2681,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2688,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2688,1
    - Dst: astyle::ASFormatter::commentAndHeaderFollows
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2690,1
    - Dst: astyle::ASFormatter::getNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2694,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 1
    argNames:
    - emptyLineWasDeleted
    argTypes:
    - bool
    assertStmts:
    - condition: (computeChecksumIn(currentLine))
      pos:
        line_end: 2626
        line_start: 2626
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 2698
      start: 2615
    functionDepth: 2
    functionLinenumber: 2615
    functionLinenumberEnd: 2698
    functionName: astyle::ASFormatter::getNextLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - size
    - astyle::ASFormatter::initNewLine
    - astyle::ASFormatter::isBraceType
    - length
    - assert
    - string
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::computeChecksumIn
    - astyle::ASFormatter::nextLine
    - astyle::ASFormatter::getNextLine
    - astyle::ASFormatter::hasMoreLines
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::commentAndHeaderFollows
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::getNextLine(bool emptyLineWasDeleted /*false*/)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2706,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2707,1
    - Dst: getPreprocDefineIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2712,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2723,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2725,1
    - Dst: replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2730,1
    - Dst: astyle::ASFormatter::trimContinuationLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2736,1
    - Dst: astyle::ASFormatter::trimContinuationLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2746,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2763,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2770,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2773,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2774,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2777,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2781,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2785,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2788,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2790,1
    - Dst: astyle::ASFormatter::isExecSQL
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2791,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2795,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2801,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2806,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2806,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2704
    functionDepth: 1
    functionLinenumber: 2704
    functionLinenumberEnd: 2818
    functionName: astyle::ASFormatter::initNewLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find
    - find_first_not_of
    - compare
    - isWhiteSpace
    - length
    - getPreprocDefineIndent
    - replace
    - astyle::ASFormatter::isExecSQL
    - getTabLength
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::trimContinuationLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::initNewLine()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2830,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2832,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2837,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2838,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2839,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ch
    - canBreakLine
    argTypes:
    - char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2827
    functionDepth: 1
    functionLinenumber: 2827
    functionLinenumberEnd: 2842
    functionName: astyle::ASFormatter::appendChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - append
    - length
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendChar(char ch, bool canBreakLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2855,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2856,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2857,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' sequence'
    - canBreakLine
    argTypes:
    - string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2852
    functionDepth: 1
    functionLinenumber: 2852
    functionLinenumberEnd: 2859
    functionName: astyle::ASFormatter::appendSequence
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - append
    - length
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendSequence(const string& sequence, bool canBreakLine)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2871,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2872,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2876,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2877,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2878,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' sequence'
    - canBreakLine
    argTypes:
    - string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2868
    functionDepth: 1
    functionLinenumber: 2868
    functionLinenumberEnd: 2881
    functionName: astyle::ASFormatter::appendOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - append
    - length
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPointsOperator
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendOperator(const string& sequence, bool canBreakLine)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2889,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2890,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2892,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2897,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2898,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2899,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2887
    functionDepth: 1
    functionLinenumber: 2887
    functionLinenumberEnd: 2903
    functionName: astyle::ASFormatter::appendSpacePad
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isWhiteSpace
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - length
    - append
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendSpacePad()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2911,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2912,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2914,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2919,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2920,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2921,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2909
    functionDepth: 1
    functionLinenumber: 2909
    functionLinenumberEnd: 2925
    functionName: astyle::ASFormatter::appendSpaceAfter
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isWhiteSpace
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - length
    - append
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendSpaceAfter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2937,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - isSplitLine
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2930
    functionDepth: 1
    functionLinenumber: 2930
    functionLinenumberEnd: 2954
    functionName: astyle::ASFormatter::breakLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::breakLine(bool isSplitLine /*false*/)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2969,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2974,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2974,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3005,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3014,1
    - Dst: astyle::ASFormatter::isNextWordSharpNonParenHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3014,1
    - Dst: astyle::ASFormatter::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3026,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3040,1
    - Dst: astyle::ASFormatter::isNonInStatementArrayBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3042,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3047,1
    - Dst: astyle::ASFormatter::isUniformInitializerBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3049,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '{')
      pos:
        line_end: 2968
        line_start: 2968
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3054
      start: 2967
    functionDepth: 1
    functionLinenumber: 2967
    functionLinenumberEnd: 3054
    functionName: astyle::ASFormatter::getBraceType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - isSharpStyle
    - back
    - astyle::ASFormatter::isNonInStatementArrayBrace
    - assert
    - astyle::ASFormatter::isNextWordSharpNonParenHeader
    - astyle::ASFormatter::isOneLineBlockReached
    - astyle::ASFormatter::isUniformInitializerBrace
    linkageType: ''
    returnType: BraceType
    signature: BraceType ASFormatter::getBraceType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3066,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3067,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3067,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 1
    argNames:
    - word
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3084
    functionName: astyle::ASFormatter::isNumericVariable
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - string::compare
    - string::length
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNumericVariable(string word) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3093,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3094,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3094,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3103,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == ':')
      pos:
        line_end: 3092
        line_start: 3092
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (previousChar != ':' && peekNextChar() != ':')
      pos:
        line_end: 3093
        line_start: 3093
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3120
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3120
    functionName: astyle::ASFormatter::isClassInitializer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - assert
    - astyle::ASFormatter::peekNextChar
    - back
    - isCStyle
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isClassInitializer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3130
    functionName: astyle::ASFormatter::isEmptyLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isEmptyLine(const string& line) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3140,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3140,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3141,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3144,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!isWhiteSpace(currentLine[charNum]))
      pos:
        line_end: 3139
        line_start: 3139
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3150
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3150
    functionName: astyle::ASFormatter::isExternC
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - compare
    - isWhiteSpace
    - find_first_of
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isExternC() const
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3163,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3165,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3172,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3173,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3177,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3177,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3178,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3180,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3181,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3187,1
    - Dst: astyle::ASFormatter::isPointerToPointer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3190,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3194,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3213,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3214,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3214,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3215,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3219,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3219,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3219,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3235,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3235,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3236,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3237,1
    - Dst: astyle::ASFormatter::isArrayOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3240,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3245,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3246,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3247,1
    - Dst: astyle::ASFormatter::getFollowingOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3251,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3261,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3261,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3268,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3281,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3284,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3285,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3291,1
    - Dst: astyle::ASFormatter::isImmediatelyPostCast
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3293,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3295,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3299,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 3162
        line_start: 3162
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3303
      start: 3161
    functionDepth: 1
    functionLinenumber: 3161
    functionLinenumberEnd: 3303
    functionName: astyle::ASFormatter::isPointerOrReference
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::isPointerToPointer
    - isWhiteSpace
    - substr
    - assert
    - astyle::ASFormatter::peekNextText
    - astyle::ASFormatter::isImmediatelyPostCast
    - string::length
    - astyle::ASFormatter::getFollowingOperator
    - isJavaStyle
    - isDigit
    - find_first_not_of
    - astyle::ASFormatter::getPreviousWord
    - astyle::ASFormatter::isArrayOperator
    - astyle::ASFormatter::isPointerOrReferenceVariable
    - string::empty
    - compare
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - back
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerOrReference() const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3315,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3332,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3337,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3345,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3351,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3352,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3352,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3353,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3356,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3356,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3357,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3371,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3371,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3372,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3375,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3379,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3382,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3383,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3383,1
    - Dst: ispunct
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3384,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 3314
        line_start: 3314
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3388
      start: 3313
    functionDepth: 1
    functionLinenumber: 3313
    functionLinenumberEnd: 3388
    functionName: astyle::ASFormatter::isDereferenceOrAddressOf
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - astyle::ASFormatter::getPreviousWord
    - astyle::ASFormatter::isBraceType
    - length
    - astyle::ASFormatter::peekNextText
    - isLegalNameChar
    - astyle::ASFormatter::isPointerOrReferenceVariable
    - string::length
    - substr
    - astyle::ASFormatter::peekNextChar
    - ispunct
    - back
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isDereferenceOrAddressOf() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3400,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3403,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3406,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 3399
        line_start: 3399
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3435
      start: 3398
    functionDepth: 1
    functionLinenumber: 3398
    functionLinenumberEnd: 3435
    functionName: astyle::ASFormatter::isPointerOrReferenceCentered
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::peekNextChar
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerOrReferenceCentered() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3447,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3448,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' word'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3442
    functionDepth: 0
    functionLinenumber: 3442
    functionLinenumberEnd: 3451
    functionName: astyle::ASFormatter::isPointerOrReferenceVariable
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerOrReferenceVariable(const string& word)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3460,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3460,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3461,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3463,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[currPos] == '*' && peekNextChar() == '*')
      pos:
        line_end: 3459
        line_start: 3459
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3472
      start: 3458
    functionDepth: 1
    functionLinenumber: 3458
    functionLinenumberEnd: 3472
    functionName: astyle::ASFormatter::isPointerToPointer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::peekNextChar
    - find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerToPointer(const string& line, int currPos)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3483,1
    - Dst: isdigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3488,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3488,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3490,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3493,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3498,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3499,1
    - Dst: astyle::ASFormatter::isNumericVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3501,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3506,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '+' || currentChar == '-')
      pos:
        line_end: 3482
        line_start: 3482
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3511
      start: 3481
    functionDepth: 1
    functionLinenumber: 3481
    functionLinenumberEnd: 3511
    functionName: astyle::ASFormatter::isUnaryOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - string::empty
    - astyle::ASFormatter::getPreviousWord
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isNumericVariable
    - rfind
    - isdigit
    - assert
    - find_last_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isUnaryOperator() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3520,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3521,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3522,1
    - Dst: at
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInLineComment || isInComment)
      pos:
        line_end: 3519
        line_start: 3519
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3526
      start: 3518
    functionDepth: 1
    functionLinenumber: 3518
    functionLinenumberEnd: 3526
    functionName: astyle::ASFormatter::isInSwitchStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - size
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isInSwitchStatement() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3536,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '+' || currentChar == '-')
      pos:
        line_end: 3535
        line_start: 3535
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3546
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3546
    functionName: astyle::ASFormatter::isInExponent
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - isDigit
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isInExponent() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3556,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3563,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3564,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3553
    functionDepth: 2
    functionLinenumber: 3553
    functionLinenumberEnd: 3573
    functionName: astyle::ASFormatter::isNonInStatementArrayBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNonInStatementArrayBrace() const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3587,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3593,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3604,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3622,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3629,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3632,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3650,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3652,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3663,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 2
    argNames:
    - ' line'
    - startChar
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[startChar] == '{')
      pos:
        line_end: 3586
        line_start: 3586
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3671
      start: 3585
    functionDepth: 1
    functionLinenumber: 3585
    functionLinenumberEnd: 3671
    functionName: astyle::ASFormatter::isOneLineBlockReached
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - compare
    - isWhiteSpace
    - length
    - back
    - assert
    - isDigitSeparator
    linkageType: ''
    returnType: int
    signature: int ASFormatter::isOneLineBlockReached(const string& line, int startChar)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3683,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3683,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3684,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3688,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3690,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3690,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3691,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - startChar
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3694
      start: 3680
    functionDepth: 1
    functionLinenumber: 3680
    functionLinenumberEnd: 3694
    functionName: astyle::ASFormatter::isNextWordSharpNonParenHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - findKeyword
    - astyle::ASFormatter::peekNextText
    - string::length
    - substr
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNextWordSharpNonParenHeader(int startChar) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3707,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3707,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3708,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - startChar
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3712
      start: 3704
    functionDepth: 1
    functionLinenumber: 3704
    functionLinenumberEnd: 3712
    functionName: astyle::ASFormatter::isNextCharOpeningBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::peekNextText
    - string::compare
    - substr
    - string::length
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNextCharOpeningBrace(int startChar) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3722,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3725,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3729,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3720
    functionDepth: 1
    functionLinenumber: 3720
    functionLinenumberEnd: 3740
    functionName: astyle::ASFormatter::isOperatorPaddingDisabled
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isOperatorPaddingDisabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3748,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3756
    functionName: astyle::ASFormatter::isUniformInitializerBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isLegalNameChar
    - isCStyle
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isUniformInitializerBrace() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3763,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3770,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3774,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3780,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3785,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((isImmediatelyPostHeader || foundClosingHeader))
      pos:
        line_end: 3762
        line_start: 3762
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3829
      start: 3761
    functionDepth: 0
    functionLinenumber: 3761
    functionLinenumberEnd: 3829
    functionName: astyle::ASFormatter::isMultiStatementLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - length
    - assert
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isMultiStatementLine() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3841,1
    - Dst: getPeekStart
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3841,1
    - Dst: make_shared<ASPeekStream>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3847,1
    - Dst: shared_ptr::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3851,1
    - Dst: shared_ptr::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3856,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3858,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3866,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3874,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3879,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3884,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3894,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 3
    argNames:
    - ' firstLine'
    - endOnEmptyLine
    - streamArg
    argTypes:
    - string
    - bool
    - shared_ptr<ASPeekStream>
    assertStmts:
    - condition: (sourceIterator->getPeekStart() == 0 || streamArg != nullptr)
      pos:
        line_end: 3840
        line_start: 3840
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3896
      start: 3837
    functionDepth: 1
    functionLinenumber: 3837
    functionLinenumberEnd: 3896
    functionName: astyle::ASFormatter::peekNextText
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 5
    functionsReached:
    - string::compare
    - string::find
    - shared_ptr::hasMoreLines
    - make_shared<ASPeekStream>
    - string::find_first_not_of
    - getPeekStart
    - shared_ptr::peekNextLine
    - string::substr
    - assert
    linkageType: ''
    returnType: string
    signature: "string ASFormatter::peekNextText(const string& firstLine,\n                                 bool
      endOnEmptyLine /*false*/,\n                                 shared_ptr<ASPeekStream>
      streamArg /*nullptr*/) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3905,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3906,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3906,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3906,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3909,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3911,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3915,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3917,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3921,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3929,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3936,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3939,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3941,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3943,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (spacePadNum != 0)
      pos:
        line_end: 3904
        line_start: 3904
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isSequenceReached("//") || isSequenceReached("/*"))
      pos:
        line_end: 3905
        line_start: 3905
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3945
      start: 3903
    functionDepth: 1
    functionLinenumber: 3903
    functionLinenumberEnd: 3945
    functionName: astyle::ASFormatter::adjustComments
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - find
    - compare
    - find_first_not_of
    - length
    - append
    - astyle::ASFormatter::isSequenceReached
    - resize
    - assert
    - find_last_not_of
    linkageType: ''
    returnType: void
    signature: void ASFormatter::adjustComments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3957,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3960,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3960,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3961,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3965,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3968,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3975,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3977,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3979,1
    - Dst: astyle::ASFormatter::isBeforeComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3981,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(formattedLine.compare(formattedLineCommentNum, 2, \"//\") == 0\n\t
        \      || formattedLine.compare(formattedLineCommentNum, 2, \"/*\") == 0)"
      pos:
        line_end: 3960
        line_start: 3959
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3985
      start: 3952
    functionDepth: 2
    functionLinenumber: 3952
    functionLinenumberEnd: 3985
    functionName: astyle::ASFormatter::appendCharInsideComments
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - insert
    - compare
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::isBeforeComment
    - astyle::ASFormatter::appendCurrentChar
    - assert
    - find_last_not_of
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendCharInsideComments()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3996,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3997,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3999,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4009,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4010,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4024,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4028,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4031,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4036,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4050,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4051,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4053,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4054,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4055,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4055,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4057,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4061,1
    - Dst: astyle::ASFormatter::isUnaryOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4062,1
    - Dst: astyle::ASFormatter::isUnaryOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4063,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4064,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4065,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4066,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4067,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4068,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4070,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 10
    argCount: 1
    argNames:
    - newOperator
    argTypes:
    - string*
    assertStmts:
    - condition: (newOperator != nullptr)
      pos:
        line_end: 3996
        line_start: 3996
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadOperators)
      pos:
        line_end: 3995
        line_start: 3995
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4071
      start: 3994
    functionDepth: 2
    functionLinenumber: 3994
    functionLinenumberEnd: 4071
    functionName: astyle::ASFormatter::padOperators
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::goForward
    - find
    - astyle::ASFormatter::isUnaryOperator
    - compare
    - astyle::ASFormatter::appendOperator
    - astyle::ASBase::peekNextChar
    - isSharpStyle
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::peekNextChar
    - string*::length
    - astyle::ASFormatter::appendSpaceAfter
    - assert
    - astyle::ASFormatter::isInExponent
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padOperators(const string* newOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4084,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4085,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4085,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4094,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4099,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceCast
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4108,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4114,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4115,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4116,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4116,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4118,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4118,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceToType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4124,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceToMiddle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4128,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceToName
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4132,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4136,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4136,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4138,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4083
        line_start: 4083
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4084
        line_start: 4084
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4140
      start: 4082
    functionDepth: 2
    functionLinenumber: 4082
    functionLinenumberEnd: 4140
    functionName: astyle::ASFormatter::formatPointerOrReference
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - astyle::ASFormatter::formatPointerOrReferenceToName
    - isWhiteSpace
    - length
    - append
    - astyle::ASFormatter::formatPointerOrReferenceToMiddle
    - astyle::ASFormatter::formatPointerOrReferenceCast
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::formatPointerOrReferenceToType
    - assert
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReference()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4147,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4148,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4148,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceCentered
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4151,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4154,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4156,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4160,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4161,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4169,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4170,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4172,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4173,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4175,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4176,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4177,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4179,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4181,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4182,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4184,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4187,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4187,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4189,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4189,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4193,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4195,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4196,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4198,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4199,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4146
        line_start: 4146
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4147
        line_start: 4147
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4202
      start: 4145
    functionDepth: 2
    functionLinenumber: 4145
    functionLinenumberEnd: 4202
    functionName: astyle::ASFormatter::formatPointerOrReferenceToType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isJavaStyle
    - string::append
    - astyle::ASFormatter::goForward
    - erase
    - isWhiteSpace
    - length
    - append
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - string::length
    - astyle::ASFormatter::isPointerOrReferenceCentered
    - astyle::ASFormatter::peekNextChar
    - substr
    - resize
    - assert
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceToType()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4209,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4210,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4210,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4213,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4219,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4221,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4225,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4226,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4233,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4239,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4240,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4240,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4241,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4244,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4246,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4247,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4248,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4255,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4258,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4259,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4265,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4265,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4267,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4268,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4269,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4274,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4275,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4282,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4283,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4284,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4286,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4292,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4301,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4302,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4303,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4305,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4309,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4312,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4316,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4318,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4319,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4322,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4323,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4208
        line_start: 4208
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4209
        line_start: 4209
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4326
      start: 4207
    functionDepth: 2
    functionLinenumber: 4207
    functionLinenumberEnd: 4326
    functionName: astyle::ASFormatter::formatPointerOrReferenceToMiddle
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isJavaStyle
    - string::append
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - insert
    - isWhiteSpace
    - length
    - append
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendSpaceAfter
    - assert
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceToMiddle()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4333,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4334,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4334,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceCentered
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4337,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4339,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4343,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4345,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4349,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4350,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4357,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4360,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4361,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4361,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4362,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4364,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4367,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4368,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4373,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4373,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4379,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4383,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4384,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4385,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4393,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4394,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4395,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4398,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4399,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4400,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4402,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4405,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4408,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4409,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4411,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4413,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4419,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4421,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4422,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4423,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4425,1
    - Dst: find_last_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4432,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4434,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4439,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4440,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!isJavaStyle())
      pos:
        line_end: 4333
        line_start: 4333
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4332
        line_start: 4332
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4443
      start: 4331
    functionDepth: 2
    functionLinenumber: 4331
    functionLinenumberEnd: 4443
    functionName: astyle::ASFormatter::formatPointerOrReferenceToName
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - insert
    - isWhiteSpace
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - assert
    - append
    - astyle::ASFormatter::appendSpaceAfter
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - isJavaStyle
    - find_first_not_of
    - erase
    - string::append
    - astyle::ASFormatter::goForward
    - length
    - isLegalNameChar
    - find_last_of
    - astyle::ASFormatter::isPointerOrReferenceCentered
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendSequence
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceToName()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4454,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4455,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4455,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4463,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4463,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4465,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4466,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4470,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4475,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4482,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4483,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4485,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4486,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4489,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4490,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4493,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4494,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4501,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4503,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4504,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4504,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4505,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4508,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4453
        line_start: 4453
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4454
        line_start: 4454
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4509
      start: 4452
    functionDepth: 2
    functionLinenumber: 4452
    functionLinenumberEnd: 4509
    functionName: astyle::ASFormatter::formatPointerOrReferenceCast
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::goForward
    - string::append
    - isWhiteSpace
    - length
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::appendSequence
    - assert
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceCast()
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4519,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4520,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4527,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4535,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4548,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4548,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4551,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4552,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4553,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4561,1
    - Dst: astyle::ASFormatter::isNumericVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4566,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4594,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4600,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4602,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4606,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4609,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4614,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4621,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4626,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4632,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4635,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4642,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4643,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4645,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4650,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4658,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4660,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4681,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4689,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '(' || currentChar == ')')
      pos:
        line_end: 4518
        line_start: 4518
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadParensOutside || shouldPadParensInside || shouldUnPadParens
        || shouldPadFirstParen)
      pos:
        line_end: 4519
        line_start: 4519
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4691
      start: 4517
    functionDepth: 2
    functionLinenumber: 4517
    functionLinenumberEnd: 4691
    functionName: astyle::ASFormatter::padParens
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - erase
    - find_first_not_of
    - astyle::ASFormatter::getPreviousWord
    - isCStyle
    - length
    - astyle::ASBase::findHeader
    - astyle::ASFormatter::appendSpacePad
    - string::length
    - astyle::ASFormatter::isNumericVariable
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::appendSpaceAfter
    - assert
    - find_last_not_of
    - isCharPotentialHeader
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padParens()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4701,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4702,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4704,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4707,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4709,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4716,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4721,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInObjCMethodDefinition && isImmediatelyPostObjCMethodPrefix)
      pos:
        line_end: 4700
        line_start: 4700
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadMethodPrefix || shouldUnPadMethodPrefix)
      pos:
        line_end: 4701
        line_start: 4701
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4735
      start: 4699
    functionDepth: 1
    functionLinenumber: 4699
    functionLinenumberEnd: 4735
    functionName: astyle::ASFormatter::padObjCMethodPrefix
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - insert
    - length
    - find_first_of
    - assert
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCMethodPrefix()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4744,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4745,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4747,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4757,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4759,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4766,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4775,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4777,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4778,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4779,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == ')' && isInObjCReturnType)
      pos:
        line_end: 4743
        line_start: 4743
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadReturnType || shouldUnPadReturnType)
      pos:
        line_end: 4744
        line_start: 4744
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4785
      start: 4742
    functionDepth: 1
    functionLinenumber: 4742
    functionLinenumberEnd: 4785
    functionName: astyle::ASFormatter::padObjCReturnType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - length
    - append
    - resize
    - assert
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCReturnType()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4794,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4795,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4796,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4801,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4802,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4803,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4814,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4819,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4831,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4838,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4848,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4850,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4857,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4866,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4869,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4870,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4875,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((currentChar == '(' || currentChar == ')') && isInObjCMethodDefinition)
      pos:
        line_end: 4793
        line_start: 4793
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (paramOpen != string::npos)
      pos:
        line_end: 4801
        line_start: 4801
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isImmediatelyPostObjCMethodPrefix && !isInObjCReturnType)
      pos:
        line_end: 4794
        line_start: 4794
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadParamType || shouldUnPadParamType)
      pos:
        line_end: 4795
        line_start: 4795
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4880
      start: 4792
    functionDepth: 1
    functionLinenumber: 4792
    functionLinenumberEnd: 4880
    functionName: astyle::ASFormatter::padObjCParamType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - insert
    - length
    - append
    - rfind
    - resize
    - assert
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCParamType()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4892,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4892,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4893,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4895,1
    - Dst: astyle::ASFormatter::isCurrentBraceBroken
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4897,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4901,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4901,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4901,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4904,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4907,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4908,1
    - Dst: astyle::ASFormatter::isBeforeMultipleLineEndComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4913,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4914,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4916,1
    - Dst: rtrim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4918,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4919,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4921,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4922,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4923,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4925,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4927,1
    - Dst: astyle::ASFormatter::isBeforeComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4931,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4932,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4934,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4946,1
    - Dst: astyle::ASFormatter::appendCharInsideComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4954,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4958,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4965,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4970,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4971,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4972,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4976,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4978,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4979,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4980,1
    - Dst: astyle::ASFormatter::isBeforeComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4983,1
    - Dst: astyle::ASFormatter::isBeforeMultipleLineEndComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4984,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4985,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4988,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4990,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4999,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5000,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5005,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5006,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5013,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5014,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 70
    argCount: 1
    argNames:
    - braceType
    argTypes:
    - BraceType
    assertStmts:
    - condition: (!isBraceType(braceType, ARRAY_TYPE))
      pos:
        line_end: 4891
        line_start: 4891
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (currentChar == '{')
      pos:
        line_end: 4892
        line_start: 4892
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5018
      start: 4890
    functionDepth: 3
    functionLinenumber: 4890
    functionLinenumberEnd: 5018
    functionName: astyle::ASFormatter::formatOpeningBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - insert
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::isBeforeComment
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - astyle::ASFormatter::isCurrentBraceBroken
    - pop_back
    - size
    - astyle::ASFormatter::appendCharInsideComments
    - rtrim
    - astyle::ASFormatter::isBeforeMultipleLineEndComments
    - astyle::ASFormatter::hasMoreLines
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::isEmptyLine
    - emplace_back
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::isBraceType
    - length
    - astyle::ASFormatter::appendCurrentChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatOpeningBrace(BraceType braceType)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5029,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5029,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5030,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5033,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5034,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5044,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5047,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5051,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5051,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5053,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5054,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5059,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5060,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5061,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5062,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5065,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5066,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5067,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5069,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5070,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5074,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5078,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5078,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5079,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5084,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5089,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5089,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5090,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5091,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 32
    argCount: 1
    argNames:
    - braceType
    argTypes:
    - BraceType
    assertStmts:
    - condition: (!isBraceType(braceType, ARRAY_TYPE))
      pos:
        line_end: 5028
        line_start: 5028
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (currentChar == '}')
      pos:
        line_end: 5029
        line_start: 5029
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5097
      start: 5027
    functionDepth: 2
    functionLinenumber: 5027
    functionLinenumberEnd: 5097
    functionName: astyle::ASFormatter::formatClosingBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - pop_back
    - size
    - find_first_not_of
    - astyle::ASFormatter::isBraceType
    - astyle::ASFormatter::peekNextText
    - isLegalNameChar
    - astyle::ASFormatter::breakLine
    - string::length
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::appendSpaceAfter
    - back
    - astyle::ASFormatter::isOkToBreakBlock
    - string::substr
    - assert
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatClosingBrace(BraceType braceType)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5111,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5111,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5112,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5123,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5127,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5131,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5132,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5136,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5141,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5143,1
    - Dst: astyle::ASFormatter::appendCharInsideComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5145,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5150,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5151,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5156,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5158,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5159,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5161,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5172,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5173,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5175,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5182,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5182,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5183,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5184,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5184,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5187,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5196,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5197,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5199,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5203,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5208,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5208,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5209,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5210,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5210,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5213,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5222,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5223,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5225,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5232,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5239,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5240,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5242,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5251,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5252,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5252,1
    - Dst: astyle::ASFormatter::formatArrayRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5254,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5257,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5257,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5259,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5260,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5260,1
    - Dst: astyle::ASFormatter::formatArrayRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5262,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5264,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5271,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5275,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5278,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5279,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5286,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5287,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5288,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5289,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5290,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5294,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5295,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5297,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 106
    argCount: 2
    argNames:
    - braceType
    - isOpeningArrayBrace
    argTypes:
    - BraceType
    - bool
    assertStmts:
    - condition: (currentChar == '{' || currentChar == '}')
      pos:
        line_end: 5111
        line_start: 5111
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isBraceType(braceType, ARRAY_TYPE))
      pos:
        line_end: 5110
        line_start: 5110
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5299
      start: 5109
    functionDepth: 3
    functionLinenumber: 5109
    functionLinenumberEnd: 5299
    functionName: astyle::ASFormatter::formatArrayBraces
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isWhiteSpace
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - find
    - size
    - astyle::ASFormatter::appendCharInsideComments
    - astyle::ASFormatter::appendSpaceAfter
    - astyle::ASFormatter::hasMoreLines
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - astyle::ASFormatter::formatArrayRunIn
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatArrayBraces(BraceType braceType, bool isOpeningArrayBrace)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5307,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5311,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5311,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5315,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5320,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5323,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5323,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5331,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5332,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5333,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5333,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5334,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5334,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5337,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5338,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5339,1
    - Dst: getModifierIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5341,1
    - Dst: getClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5343,1
    - Dst: getClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5346,1
    - Dst: getSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5351,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5352,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5353,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5354,1
    - Dst: getSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5358,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5359,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5360,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5361,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5362,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5367,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5368,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5369,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5373,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5375,1
    - Dst: getForceTabIndentation
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5377,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5377,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5377,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5381,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5382,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5383,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5385,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5387,1
    - Dst: string::replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5388,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5391,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5392,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5394,1
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5396,1
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5400,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5406,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5407,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5411,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (braceFormatMode == RUN_IN_MODE || braceFormatMode == NONE_MODE)
      pos:
        line_end: 5306
        line_start: 5306
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5416
      start: 5305
    functionDepth: 2
    functionLinenumber: 5305
    functionLinenumberEnd: 5416
    functionName: astyle::ASFormatter::formatRunIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - getSwitchIndent
    - getForceTabIndentation
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    - getModifierIndent
    - findKeyword
    - isCStyle
    - getIndentString
    - append
    - string::length
    - find_last_not_of
    - string::replace
    - find_first_not_of
    - getIndentLength
    - getClassIndent
    - getTabLength
    - erase
    - empty
    - isCharPotentialHeader
    - string::append
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - astyle::ASFormatter::appendChar
    - back
    - string::erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatRunIn()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5423,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5423,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5423,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5426,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5429,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5434,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5435,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5436,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5438,1
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5440,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5445,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isBraceType(braceTypeStack->back(), ARRAY_TYPE))
      pos:
        line_end: 5422
        line_start: 5422
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5451
      start: 5421
    functionDepth: 2
    functionLinenumber: 5421
    functionLinenumberEnd: 5451
    functionName: astyle::ASFormatter::formatArrayRunIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - getIndentLength
    - astyle::ASFormatter::isBraceType
    - getIndentString
    - length
    - append
    - astyle::ASFormatter::appendChar
    - back
    - assert
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatArrayRunIn()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - vector<BraceType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5465
      start: 5457
    functionDepth: 1
    functionLinenumber: 5457
    functionLinenumberEnd: 5465
    functionName: astyle::ASFormatter::deleteContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ASFormatter::deleteContainer(vector<BraceType>*& container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5481
      start: 5473
    functionDepth: 1
    functionLinenumber: 5473
    functionLinenumberEnd: 5481
    functionName: astyle::ASFormatter::deleteContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ASFormatter::deleteContainer(T& container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - vector<BraceType>*
    - vector<BraceType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5492
      start: 5487
    functionDepth: 2
    functionLinenumber: 5487
    functionLinenumberEnd: 5492
    functionName: astyle::ASFormatter::initContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::deleteContainer
    linkageType: ''
    returnType: void
    signature: void ASFormatter::initContainer(vector<BraceType>*& container, vector<BraceType>*
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5507
      start: 5500
    functionDepth: 2
    functionLinenumber: 5500
    functionLinenumberEnd: 5507
    functionName: astyle::ASFormatter::initContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::deleteContainer
    linkageType: ''
    returnType: void
    signature: void ASFormatter::initContainer(T& container, T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5519,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5525,1
    - Dst: replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '\t')
      pos:
        line_end: 5518
        line_start: 5518
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5529
      start: 5517
    functionDepth: 0
    functionLinenumber: 5517
    functionLinenumberEnd: 5529
    functionName: astyle::ASFormatter::convertTabToSpaces
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached:
    - assert
    - replace
    - getTabLength
    linkageType: ''
    returnType: void
    signature: void ASFormatter::convertTabToSpaces()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5539,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5540,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5542,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5543,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5545,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - braceType
    argTypes:
    - BraceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5534
    functionDepth: 1
    functionLinenumber: 5534
    functionLinenumberEnd: 5550
    functionName: astyle::ASFormatter::isOkToBreakBlock
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - astyle::ASFormatter::isBraceType
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isOkToBreakBlock(BraceType braceType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5557,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5560
      start: 5555
    functionDepth: 1
    functionLinenumber: 5555
    functionLinenumberEnd: 5560
    functionName: astyle::ASFormatter::isSharpStyleWithParen
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::peekNextChar
    - isSharpStyle
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isSharpStyleWithParen(const string* header) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5569,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5570,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5570,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5573,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5575,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5577,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5577,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ' firstLine'
    argTypes:
    - string
    assertStmts:
    - condition: (isInComment || isInLineComment)
      pos:
        line_end: 5568
        line_start: 5568
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldBreakElseIfs || shouldBreakBlocks || isInSwitchStatement())
      pos:
        line_end: 5569
        line_start: 5569
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5581
      start: 5567
    functionDepth: 2
    functionLinenumber: 5567
    functionLinenumberEnd: 5581
    functionName: astyle::ASFormatter::checkForHeaderFollowingComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::isInSwitchStatement
    - astyle::ASFormatter::peekNextText
    - astyle::ASBase::findHeader
    - string::length
    - assert
    - isCharPotentialHeader
    linkageType: ''
    returnType: string
    signature: string * ASFormatter::checkForHeaderFollowingComment(const string&
      firstLine) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5592,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5594,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5599,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5601,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5603,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5609,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '#')
      pos:
        line_end: 5591
        line_start: 5591
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5614
      start: 5590
    functionDepth: 1
    functionLinenumber: 5590
    functionLinenumberEnd: 5614
    functionName: astyle::ASFormatter::processPreprocessor
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - compare
    - pop_back
    - size
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::processPreprocessor()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5623,1
    - Dst: make_shared<ASPeekStream>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5626,1
    - Dst: auto::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5627,1
    - Dst: auto::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5629,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5630,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5632,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5633,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5637,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5638,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5638,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5641,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shouldDeleteEmptyLines && shouldBreakBlocks)
      pos:
        line_end: 5622
        line_start: 5622
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5654
      start: 5620
    functionDepth: 2
    functionLinenumber: 5620
    functionLinenumberEnd: 5654
    functionName: astyle::ASFormatter::commentAndHeaderFollows
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - astyle::ASFormatter::peekNextText
    - astyle::ASBase::findHeader
    - make_shared<ASPeekStream>
    - string::find_first_not_of
    - string::length
    - auto::hasMoreLines
    - auto::peekNextLine
    - assert
    - astyle::ASFormatter::isClosingHeader
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::commentAndHeaderFollows()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5664,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5664,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5667,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5671,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5676,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5681,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5682,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5687,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5689,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5690,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5693,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5694,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5695,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5700,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5719,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5726,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5727,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5733,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5739,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5748,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5749,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5750,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5751,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5752,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (braceTypeStack->size() > 1)
      pos:
        line_end: 5663
        line_start: 5663
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5760
      start: 5662
    functionDepth: 1
    functionLinenumber: 5662
    functionLinenumberEnd: 5760
    functionName: astyle::ASFormatter::isCurrentBraceBroken
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - size
    - isCStyle
    - astyle::ASFormatter::isBraceType
    - astyle::ASFormatter::peekNextChar
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isCurrentBraceBroken() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5768,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5771,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5774,1
    - Dst: astyle::ASFormatter::formatCommentCloser
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5776,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5780,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5781,1
    - Dst: astyle::ASFormatter::stripCommentPrefix
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInComment)
      pos:
        line_end: 5767
        line_start: 5767
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5786
      start: 5766
    functionDepth: 1
    functionLinenumber: 5766
    functionLinenumberEnd: 5786
    functionName: astyle::ASFormatter::formatCommentBody
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - length
    - astyle::ASFormatter::formatCommentCloser
    - astyle::ASFormatter::stripCommentPrefix
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::isSequenceReached
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatCommentBody()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5795,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5795,1
    - Dst: astyle::ASFormatter::resetEndOfStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5800,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5808,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5808,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5810,1
    - Dst: astyle::ASFormatter::checkForHeaderFollowingComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5814,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5814,1
    - Dst: astyle::ASFormatter::adjustComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5817,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5818,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5825,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5825,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5834,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5839,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5840,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5840,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5846,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5847,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5860,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5861,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5872,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isSequenceReached("/*"))
      pos:
        line_end: 5794
        line_start: 5794
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5884
      start: 5793
    functionDepth: 3
    functionLinenumber: 5793
    functionLinenumberEnd: 5884
    functionName: astyle::ASFormatter::formatCommentOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::goForward
    - astyle::ASFormatter::formatRunIn
    - astyle::ASFormatter::resetEndOfStatement
    - astyle::ASFormatter::isInSwitchStatement
    - astyle::ASFormatter::isBraceType
    - length
    - astyle::ASFormatter::checkForHeaderFollowingComment
    - substr
    - astyle::ASFormatter::isSequenceReached
    - back
    - astyle::ASFormatter::adjustComments
    - astyle::ASFormatter::appendSequence
    - assert
    - astyle::ASFormatter::isClosingHeader
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatCommentOpener()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5892,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5892,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5896,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5897,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5899,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5901,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5903,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5903,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5905,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5905,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isSequenceReached("*/"))
      pos:
        line_end: 5891
        line_start: 5891
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5910
      start: 5890
    functionDepth: 2
    functionLinenumber: 5890
    functionLinenumberEnd: 5910
    functionName: astyle::ASFormatter::formatCommentCloser
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - astyle::ASFormatter::isBraceType
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::appendSequence
    - back
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatCommentCloser()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5918,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5921,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5926,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5927,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInLineComment)
      pos:
        line_end: 5917
        line_start: 5917
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5939
      start: 5916
    functionDepth: 1
    functionLinenumber: 5916
    functionLinenumberEnd: 5939
    functionName: astyle::ASFormatter::formatLineCommentBody
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::appendCurrentChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatLineCommentBody()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5948,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5948,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5950,1
    - Dst: astyle::ASFormatter::resetEndOfStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5957,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5965,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5965,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5967,1
    - Dst: astyle::ASFormatter::checkForHeaderFollowingComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5971,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5971,1
    - Dst: astyle::ASFormatter::adjustComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5985,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5986,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5997,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6002,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6008,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6025,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6026,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6037,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6051,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6053,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6057,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6062,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isSequenceReached("//"))
      pos:
        line_end: 5947
        line_start: 5947
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6069
      start: 5946
    functionDepth: 3
    functionLinenumber: 5946
    functionLinenumberEnd: 6069
    functionName: astyle::ASFormatter::formatLineCommentOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::goForward
    - astyle::ASFormatter::formatRunIn
    - astyle::ASFormatter::resetEndOfStatement
    - astyle::ASFormatter::isInSwitchStatement
    - astyle::ASFormatter::isBraceType
    - getIndentString
    - length
    - astyle::ASFormatter::checkForHeaderFollowingComment
    - substr
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::isSequenceReached
    - back
    - astyle::ASFormatter::adjustComments
    - astyle::ASFormatter::appendSequence
    - assert
    - astyle::ASFormatter::isClosingHeader
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatLineCommentOpener()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6077,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6085,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6092,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6095,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6096,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6096,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6102,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6104,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6107,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6108,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6120,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6126,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6131,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6134,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInQuote)
      pos:
        line_end: 6076
        line_start: 6076
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6138
      start: 6075
    functionDepth: 2
    functionLinenumber: 6075
    functionLinenumberEnd: 6138
    functionName: astyle::ASFormatter::formatQuoteBody
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::goForward
    - isCStyle
    - length
    - isSharpStyle
    - string::length
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::appendSequence
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatQuoteBody()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6147,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6148,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6152,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6154,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6158,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6161,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6169,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6169,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6170,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6170,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6175,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6179,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6183,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6193,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(currentChar == '\"'\n\t       || (currentChar == '\\'' && !isDigitSeparator(currentLine,
        charNum)))"
      pos:
        line_end: 6147
        line_start: 6146
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6194
      start: 6145
    functionDepth: 3
    functionLinenumber: 6145
    functionLinenumberEnd: 6194
    functionName: astyle::ASFormatter::formatQuoteOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::formatRunIn
    - find
    - isWhiteSpace
    - isCStyle
    - astyle::ASFormatter::isBraceType
    - length
    - isSharpStyle
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - back
    - assert
    - isDigitSeparator
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatQuoteOpener()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6203,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (foundClosingHeader && previousNonWSChar == '}')
      pos:
        line_end: 6202
        line_start: 6202
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6210
      start: 6201
    functionDepth: 0
    functionLinenumber: 6201
    functionLinenumberEnd: 6210
    functionName: astyle::ASFormatter::getNextLineCommentAdjustment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - assert
    - rfind
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getNextLineCommentAdjustment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6216
      start: 6213
    functionDepth: 0
    functionLinenumber: 6213
    functionLinenumberEnd: 6216
    functionName: astyle::ASFormatter::getLineEndFormat
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineEndFormat
    signature: LineEndFormat ASFormatter::getLineEndFormat() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6227,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (foundClosingHeader && previousNonWSChar == '}')
      pos:
        line_end: 6226
        line_start: 6226
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6234
      start: 6225
    functionDepth: 0
    functionLinenumber: 6225
    functionLinenumberEnd: 6234
    functionName: astyle::ASFormatter::getCurrentLineCommentAdjustment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - assert
    - rfind
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getCurrentLineCommentAdjustment()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6246,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6248,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6249,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6250,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6255,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6261
      start: 6242
    functionDepth: 1
    functionLinenumber: 6242
    functionLinenumberEnd: 6261
    functionName: astyle::ASFormatter::getPreviousWord
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - string
    - isLegalNameChar
    - find_last_not_of
    - substr
    linkageType: ''
    returnType: string
    signature: string ASFormatter::getPreviousWord(const string& line, int currPos)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6270,1
    - Dst: astyle::ASFormatter::appendClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6274,1
    - Dst: getBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6287,1
    - Dst: getBlockIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6287,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6293,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6295,1
    - Dst: getBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6307,1
    - Dst: getBlockIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6307,1
    - Dst: astyle::ASFormatter::appendClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6313,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (foundClosingHeader && previousNonWSChar == '}')
      pos:
        line_end: 6269
        line_start: 6269
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6318
      start: 6268
    functionDepth: 2
    functionLinenumber: 6268
    functionLinenumberEnd: 6318
    functionName: astyle::ASFormatter::isLineBreakBeforeClosingHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - getBraceIndent
    - getBlockIndent
    - astyle::ASFormatter::appendClosingHeader
    - assert
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::isLineBreakBeforeClosingHeader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6327,1
    - Dst: astyle::ASFormatter::findNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6329,1
    - Dst: astyle::ASFormatter::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6331,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6339
      start: 6323
    functionDepth: 2
    functionLinenumber: 6323
    functionLinenumberEnd: 6339
    functionName: astyle::ASFormatter::appendClosingHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::isOneLineBlockReached
    - astyle::ASFormatter::findNextChar
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendClosingHeader()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6348,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6369,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6370,1
    - Dst: astyle::ASFormatter::findNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6376,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6381,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6382,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6384,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6386,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6387,1
    - Dst: astyle::ASFormatter::computeChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6387,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6389,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6394,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6395,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6396,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isImmediatelyPostHeader)
      pos:
        line_end: 6347
        line_start: 6347
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (computeChecksumIn("{}"))
      pos:
        line_end: 6386
        line_start: 6386
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6399
      start: 6346
    functionDepth: 1
    functionLinenumber: 6346
    functionLinenumberEnd: 6399
    functionName: astyle::ASFormatter::addBracesToStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - insert
    - erase
    - astyle::ASFormatter::findNextChar
    - length
    - append
    - astyle::ASFormatter::findHeader
    - astyle::ASFormatter::computeChecksumIn
    - assert
    - find_last_not_of
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::addBracesToStatement()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6408,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6409,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6424,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6425,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6430,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6436,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6440,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6444,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6448,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6449,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6450,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6451,1
    - Dst: astyle::ASFormatter::findNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6457,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6464,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6470,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6473,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6477,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6482,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6482,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '{')
      pos:
        line_end: 6408
        line_start: 6408
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isImmediatelyPostHeader)
      pos:
        line_end: 6407
        line_start: 6407
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (adjustChecksumIn(-'{'))
      pos:
        line_end: 6481
        line_start: 6481
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6484
      start: 6406
    functionDepth: 2
    functionLinenumber: 6406
    functionLinenumberEnd: 6484
    functionName: astyle::ASFormatter::removeBracesFromStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - ASPeekStream::hasMoreLines
    - astyle::ASFormatter::findNextChar
    - astyle::ASFormatter::adjustChecksumIn
    - astyle::ASBase::findHeader
    - string::find_first_not_of
    - substr
    - string::length
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - ASPeekStream::peekNextLine
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::removeBracesFromStatement()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6498,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6500,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6502,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6504,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6508,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6512,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6515,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6517,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6536,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 3
    argNames:
    - ' line'
    - searchChar
    - searchStart
    argTypes:
    - string
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6540
      start: 6494
    functionDepth: 1
    functionLinenumber: 6494
    functionLinenumberEnd: 6540
    functionName: astyle::ASFormatter::findNextChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached:
    - length
    - find
    - compare
    - isDigitSeparator
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::findNextChar(const string& line, char searchChar,
      int searchStart /*0*/) const
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6547,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6547,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6547,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6548,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6548,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6549,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6569,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6577,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6581,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6593,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6595,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6602,1
    - Dst: string::replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6604,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6607,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6611,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6632,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6638,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6640,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6657,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6684,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6686,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6691,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6699,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6703,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6704,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6711,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6715,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6723,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6726,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6730,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6731,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6739,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6739,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6743,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 176
    argCount: 1
    argNames:
    - ' firstLine'
    argTypes:
    - string
    assertStmts:
    - condition: "((isBraceType(braceTypeStack->back(), NULL_TYPE)\n\t        || isBraceType(braceTypeStack->back(),
        DEFINITION_TYPE)))"
      pos:
        line_end: 6547
        line_start: 6546
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: "(shouldBreakReturnType || shouldBreakReturnTypeDecl\n\t       ||
        shouldAttachReturnType || shouldAttachReturnTypeDecl)"
      pos:
        line_end: 6549
        line_start: 6548
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6811
      start: 6545
    functionDepth: 1
    functionLinenumber: 6545
    functionLinenumberEnd: 6811
    functionName: astyle::ASFormatter::findReturnTypeSplitPoint
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - string::find
    - findKeyword
    - ASPeekStream::hasMoreLines
    - isWhiteSpace
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - getTabLength
    - string::find_first_not_of
    - string::length
    - back
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    - string::replace
    linkageType: ''
    returnType: void
    signature: void ASFormatter::findReturnTypeSplitPoint(const string& firstLine)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6822,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6823,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6823,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6827,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6834,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6839,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6841,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6843,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6845,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6849,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6870,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6876,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6878,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6889,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6891,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6892,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6893,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6895,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6896,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 2
    argNames:
    - ' firstLine'
    - index
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (firstLine[index] == '{')
      pos:
        line_end: 6821
        line_start: 6821
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isCStyle())
      pos:
        line_end: 6822
        line_start: 6822
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6902
      start: 6820
    functionDepth: 0
    functionLinenumber: 6820
    functionLinenumberEnd: 6902
    functionName: astyle::ASFormatter::isStructAccessModified
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - findKeyword
    - ASPeekStream::hasMoreLines
    - isWhiteSpace
    - isCStyle
    - string::length
    - substr
    - getCurrentWord
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isStructAccessModified(const string& firstLine, size_t
      index) const
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6913,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6924,1
    - Dst: make_shared<ASPeekStream>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6925,1
    - Dst: auto::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6931,1
    - Dst: auto::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6936,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6938,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6940,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6942,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6946,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6966,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6972,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6974,1
    - Dst: astyle::ASBeautifier::extractPreprocessorStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6980,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6981,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6981,1
    - Dst: astyle::ASFormatter::isNDefPreprocStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6990,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7004,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7010,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7023,1
    - Dst: tellg
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7036,1
    - Dst: getStreamLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7038,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7047,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7052,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 98
    argCount: 2
    argNames:
    - ' firstLine'
    - index
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (firstLine[index] == '#')
      pos:
        line_end: 6912
        line_start: 6912
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7063
      start: 6911
    functionDepth: 2
    functionLinenumber: 6911
    functionLinenumberEnd: 7063
    functionName: astyle::ASFormatter::isIndentablePreprocessorBlock
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - getStreamLength
    - string::empty
    - isWhiteSpace
    - astyle::ASFormatter::peekNextText
    - astyle::ASBeautifier::extractPreprocessorStatement
    - make_shared<ASPeekStream>
    - string::length
    - substr
    - auto::hasMoreLines
    - string::substr
    - auto::peekNextLine
    - assert
    - isDigitSeparator
    - astyle::ASFormatter::isNDefPreprocStatement
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isIndentablePreprocessorBlock(const string& firstLine,
      size_t index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7072,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7075,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' nextLine_'
    - ' preproc'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7080
      start: 7065
    functionDepth: 1
    functionLinenumber: 7065
    functionLinenumberEnd: 7080
    functionName: astyle::ASFormatter::isNDefPreprocStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - find
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNDefPreprocStatement(const string& nextLine_, const
      string& preproc) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7094,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7095,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7096,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7097,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7100,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7101,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7104,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7105,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7106,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7107,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7112
      start: 7089
    functionDepth: 2
    functionLinenumber: 7089
    functionLinenumberEnd: 7112
    functionName: astyle::ASFormatter::isExecSQL
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - toupper
    - find_first_not_of
    - string::length
    - getCurrentWord
    - string::erase
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isExecSQL(const string& line, size_t index) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7122,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7123,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7132,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7152,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7153,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7156,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7162
      start: 7120
    functionDepth: 1
    functionLinenumber: 7120
    functionLinenumberEnd: 7162
    functionName: astyle::ASFormatter::trimContinuationLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::append
    - isWhiteSpace
    - length
    - getTabLength
    - string
    linkageType: ''
    returnType: void
    signature: void ASFormatter::trimContinuationLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7174
      start: 7169
    functionDepth: 0
    functionLinenumber: 7169
    functionLinenumberEnd: 7174
    functionName: astyle::ASFormatter::isClosingHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isClosingHeader(const string* header) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7183,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7186,1
    - Dst: string::rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7193,1
    - Dst: string::find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (previousNonWSChar == ')' && currentChar == '*')
      pos:
        line_end: 7182
        line_start: 7182
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7208
      start: 7181
    functionDepth: 0
    functionLinenumber: 7181
    functionLinenumberEnd: 7208
    functionName: astyle::ASFormatter::isImmediatelyPostCast
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::find_last_not_of
    - assert
    - rfind
    - string::rfind
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isImmediatelyPostCast() const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7216,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7219,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7232,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7239,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7244,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7246,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7249,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7251,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7255,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7276,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7282,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7284,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7323,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7324,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7341,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7346,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7353,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7354,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!isInTemplate && currentChar == '<')
      pos:
        line_end: 7215
        line_start: 7215
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7357
      start: 7214
    functionDepth: 0
    functionLinenumber: 7214
    functionLinenumberEnd: 7357
    functionName: astyle::ASFormatter::checkIfTemplateOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - isJavaStyle
    - find_first_not_of
    - ASPeekStream::hasMoreLines
    - isWhiteSpace
    - isLegalNameChar
    - string::length
    - substr
    - getCurrentWord
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::checkIfTemplateOpener()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7361,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7362,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7362,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7364,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7367,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7386,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7397,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7400,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7405,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7406,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7408,1
    - Dst: astyle::ASFormatter::pointerSymbolFollows
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7419,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7421,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7422,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7424,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7430,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7431,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7433,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7441,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7442,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7444,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7445,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7455,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7456,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7458,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 47
    argCount: 1
    argNames:
    - appendedChar
    argTypes:
    - char
    assertStmts:
    - condition: (formattedLine.length() > 0)
      pos:
        line_end: 7361
        line_start: 7361
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7360
        line_start: 7360
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7461
      start: 7359
    functionDepth: 1
    functionLinenumber: 7359
    functionLinenumberEnd: 7461
    functionName: astyle::ASFormatter::updateFormattedLineSplitPoints
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - isWhiteSpace
    - isCharPotentialOperator
    - length
    - astyle::ASFormatter::peekNextChar
    - assert
    - astyle::ASFormatter::pointerSymbolFollows
    linkageType: ''
    returnType: void
    signature: void ASFormatter::updateFormattedLineSplitPoints(char appendedChar)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7465,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7466,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7466,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7468,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7471,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7482,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7483,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7485,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7490,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7491,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7492,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7492,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7494,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7495,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7497,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7503,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7504,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7506,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7512,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7513,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7514,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7519,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7520,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7522,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7531,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7532,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7534,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7538,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7544,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7548,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 47
    argCount: 1
    argNames:
    - ' sequence'
    argTypes:
    - string
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7464
        line_start: 7464
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (formattedLine.length() > 0)
      pos:
        line_end: 7465
        line_start: 7465
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7554
      start: 7463
    functionDepth: 1
    functionLinenumber: 7463
    functionLinenumberEnd: 7554
    functionName: astyle::ASFormatter::updateFormattedLineSplitPointsOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - isWhiteSpace
    - length
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - assert
    - astyle::ASFormatter::isInExponent
    linkageType: ''
    returnType: void
    signature: void ASFormatter::updateFormattedLineSplitPointsOperator(const string&
      sequence)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7562,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7563,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7563,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7564,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7564,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7561
        line_start: 7561
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (index < formattedLine.length())
      pos:
        line_end: 7563
        line_start: 7563
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (formattedLine.length() > 0)
      pos:
        line_end: 7562
        line_start: 7562
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7576
      start: 7560
    functionDepth: 1
    functionLinenumber: 7560
    functionLinenumberEnd: 7576
    functionName: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::isOkToSplitFormattedLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::updateFormattedLineSplitPointsPointerOrReference(size_t
      index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7580,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7593,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7593,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7596,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7599,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7599,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7602,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7602,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7603,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7579
        line_start: 7579
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7607
      start: 7578
    functionDepth: 2
    functionLinenumber: 7578
    functionLinenumberEnd: 7607
    functionName: astyle::ASFormatter::isOkToSplitFormattedLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 7
    functionsReached:
    - astyle::ASFormatter::isBraceType
    - back
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isOkToSplitFormattedLine()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7615,1
    - Dst: astyle::ASFormatter::findFormattedLineSplitPoint
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7617,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7618,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7620,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7621,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7622,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7625,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7666,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7667,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7669,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7670,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7671,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7672,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7672,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7673,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7677,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7687,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7689,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7693
      start: 7611
    functionDepth: 2
    functionLinenumber: 7611
    functionLinenumberEnd: 7693
    functionName: astyle::ASFormatter::testForTimeToSplitFormattedLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 12
    functionsReached:
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - astyle::ASBeautifier::getNextWord
    - find
    - isWhiteSpace
    - length
    - astyle::ASFormatter::breakLine
    - substr
    - astyle::ASFormatter::findFormattedLineSplitPoint
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::testForTimeToSplitFormattedLine()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7697,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7735,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7739,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7739,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7740,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7743,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7696
        line_start: 7696
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7754
      start: 7695
    functionDepth: 0
    functionLinenumber: 7695
    functionLinenumberEnd: 7754
    functionName: astyle::ASFormatter::findFormattedLineSplitPoint
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - isWhiteSpace
    - length
    - assert
    - getCurrentWord
    - isCharPotentialHeader
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::findFormattedLineSplitPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7768
      start: 7756
    functionDepth: 0
    functionLinenumber: 7756
    functionLinenumberEnd: 7768
    functionName: astyle::ASFormatter::clearFormattedLineSplitPoints
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::clearFormattedLineSplitPoints()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7775,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7779
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7779
    functionName: astyle::ASFormatter::pointerSymbolFollows
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::pointerSymbolFollows() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7787,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' currentLine_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7791
      start: 7785
    functionDepth: 0
    functionLinenumber: 7785
    functionLinenumberEnd: 7791
    functionName: astyle::ASFormatter::computeChecksumIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::computeChecksumIn(const string& currentLine_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adjustment
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7801
      start: 7797
    functionDepth: 0
    functionLinenumber: 7797
    functionLinenumberEnd: 7801
    functionName: astyle::ASFormatter::adjustChecksumIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::adjustChecksumIn(int adjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7811
      start: 7808
    functionDepth: 0
    functionLinenumber: 7808
    functionLinenumberEnd: 7811
    functionName: astyle::ASFormatter::getChecksumIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::getChecksumIn() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7819,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' beautifiedLine'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7823
      start: 7817
    functionDepth: 0
    functionLinenumber: 7817
    functionLinenumberEnd: 7823
    functionName: astyle::ASFormatter::computeChecksumOut
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - length
    - isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::computeChecksumOut(const string& beautifiedLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7831
      start: 7828
    functionDepth: 0
    functionLinenumber: 7828
    functionLinenumberEnd: 7831
    functionName: astyle::ASFormatter::getIsLineReady
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::getIsLineReady() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7841
      start: 7838
    functionDepth: 0
    functionLinenumber: 7838
    functionLinenumberEnd: 7841
    functionName: astyle::ASFormatter::getChecksumOut
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::getChecksumOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7850
      start: 7847
    functionDepth: 0
    functionLinenumber: 7847
    functionLinenumberEnd: 7850
    functionName: astyle::ASFormatter::getChecksumDiff
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getChecksumDiff() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7856
      start: 7853
    functionDepth: 0
    functionLinenumber: 7853
    functionLinenumberEnd: 7856
    functionName: astyle::ASFormatter::getFormatterFileType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getFormatterFileType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7863,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7867,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7871,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7873,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7874,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7879,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7880,1
    - Dst: astyle::ASBase::findOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7884,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7886
      start: 7860
    functionDepth: 1
    functionLinenumber: 7860
    functionLinenumberEnd: 7886
    functionName: astyle::ASFormatter::getFollowingOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - astyle::ASBase::findOperator
    - isCharPotentialOperator
    - isWhiteSpace
    - length
    - isLegalNameChar
    linkageType: ''
    returnType: string
    signature: string * ASFormatter::getFollowingOperator() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7891,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7892,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7892,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7892,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7895,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7899,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7903,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7905,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7906,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 7890
        line_start: 7890
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isBraceType(braceTypeStack->back(), ARRAY_TYPE))
      pos:
        line_end: 7891
        line_start: 7891
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7918
      start: 7889
    functionDepth: 1
    functionLinenumber: 7889
    functionLinenumberEnd: 7918
    functionName: astyle::ASFormatter::isArrayOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - isWhiteSpace
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - back
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isArrayOperator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7947,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7949
      start: 7921
    functionDepth: 1
    functionLinenumber: 7921
    functionLinenumberEnd: 7949
    functionName: astyle::ASFormatter::resetEndOfStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached:
    - pop_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASFormatter::resetEndOfStatement()
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7954,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7955,1
    - Dst: getAlignMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7955,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7971,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7974,1
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7977,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7978,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7980,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7982,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7986,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8006,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8012,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8014,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8054,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '+' || currentChar == '-' || currentChar == '[')
      pos:
        line_end: 7953
        line_start: 7953
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (getAlignMethodColon())
      pos:
        line_end: 7954
        line_start: 7954
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 8074
      start: 7952
    functionDepth: 1
    functionLinenumber: 7952
    functionLinenumberEnd: 8074
    functionName: astyle::ASFormatter::findObjCColonAlignment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - astyle::ASFormatter::hasMoreLines
    - isWhiteSpace
    - string::length
    - getAlignMethodColon
    - astyle::ASBeautifier::trim
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    linkageType: ''
    returnType: int
    signature: int ASFormatter::findObjCColonAlignment() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8079,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8081,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8087,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8087,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8089,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8096,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8096,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8097,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8099,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8102,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8104,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8105,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8113,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8115,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8120,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8127,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8129,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8133,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8139,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == ':')
      pos:
        line_end: 8078
        line_start: 8078
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 8145
      start: 8077
    functionDepth: 2
    functionLinenumber: 8077
    functionLinenumberEnd: 8145
    functionName: astyle::ASFormatter::padObjCMethodColon
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - insert
    - isWhiteSpace
    - length
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::peekNextChar
    - back
    - assert
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCMethodColon()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8150,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8157,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8161,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8165,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8169,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8174,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8179,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8186,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8194,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8197,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8198,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8204,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8205,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8207,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8209,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8218,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8218,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8221,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8224,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8233,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8235,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8239,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8243
      start: 8148
    functionDepth: 1
    functionLinenumber: 8148
    functionLinenumberEnd: 8243
    functionName: astyle::ASFormatter::stripCommentPrefix
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - insert
    - compare
    - find
    - getIndentLength
    - astyle::ASFormatter::adjustChecksumIn
    - substr
    - string
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::stripCommentPrefix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASEnhancer::ASEnhancer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:31,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:89,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:90,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:91,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:92,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:93,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:94,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:95,1
    - Dst: vector<const pair<const string, const string>* >::vector<const pair<const
        string, const string>* >
      Src: /src/geos/tools/astyle/ASFormatter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 99
    functionName: astyle::ASFormatter::ASFormatter
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>::vector<const string*>
    - vector<const pair<const string, const string>* >::vector<const pair<const string,
      const string>* >
    - ASEnhancer::ASEnhancer
    linkageType: ''
    returnType: void
    signature: void ASFormatter::ASFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:107,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:108,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:109,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:110,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:111,1
    - Dst: astyle::ASBeautifier::deleteBeautifierVectors
      Src: /src/geos/tools/astyle/ASFormatter.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: ASFormatter::~ASFormatter()
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - deleteContainer
    - astyle::ASBeautifier::deleteBeautifierVectors
    linkageType: ''
    returnType: void
    signature: void ASFormatter::~ASFormatter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::buildLanguageVectors
      Src: /src/geos/tools/astyle/ASFormatter.cpp:145,1
    - Dst: astyle::ASFormatter::fixOptionVariableConflicts
      Src: /src/geos/tools/astyle/ASFormatter.cpp:146,1
    - Dst: astyle::ASBeautifier::init
      Src: /src/geos/tools/astyle/ASFormatter.cpp:147,1
    - Dst: astyle::ASFormatter::init
      Src: /src/geos/tools/astyle/ASFormatter.cpp:150,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:150,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:151,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:152,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:153,1
    - Dst: getForceTabIndentation
      Src: /src/geos/tools/astyle/ASFormatter.cpp:154,1
    - Dst: getNamespaceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:155,1
    - Dst: getCaseIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:156,1
    - Dst: getPreprocDefineIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:158,1
    - Dst: getEmptyLineFill
      Src: /src/geos/tools/astyle/ASFormatter.cpp:159,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:162,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:162,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:163,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:163,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:164,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:164,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:165,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:165,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:166,1
    - Dst: astyle::ASFormatter::initContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:167,1
    - Dst: vector<BraceType>::vector<BraceType>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:167,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:168,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 146
    argCount: 1
    argNames:
    - si
    argTypes:
    - ASSourceIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 304
    functionName: astyle::ASFormatter::init
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - getCaseIndent
    - getPreprocDefineIndent
    - getForceTabIndentation
    - astyle::ASFormatter::init
    - astyle::ASFormatter::initContainer
    - getIndentString
    - astyle::ASFormatter::buildLanguageVectors
    - astyle::ASFormatter::fixOptionVariableConflicts
    - getNamespaceIndent
    - astyle::ASBeautifier::init
    - vector<int>::vector<int>
    - vector<bool>::vector<bool>
    - getIndentLength
    - getTabLength
    - emplace_back
    - getEmptyLineFill
    - getFileType
    - vector<BraceType>::vector<BraceType>
    - vector<const string*>::vector<const string*>
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::init(ASSourceIterator* si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:312,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:315,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:317,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:318,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:319,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:320,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:321,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:322,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:323,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:324,1
    - Dst: astyle::ASResource::buildHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:326,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:326,1
    - Dst: astyle::ASResource::buildNonParenHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:327,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:327,1
    - Dst: astyle::ASResource::buildPreDefinitionHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:328,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:328,1
    - Dst: astyle::ASResource::buildPreCommandHeaders
      Src: /src/geos/tools/astyle/ASFormatter.cpp:329,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:329,1
    - Dst: astyle::ASResource::buildOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:330,1
    - Dst: getFileType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:330,1
    - Dst: astyle::ASResource::buildAssignmentOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:331,1
    - Dst: astyle::ASResource::buildCastOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:332,1
    - Dst: astyle::ASResource::buildIndentableMacros
      Src: /src/geos/tools/astyle/ASFormatter.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: astyle::ASFormatter::buildLanguageVectors
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASResource::buildAssignmentOperators
    - astyle::ASResource::buildPreDefinitionHeaders
    - astyle::ASResource::buildNonParenHeaders
    - getFileType
    - astyle::ASResource::buildPreCommandHeaders
    - astyle::ASResource::buildIndentableMacros
    - clear
    - astyle::ASResource::buildHeaders
    - astyle::ASResource::buildOperators
    - astyle::ASResource::buildCastOperators
    linkageType: ''
    returnType: void
    signature: void ASFormatter::buildLanguageVectors()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:344,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:348,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:352,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:356,1
    - Dst: astyle::ASFormatter::setBreakClosingHeaderBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:357,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:361,1
    - Dst: setBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:362,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:363,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:364,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:369,1
    - Dst: setBraceIndentVtk
      Src: /src/geos/tools/astyle/ASFormatter.cpp:370,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:371,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:376,1
    - Dst: setBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:377,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:378,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:379,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:383,1
    - Dst: setBlockIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:384,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:388,1
    - Dst: setMinConditionalIndentOption
      Src: /src/geos/tools/astyle/ASFormatter.cpp:390,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:394,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:395,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:399,1
    - Dst: astyle::ASFormatter::setAddBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:400,1
    - Dst: astyle::ASFormatter::setRemoveBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:401,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:405,1
    - Dst: setModifierIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:406,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:407,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:411,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:415,1
    - Dst: astyle::ASFormatter::setAttachClosingBraceMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:416,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:417,1
    - Dst: astyle::ASFormatter::setBreakOneLineBlocksMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:418,1
    - Dst: astyle::ASFormatter::setBreakOneLineStatementsMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:419,1
    - Dst: astyle::ASFormatter::setBraceFormatMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:427,1
    - Dst: astyle::ASFormatter::setAttachClosingBraceMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:428,1
    - Dst: astyle::ASFormatter::setBreakOneLineStatementsMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:429,1
    - Dst: setMinConditionalIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:438,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:440,1
    - Dst: setDefaultTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:441,1
    - Dst: astyle::ASFormatter::setBreakOneLineBlocksMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:444,1
    - Dst: astyle::ASFormatter::setRemoveBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:447,1
    - Dst: getClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:454,1
    - Dst: setModifierIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:455,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 456
    functionName: astyle::ASFormatter::fixOptionVariableConflicts
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::setAddBracesMode
    - setBraceIndentVtk
    - setBlockIndent
    - astyle::ASFormatter::setAttachClosingBraceMode
    - astyle::ASFormatter::setRemoveBracesMode
    - astyle::ASFormatter::setBreakOneLineStatementsMode
    - getTabLength
    - getClassIndent
    - astyle::ASFormatter::setBraceFormatMode
    - astyle::ASFormatter::setBreakClosingHeaderBracesMode
    - setModifierIndent
    - astyle::ASFormatter::setBreakOneLineBlocksMode
    - setMinConditionalIndentLength
    - setBraceIndent
    - setDefaultTabLength
    - setClassIndent
    - setSwitchIndent
    - setMinConditionalIndentOption
    linkageType: ''
    returnType: void
    signature: void ASFormatter::fixOptionVariableConflicts()
  - BBCount: 234
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::getNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:478,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:480,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:491,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:491,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:495,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:510,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:514,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:516,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:521,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:523,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:527,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:531,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:533,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:539,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:549,1
    - Dst: astyle::ASFormatter::formatLineCommentBody
      Src: /src/geos/tools/astyle/ASFormatter.cpp:555,1
    - Dst: astyle::ASFormatter::formatCommentBody
      Src: /src/geos/tools/astyle/ASFormatter.cpp:560,1
    - Dst: astyle::ASFormatter::formatQuoteBody
      Src: /src/geos/tools/astyle/ASFormatter.cpp:566,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:572,1
    - Dst: astyle::ASFormatter::formatLineCommentOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:574,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:575,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:578,1
    - Dst: astyle::ASFormatter::formatCommentOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:580,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:581,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:585,1
    - Dst: astyle::ASFormatter::formatQuoteOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:587,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:588,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:593,1
    - Dst: trim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:595,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/ASFormatter.cpp:595,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:596,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:597,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:598,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:599,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:600,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:601,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:602,1
    - Dst: rtrim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:604,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:606,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:614,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:621,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:627,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:627,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:635,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:635,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:636,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:641,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:643,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:653,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:654,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:654,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:658,1
    - Dst: astyle::ASFormatter::processPreprocessor
      Src: /src/geos/tools/astyle/ASFormatter.cpp:663,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:666,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:666,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:667,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:667,1
    - Dst: tellg
      Src: /src/geos/tools/astyle/ASFormatter.cpp:670,1
    - Dst: astyle::ASBeautifier::extractPreprocessorStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:673,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:674,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:674,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:677,1
    - Dst: astyle::ASFormatter::isIndentablePreprocessorBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:678,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:683,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:684,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:686,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:688,1
    - Dst: tellg
      Src: /src/geos/tools/astyle/ASFormatter.cpp:691,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:754,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:754,1
    - Dst: astyle::ASFormatter::addBracesToStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:756,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:759,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:760,1
    - Dst: astyle::ASFormatter::removeBracesFromStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:768,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:772,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:776,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:785,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:785,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:786,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:789,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:789,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:790,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:791,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:792,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:800,1
    - Dst: astyle::ASFormatter::isMultiStatementLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:803,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:804,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:804,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:805,1
    - Dst: astyle::ASFormatter::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:811,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:819,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:819,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:820,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:821,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:822,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:838,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:841,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:841,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:843,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:844,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:846,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:848,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:849,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:850,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:850,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:851,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:852,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:852,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:856,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:860,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:861,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:864,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:865,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:868,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:873,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:887,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:888,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:889,1
    - Dst: astyle::ASFormatter::checkIfTemplateOpener
      Src: /src/geos/tools/astyle/ASFormatter.cpp:900,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:925,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:926,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:926,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:927,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:931,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:932,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:932,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:933,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:937,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:938,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:938,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:939,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:939,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:943,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:944,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:944,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:945,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:949,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:958,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:960,1
    - Dst: getAlignMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:964,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:964,1
    - Dst: astyle::ASFormatter::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:965,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:971,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:973,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:974,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:975,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:977,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:978,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:991,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1009,1
    - Dst: astyle::ASFormatter::getBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1020,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1048,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1049,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1050,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1052,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1053,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1053,1
    - Dst: astyle::ASFormatter::isStructAccessModified
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1054,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1060,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1061,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1062,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1063,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1063,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1078,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1080,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1081,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1082,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1090,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1092,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1093,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1098,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1100,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1101,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1107,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1107,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1108,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1112,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1115,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1116,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1123,1
    - Dst: astyle::ASFormatter::formatArrayBraces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1125,1
    - Dst: astyle::ASFormatter::formatOpeningBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1130,1
    - Dst: astyle::ASFormatter::formatClosingBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1132,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1142,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1143,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1144,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1144,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1145,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1145,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1148,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1148,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1149,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1149,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1154,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1154,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1155,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1155,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1170,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1170,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1171,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1171,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1175,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1177,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1181,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1188,1
    - Dst: astyle::ASFormatter::padObjCMethodPrefix
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1207,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1212,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1219,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1223,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1224,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1227,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1230,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1233,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1237,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1237,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1241,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1242,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1247,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1257,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1261,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1261,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1267,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1270,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1270,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1271,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1282,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1282,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1295,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1295,1
    - Dst: astyle::ASFormatter::isLineBreakBeforeClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1296,1
    - Dst: astyle::ASFormatter::getNextLineCommentAdjustment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1300,1
    - Dst: astyle::ASFormatter::getCurrentLineCommentAdjustment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1302,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1306,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1312,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1313,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1326,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1326,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1327,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1329,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1334,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1335,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1335,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1341,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1341,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1342,1
    - Dst: astyle::ASFormatter::isSharpStyleWithParen
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1354,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1362,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1362,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1373,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1395,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1396,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1408,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1409,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1409,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1413,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1419,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1422,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1423,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1423,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1430,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1456,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1456,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1457,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1457,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1458,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1463,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1466,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1467,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1476,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1482,1
    - Dst: astyle::ASFormatter::resetEndOfStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1485,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1490,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1498,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1499,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1499,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1509,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1509,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1518,1
    - Dst: astyle::ASFormatter::padObjCMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1526,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1531,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1532,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1533,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1534,1
    - Dst: astyle::ASFormatter::isClassInitializer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1537,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1546,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1547,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1553,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1559,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1562,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1564,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1571,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1572,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1577,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1577,1
    - Dst: astyle::ASFormatter::isExternC
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1577,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1580,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1580,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1581,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1581,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1582,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1582,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1589,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1589,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1590,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1590,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1596,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1597,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1597,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1598,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1599,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1600,1
    - Dst: astyle::ASFormatter::findReturnTypeSplitPoint
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1602,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1608,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1608,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1610,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1610,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1613,1
    - Dst: astyle::ASFormatter::isExecSQL
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1613,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1616,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1618,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1619,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1623,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1624,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1627,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1630,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1638,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1639,1
    - Dst: astyle::ASFormatter::isNextCharOpeningBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1640,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1643,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1644,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1645,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1649,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1655,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1656,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1657,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1657,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1658,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1659,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1660,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1661,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1665,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1666,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1666,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1671,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1672,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1672,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1682,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1683,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1684,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1685,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1686,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1687,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1687,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1691,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1692,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1692,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1696,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1697,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1698,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1699,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1700,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1704,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1705,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1705,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1709,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1710,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1713,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1713,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1714,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1714,1
    - Dst: getAlignMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1720,1
    - Dst: astyle::ASFormatter::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1721,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1722,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1728,1
    - Dst: astyle::ASFormatter::findOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1733,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1738,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1755,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1755,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1755,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1756,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1759,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1770,1
    - Dst: astyle::ASFormatter::isPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1775,1
    - Dst: astyle::ASFormatter::isDereferenceOrAddressOf
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1777,1
    - Dst: astyle::ASFormatter::isOperatorPaddingDisabled
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1777,1
    - Dst: astyle::ASFormatter::formatPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1778,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1781,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1782,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1782,1
    - Dst: astyle::ASFormatter::isOperatorPaddingDisabled
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1788,1
    - Dst: astyle::ASFormatter::padOperators
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1790,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1797,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1798,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1801,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1812,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1814,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1820,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1824,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1825,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1839,1
    - Dst: astyle::ASFormatter::padParens
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1843,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1845,1
    - Dst: astyle::ASFormatter::padObjCMethodPrefix
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1852,1
    - Dst: astyle::ASFormatter::padObjCReturnType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1859,1
    - Dst: astyle::ASFormatter::padObjCParamType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1864,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1872,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1873,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1873,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1877,1
    - Dst: trim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1884,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1885,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1885,1
    - Dst: beautify
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1892,1
    - Dst: enhance
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1895,1
    - Dst: beautify
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1901,1
    - Dst: enhance
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1905,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1924,1
    - Dst: astyle::ASFormatter::computeChecksumOut
      Src: /src/geos/tools/astyle/ASFormatter.cpp:1924,1
    CyclomaticComplexity: 596
    EdgeCount: 596
    ICount: 804
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (blockEnd != string::npos)
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: "((currentLine.compare(commentStart, 2, \"//\") == 0)\n\t\t\t\t\t\t
        \      || (currentLine.compare(commentStart, 2, \"/*\") == 0))"
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (firstText != string::npos)
      pos:
        line_end: 759
        line_start: 759
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (commentStart != string::npos)
      pos:
        line_end: 848
        line_start: 848
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (computeChecksumOut(beautifiedLine))
      pos:
        line_end: 1923
        line_start: 1923
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (adjustChecksumIn(-'}'))
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 1926
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 1926
    functionName: astyle::ASFormatter::nextLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASFormatter::formatCommentBody
    - astyle::ASBeautifier::getNextWord
    - astyle::ASFormatter::formatArrayBraces
    - astyle::ASFormatter::padObjCMethodColon
    - astyle::ASFormatter::isDereferenceOrAddressOf
    - find
    - findKeyword
    - astyle::ASFormatter::isPointerOrReference
    - astyle::ASFormatter::peekNextText
    - astyle::ASBase::peekNextChar
    - astyle::ASFormatter::formatClosingBrace
    - push_back
    - astyle::ASFormatter::appendSpaceAfter
    - astyle::ASFormatter::padOperators
    - find_last_not_of
    - begin
    - astyle::ASBase::findHeader
    - string*::length
    - astyle::ASFormatter::formatLineCommentBody
    - empty
    - compare
    - astyle::ASFormatter::formatQuoteOpener
    - astyle::ASFormatter::checkIfTemplateOpener
    - astyle::ASFormatter::findObjCColonAlignment
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendSequence
    - astyle::ASFormatter::formatRunIn
    - isWhiteSpace
    - astyle::ASFormatter::findReturnTypeSplitPoint
    - astyle::ASFormatter::addBracesToStatement
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::isOkToBreakBlock
    - isCStyle
    - append
    - astyle::ASFormatter::isIndentablePreprocessorBlock
    - astyle::ASFormatter::isMultiStatementLine
    - astyle::ASFormatter::isOperatorPaddingDisabled
    - enhance
    - astyle::ASFormatter::computeChecksumOut
    - astyle::ASFormatter::formatLineCommentOpener
    - string::substr
    - isCharPotentialHeader
    - erase
    - astyle::ASFormatter::goForward
    - astyle::ASFormatter::isClassInitializer
    - astyle::ASFormatter::formatQuoteBody
    - astyle::ASFormatter::padParens
    - back
    - find_first_of
    - isDigitSeparator
    - astyle::ASFormatter::formatCommentOpener
    - astyle::ASFormatter::getNextChar
    - astyle::ASFormatter::removeBracesFromStatement
    - isCharPotentialOperator
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::findOperator
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::formatPointerOrReference
    - astyle::ASFormatter::isClosingHeader
    - pop_back
    - rtrim
    - string::length
    - astyle::ASFormatter::findHeader
    - astyle::ASFormatter::padObjCMethodPrefix
    - isDigit
    - getIndentLength
    - astyle::ASFormatter::appendOperator
    - astyle::ASFormatter::isExecSQL
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::isSharpStyleWithParen
    - c_str
    - astyle::ASFormatter::isEmptyLine
    - emplace_back
    - astyle::ASFormatter::getCurrentLineCommentAdjustment
    - astyle::ASFormatter::isBraceType
    - trim
    - isSharpStyle
    - astyle::ASFormatter::appendCurrentChar
    - rfind
    - astyle::ASFormatter::formatOpeningBrace
    - astyle::ASFormatter::isOneLineBlockReached
    - astyle::ASFormatter::isLineBreakBeforeClosingHeader
    - insert
    - beautify
    - astyle::ASFormatter::padObjCReturnType
    - substr
    - getAlignMethodColon
    - resize
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - size
    - astyle::ASFormatter::resetEndOfStatement
    - astyle::ASFormatter::adjustChecksumIn
    - astyle::ASFormatter::isExternC
    - astyle::ASFormatter::padObjCParamType
    - tellg
    - astyle::ASFormatter::getNextLineCommentAdjustment
    - isJavaStyle
    - find_first_not_of
    - astyle::ASBeautifier::extractPreprocessorStatement
    - astyle::ASFormatter::isNextCharOpeningBrace
    - astyle::ASFormatter::processPreprocessor
    - getCurrentWord
    - astyle::ASFormatter::appendSpacePad
    - length
    - astyle::ASFormatter::getBraceType
    - astyle::ASFormatter::isStructAccessModified
    - end
    linkageType: ''
    returnType: string
    signature: string ASFormatter::nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1936
    functionName: astyle::ASFormatter::hasMoreLines
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::hasMoreLines() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BraceType
    - BraceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1946
    functionName: astyle::ASFormatter::isBraceType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBraceType(BraceType a, BraceType b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - style
    argTypes:
    - FormatStyle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1956
    functionName: astyle::ASFormatter::setFormattingStyle
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setFormattingStyle(FormatStyle style)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1969
    functionName: astyle::ASFormatter::setAddBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1983
    functionName: astyle::ASFormatter::setAddOneLineBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddOneLineBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 1996
    functionName: astyle::ASFormatter::setRemoveBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setRemoveBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setAddBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2004
    functionName: astyle::ASFormatter::setAddBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setAddBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setAddOneLineBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2012
    functionName: astyle::ASFormatter::setAddOneLineBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setAddOneLineBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAddOneLineBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setRemoveBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2017
    functionDepth: 1
    functionLinenumber: 2017
    functionLinenumberEnd: 2020
    functionName: astyle::ASFormatter::setRemoveBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setRemoveBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setRemoveBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::setBreakClosingHeaderBracesMode
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2025
    functionDepth: 1
    functionLinenumber: 2025
    functionLinenumberEnd: 2028
    functionName: astyle::ASFormatter::setBreakClosingHeaderBracketsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASFormatter::setBreakClosingHeaderBracesMode
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakClosingHeaderBracketsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - BraceMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2039
    functionName: astyle::ASFormatter::setBraceFormatMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBraceFormatMode(BraceMode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2049
    functionName: astyle::ASFormatter::setBreakAfterMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakAfterMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2063
    functionName: astyle::ASFormatter::setBreakClosingHeaderBracesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakClosingHeaderBracesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2076
    functionName: astyle::ASFormatter::setBreakElseIfsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakElseIfsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    functionName: astyle::ASFormatter::setCommaPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setCommaPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2099
    functionName: astyle::ASFormatter::setMaxCodeLength
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setMaxCodeLength(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2112
    functionName: astyle::ASFormatter::setOperatorPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setOperatorPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2125
    functionName: astyle::ASFormatter::setParensOutsidePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensOutsidePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2138
    functionName: astyle::ASFormatter::setParensInsidePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensInsidePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2151
    functionName: astyle::ASFormatter::setParensFirstPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensFirstPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2164
    functionName: astyle::ASFormatter::setParensHeaderPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensHeaderPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2177
    functionName: astyle::ASFormatter::setParensUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParensUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2188
    functionName: astyle::ASFormatter::setPreprocBlockIndent
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setPreprocBlockIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2201
    functionName: astyle::ASFormatter::setStripCommentPrefix
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setStripCommentPrefix(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2214
    functionName: astyle::ASFormatter::setMethodPrefixPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setMethodPrefixPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2227
    functionName: astyle::ASFormatter::setMethodPrefixUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setMethodPrefixUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2233
    functionName: astyle::ASFormatter::setReturnTypePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setReturnTypePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2239
    functionName: astyle::ASFormatter::setReturnTypeUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setReturnTypeUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2245
    functionName: astyle::ASFormatter::setParamTypePaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParamTypePaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2251
    functionName: astyle::ASFormatter::setParamTypeUnPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setParamTypeUnPaddingMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ObjCColonPad
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2262
    functionName: astyle::ASFormatter::setObjCColonPaddingMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setObjCColonPaddingMode(ObjCColonPad mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2272
    functionName: astyle::ASFormatter::setAttachClosingBraceMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachClosingBraceMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2282
    functionName: astyle::ASFormatter::setAttachClass
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachClass(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2292
    functionName: astyle::ASFormatter::setAttachExternC
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachExternC(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2302
    functionName: astyle::ASFormatter::setAttachNamespace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachNamespace(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: astyle::ASFormatter::setAttachInline
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachInline(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2317
    functionName: astyle::ASFormatter::setAttachClosingWhile
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachClosingWhile(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2327
    functionName: astyle::ASFormatter::setBreakOneLineBlocksMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakOneLineBlocksMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2332
    functionDepth: 0
    functionLinenumber: 2332
    functionLinenumberEnd: 2335
    functionName: astyle::ASFormatter::setBreakOneLineHeadersMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakOneLineHeadersMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2345
    functionName: astyle::ASFormatter::setBreakOneLineStatementsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakOneLineStatementsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2350
    functionName: astyle::ASFormatter::setCloseTemplatesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setCloseTemplatesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2360
    functionName: astyle::ASFormatter::setTabSpaceConversionMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setTabSpaceConversionMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2370
    functionName: astyle::ASFormatter::setIndentCol1CommentsMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setIndentCol1CommentsMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - LineEndFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2380
    functionName: astyle::ASFormatter::setLineEndFormat
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setLineEndFormat(LineEndFormat fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2390
    functionName: astyle::ASFormatter::setBreakBlocksMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakBlocksMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2400
    functionName: astyle::ASFormatter::setBreakClosingHeaderBlocksMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakClosingHeaderBlocksMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2410
    functionName: astyle::ASFormatter::setDeleteEmptyLinesMode
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setDeleteEmptyLinesMode(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2415
    functionName: astyle::ASFormatter::setBreakReturnType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakReturnType(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2420
    functionName: astyle::ASFormatter::setBreakReturnTypeDecl
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setBreakReturnTypeDecl(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2425
    functionName: astyle::ASFormatter::setAttachReturnType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachReturnType(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2430
    functionName: astyle::ASFormatter::setAttachReturnTypeDecl
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setAttachReturnTypeDecl(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - PointerAlign
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2440
    functionName: astyle::ASFormatter::setPointerAlignment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setPointerAlignment(PointerAlign alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - ReferenceAlign
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2445
    functionName: astyle::ASFormatter::setReferenceAlignment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::setReferenceAlignment(ReferenceAlign alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::getNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2452
    functionDepth: 2
    functionLinenumber: 2452
    functionLinenumberEnd: 2456
    functionName: astyle::ASFormatter::goForward
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 13
    functionsReached:
    - astyle::ASFormatter::getNextChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::goForward(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2474
    functionName: astyle::ASFormatter::peekNextChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 26
    functionsReached:
    - find_first_not_of
    linkageType: ''
    returnType: char
    signature: char ASFormatter::peekNextChar() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2484,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2492
    functionName: astyle::ASFormatter::isBeforeComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeComment() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2502,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2507,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2511
    functionName: astyle::ASFormatter::isBeforeAnyComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 7
    functionsReached:
    - find_first_not_of
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeAnyComment() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2522,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2526,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2528,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2531,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - startPos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2541
    functionName: astyle::ASFormatter::isBeforeAnyLineEndComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 6
    functionsReached:
    - find_first_not_of
    - compare
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeAnyLineEndComment(int startPos) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2551,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2555,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2558,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2561,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - startPos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2548
    functionDepth: 1
    functionLinenumber: 2548
    functionLinenumberEnd: 2569
    functionName: astyle::ASFormatter::isBeforeMultipleLineEndComments
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - compare
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isBeforeMultipleLineEndComments(int startPos) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2582,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2589,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2590,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2594,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2595,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2595,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2600,1
    - Dst: astyle::ASFormatter::getNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2606,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2577
    functionDepth: 3
    functionLinenumber: 2577
    functionLinenumberEnd: 2607
    functionName: astyle::ASFormatter::getNextChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - isWhiteSpace
    - length
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::getNextLine
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::getNextChar()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2617,1
    - Dst: astyle::ASFormatter::nextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2626,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2627,1
    - Dst: astyle::ASFormatter::computeChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2627,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2643,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2644,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2668,1
    - Dst: astyle::ASFormatter::initNewLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2673,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2681,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2688,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2688,1
    - Dst: astyle::ASFormatter::commentAndHeaderFollows
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2690,1
    - Dst: astyle::ASFormatter::getNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2694,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 1
    argNames:
    - emptyLineWasDeleted
    argTypes:
    - bool
    assertStmts:
    - condition: (computeChecksumIn(currentLine))
      pos:
        line_end: 2626
        line_start: 2626
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 2698
      start: 2615
    functionDepth: 3
    functionLinenumber: 2615
    functionLinenumberEnd: 2698
    functionName: astyle::ASFormatter::getNextLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - size
    - astyle::ASFormatter::initNewLine
    - astyle::ASFormatter::isBraceType
    - length
    - assert
    - string
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::computeChecksumIn
    - astyle::ASFormatter::nextLine
    - astyle::ASFormatter::getNextLine
    - astyle::ASFormatter::hasMoreLines
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::commentAndHeaderFollows
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::getNextLine(bool emptyLineWasDeleted /*false*/)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2706,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2707,1
    - Dst: getPreprocDefineIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2712,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2723,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2725,1
    - Dst: replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2730,1
    - Dst: astyle::ASFormatter::trimContinuationLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2736,1
    - Dst: astyle::ASFormatter::trimContinuationLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2746,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2763,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2770,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2773,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2774,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2777,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2781,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2785,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2788,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2790,1
    - Dst: astyle::ASFormatter::isExecSQL
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2791,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2795,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2801,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2806,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2806,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2704
    functionDepth: 3
    functionLinenumber: 2704
    functionLinenumberEnd: 2818
    functionName: astyle::ASFormatter::initNewLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find
    - find_first_not_of
    - compare
    - isWhiteSpace
    - length
    - getPreprocDefineIndent
    - replace
    - astyle::ASFormatter::isExecSQL
    - getTabLength
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::trimContinuationLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::initNewLine()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2830,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2832,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2837,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2838,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2839,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ch
    - canBreakLine
    argTypes:
    - char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2827
    functionDepth: 3
    functionLinenumber: 2827
    functionLinenumberEnd: 2842
    functionName: astyle::ASFormatter::appendChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - append
    - length
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendChar(char ch, bool canBreakLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2855,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2856,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2857,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' sequence'
    - canBreakLine
    argTypes:
    - string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2852
    functionDepth: 3
    functionLinenumber: 2852
    functionLinenumberEnd: 2859
    functionName: astyle::ASFormatter::appendSequence
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached:
    - append
    - length
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendSequence(const string& sequence, bool canBreakLine)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2871,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2872,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2876,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2877,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2878,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' sequence'
    - canBreakLine
    argTypes:
    - string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2868
    functionDepth: 3
    functionLinenumber: 2868
    functionLinenumberEnd: 2881
    functionName: astyle::ASFormatter::appendOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - append
    - length
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPointsOperator
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendOperator(const string& sequence, bool canBreakLine)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2889,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2890,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2892,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2897,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2898,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2899,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2887
    functionDepth: 3
    functionLinenumber: 2887
    functionLinenumberEnd: 2903
    functionName: astyle::ASFormatter::appendSpacePad
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 13
    functionsReached:
    - isWhiteSpace
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - length
    - append
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendSpacePad()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2911,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2912,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2914,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2919,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2920,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2921,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2909
    functionDepth: 3
    functionLinenumber: 2909
    functionLinenumberEnd: 2925
    functionName: astyle::ASFormatter::appendSpaceAfter
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached:
    - isWhiteSpace
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - length
    - append
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::updateFormattedLineSplitPoints
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendSpaceAfter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2937,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - isSplitLine
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2930
    functionDepth: 1
    functionLinenumber: 2930
    functionLinenumberEnd: 2954
    functionName: astyle::ASFormatter::breakLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 13
    functionsReached:
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::breakLine(bool isSplitLine /*false*/)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2969,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2974,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:2974,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3005,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3014,1
    - Dst: astyle::ASFormatter::isNextWordSharpNonParenHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3014,1
    - Dst: astyle::ASFormatter::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3026,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3040,1
    - Dst: astyle::ASFormatter::isNonInStatementArrayBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3042,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3047,1
    - Dst: astyle::ASFormatter::isUniformInitializerBrace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3049,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '{')
      pos:
        line_end: 2968
        line_start: 2968
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3054
      start: 2967
    functionDepth: 3
    functionLinenumber: 2967
    functionLinenumberEnd: 3054
    functionName: astyle::ASFormatter::getBraceType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - isSharpStyle
    - back
    - astyle::ASFormatter::isNonInStatementArrayBrace
    - assert
    - astyle::ASFormatter::isNextWordSharpNonParenHeader
    - astyle::ASFormatter::isOneLineBlockReached
    - astyle::ASFormatter::isUniformInitializerBrace
    linkageType: ''
    returnType: BraceType
    signature: BraceType ASFormatter::getBraceType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3066,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3067,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3067,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 1
    argNames:
    - word
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3084
    functionName: astyle::ASFormatter::isNumericVariable
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - string::length
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNumericVariable(string word) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3093,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3094,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3094,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3103,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == ':')
      pos:
        line_end: 3092
        line_start: 3092
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (previousChar != ':' && peekNextChar() != ':')
      pos:
        line_end: 3093
        line_start: 3093
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3120
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3120
    functionName: astyle::ASFormatter::isClassInitializer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - assert
    - astyle::ASFormatter::peekNextChar
    - back
    - isCStyle
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isClassInitializer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3130
    functionName: astyle::ASFormatter::isEmptyLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached:
    - find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isEmptyLine(const string& line) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3140,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3140,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3141,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3144,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!isWhiteSpace(currentLine[charNum]))
      pos:
        line_end: 3139
        line_start: 3139
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3150
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3150
    functionName: astyle::ASFormatter::isExternC
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - compare
    - isWhiteSpace
    - find_first_of
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isExternC() const
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3163,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3165,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3172,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3173,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3177,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3177,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3178,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3180,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3181,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3187,1
    - Dst: astyle::ASFormatter::isPointerToPointer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3190,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3194,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3213,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3214,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3214,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3215,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3219,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3219,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3219,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3235,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3235,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3236,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3237,1
    - Dst: astyle::ASFormatter::isArrayOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3240,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3245,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3246,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3247,1
    - Dst: astyle::ASFormatter::getFollowingOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3251,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3261,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3261,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3268,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3281,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3284,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3285,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3291,1
    - Dst: astyle::ASFormatter::isImmediatelyPostCast
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3293,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3295,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3299,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 3162
        line_start: 3162
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3303
      start: 3161
    functionDepth: 2
    functionLinenumber: 3161
    functionLinenumberEnd: 3303
    functionName: astyle::ASFormatter::isPointerOrReference
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::isPointerToPointer
    - isWhiteSpace
    - substr
    - assert
    - astyle::ASFormatter::peekNextText
    - astyle::ASFormatter::isImmediatelyPostCast
    - string::length
    - astyle::ASFormatter::getFollowingOperator
    - isJavaStyle
    - isDigit
    - find_first_not_of
    - astyle::ASFormatter::getPreviousWord
    - astyle::ASFormatter::isArrayOperator
    - astyle::ASFormatter::isPointerOrReferenceVariable
    - string::empty
    - compare
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - back
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerOrReference() const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3315,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3332,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3337,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3345,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3351,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3352,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3352,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3353,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3356,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3356,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3357,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3371,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3371,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3372,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3375,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3379,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3382,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3383,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3383,1
    - Dst: ispunct
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3384,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 3314
        line_start: 3314
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3388
      start: 3313
    functionDepth: 2
    functionLinenumber: 3313
    functionLinenumberEnd: 3388
    functionName: astyle::ASFormatter::isDereferenceOrAddressOf
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - astyle::ASFormatter::getPreviousWord
    - astyle::ASFormatter::isBraceType
    - length
    - astyle::ASFormatter::peekNextText
    - isLegalNameChar
    - astyle::ASFormatter::isPointerOrReferenceVariable
    - string::length
    - substr
    - astyle::ASFormatter::peekNextChar
    - ispunct
    - back
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isDereferenceOrAddressOf() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3400,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3403,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3406,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 3399
        line_start: 3399
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3435
      start: 3398
    functionDepth: 1
    functionLinenumber: 3398
    functionLinenumberEnd: 3435
    functionName: astyle::ASFormatter::isPointerOrReferenceCentered
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::peekNextChar
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerOrReferenceCentered() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3447,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3448,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - ' word'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3442
    functionDepth: 0
    functionLinenumber: 3442
    functionLinenumberEnd: 3451
    functionName: astyle::ASFormatter::isPointerOrReferenceVariable
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerOrReferenceVariable(const string& word)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3460,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3460,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3461,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3463,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[currPos] == '*' && peekNextChar() == '*')
      pos:
        line_end: 3459
        line_start: 3459
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3472
      start: 3458
    functionDepth: 1
    functionLinenumber: 3458
    functionLinenumberEnd: 3472
    functionName: astyle::ASFormatter::isPointerToPointer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::peekNextChar
    - find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isPointerToPointer(const string& line, int currPos)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3483,1
    - Dst: isdigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3488,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3488,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3490,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3493,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3498,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3499,1
    - Dst: astyle::ASFormatter::isNumericVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3501,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3506,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '+' || currentChar == '-')
      pos:
        line_end: 3482
        line_start: 3482
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3511
      start: 3481
    functionDepth: 2
    functionLinenumber: 3481
    functionLinenumberEnd: 3511
    functionName: astyle::ASFormatter::isUnaryOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 1
    functionsReached:
    - string::empty
    - astyle::ASFormatter::getPreviousWord
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isNumericVariable
    - rfind
    - isdigit
    - assert
    - find_last_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isUnaryOperator() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3520,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3521,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3522,1
    - Dst: at
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInLineComment || isInComment)
      pos:
        line_end: 3519
        line_start: 3519
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3526
      start: 3518
    functionDepth: 1
    functionLinenumber: 3518
    functionLinenumberEnd: 3526
    functionName: astyle::ASFormatter::isInSwitchStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 3
    functionsReached:
    - at
    - assert
    - size
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isInSwitchStatement() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3536,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '+' || currentChar == '-')
      pos:
        line_end: 3535
        line_start: 3535
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3546
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3546
    functionName: astyle::ASFormatter::isInExponent
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - assert
    - isDigit
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isInExponent() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3556,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3563,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3564,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3553
    functionDepth: 2
    functionLinenumber: 3553
    functionLinenumberEnd: 3573
    functionName: astyle::ASFormatter::isNonInStatementArrayBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNonInStatementArrayBrace() const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3587,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3593,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3604,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3622,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3629,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3632,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3650,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3652,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3663,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 2
    argNames:
    - ' line'
    - startChar
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[startChar] == '{')
      pos:
        line_end: 3586
        line_start: 3586
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3671
      start: 3585
    functionDepth: 1
    functionLinenumber: 3585
    functionLinenumberEnd: 3671
    functionName: astyle::ASFormatter::isOneLineBlockReached
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 5
    functionsReached:
    - find_first_not_of
    - compare
    - isWhiteSpace
    - length
    - back
    - assert
    - isDigitSeparator
    linkageType: ''
    returnType: int
    signature: int ASFormatter::isOneLineBlockReached(const string& line, int startChar)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3683,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3683,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3684,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3688,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3690,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3690,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3691,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - startChar
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3694
      start: 3680
    functionDepth: 2
    functionLinenumber: 3680
    functionLinenumberEnd: 3694
    functionName: astyle::ASFormatter::isNextWordSharpNonParenHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - findKeyword
    - astyle::ASFormatter::peekNextText
    - string::length
    - substr
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNextWordSharpNonParenHeader(int startChar) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3707,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3707,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3708,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - startChar
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3712
      start: 3704
    functionDepth: 2
    functionLinenumber: 3704
    functionLinenumberEnd: 3712
    functionName: astyle::ASFormatter::isNextCharOpeningBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::peekNextText
    - string::compare
    - substr
    - string::length
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNextCharOpeningBrace(int startChar) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3722,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3725,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3729,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3720
    functionDepth: 1
    functionLinenumber: 3720
    functionLinenumberEnd: 3740
    functionName: astyle::ASFormatter::isOperatorPaddingDisabled
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isOperatorPaddingDisabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3748,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3746
    functionDepth: 0
    functionLinenumber: 3746
    functionLinenumberEnd: 3756
    functionName: astyle::ASFormatter::isUniformInitializerBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isLegalNameChar
    - isCStyle
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isUniformInitializerBrace() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3763,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3770,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3774,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3780,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3785,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((isImmediatelyPostHeader || foundClosingHeader))
      pos:
        line_end: 3762
        line_start: 3762
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3829
      start: 3761
    functionDepth: 0
    functionLinenumber: 3761
    functionLinenumberEnd: 3829
    functionName: astyle::ASFormatter::isMultiStatementLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - assert
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isMultiStatementLine() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3841,1
    - Dst: getPeekStart
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3841,1
    - Dst: make_shared<ASPeekStream>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3847,1
    - Dst: shared_ptr::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3851,1
    - Dst: shared_ptr::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3856,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3858,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3866,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3874,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3879,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3884,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3894,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 3
    argNames:
    - ' firstLine'
    - endOnEmptyLine
    - streamArg
    argTypes:
    - string
    - bool
    - shared_ptr<ASPeekStream>
    assertStmts:
    - condition: (sourceIterator->getPeekStart() == 0 || streamArg != nullptr)
      pos:
        line_end: 3840
        line_start: 3840
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3896
      start: 3837
    functionDepth: 1
    functionLinenumber: 3837
    functionLinenumberEnd: 3896
    functionName: astyle::ASFormatter::peekNextText
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 14
    functionsReached:
    - string::compare
    - string::find
    - shared_ptr::hasMoreLines
    - make_shared<ASPeekStream>
    - string::find_first_not_of
    - getPeekStart
    - shared_ptr::peekNextLine
    - string::substr
    - assert
    linkageType: ''
    returnType: string
    signature: "string ASFormatter::peekNextText(const string& firstLine,\n                                 bool
      endOnEmptyLine /*false*/,\n                                 shared_ptr<ASPeekStream>
      streamArg /*nullptr*/) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3905,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3906,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3906,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3906,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3909,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3911,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3915,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3917,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3921,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3929,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3936,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3939,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3941,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3943,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (spacePadNum != 0)
      pos:
        line_end: 3904
        line_start: 3904
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isSequenceReached("//") || isSequenceReached("/*"))
      pos:
        line_end: 3905
        line_start: 3905
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3945
      start: 3903
    functionDepth: 1
    functionLinenumber: 3903
    functionLinenumberEnd: 3945
    functionName: astyle::ASFormatter::adjustComments
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find
    - compare
    - find_first_not_of
    - length
    - append
    - astyle::ASFormatter::isSequenceReached
    - resize
    - assert
    - find_last_not_of
    linkageType: ''
    returnType: void
    signature: void ASFormatter::adjustComments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3957,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3960,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3960,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3961,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3965,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3968,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3975,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3977,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3979,1
    - Dst: astyle::ASFormatter::isBeforeComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3981,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(formattedLine.compare(formattedLineCommentNum, 2, \"//\") == 0\n\t
        \      || formattedLine.compare(formattedLineCommentNum, 2, \"/*\") == 0)"
      pos:
        line_end: 3960
        line_start: 3959
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 3985
      start: 3952
    functionDepth: 3
    functionLinenumber: 3952
    functionLinenumberEnd: 3985
    functionName: astyle::ASFormatter::appendCharInsideComments
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - insert
    - compare
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::isBeforeComment
    - astyle::ASFormatter::appendCurrentChar
    - assert
    - find_last_not_of
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendCharInsideComments()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3996,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3997,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:3999,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4009,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4010,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4024,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4028,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4031,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4036,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4050,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4051,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4053,1
    - Dst: astyle::ASFormatter::appendOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4054,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4055,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4055,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4057,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4061,1
    - Dst: astyle::ASFormatter::isUnaryOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4062,1
    - Dst: astyle::ASFormatter::isUnaryOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4063,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4064,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4065,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4066,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4067,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4068,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4070,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 10
    argCount: 1
    argNames:
    - newOperator
    argTypes:
    - string*
    assertStmts:
    - condition: (newOperator != nullptr)
      pos:
        line_end: 3996
        line_start: 3996
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadOperators)
      pos:
        line_end: 3995
        line_start: 3995
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4071
      start: 3994
    functionDepth: 2
    functionLinenumber: 3994
    functionLinenumberEnd: 4071
    functionName: astyle::ASFormatter::padOperators
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::goForward
    - find
    - astyle::ASFormatter::isUnaryOperator
    - compare
    - astyle::ASFormatter::appendOperator
    - astyle::ASBase::peekNextChar
    - isSharpStyle
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::peekNextChar
    - string*::length
    - astyle::ASFormatter::appendSpaceAfter
    - assert
    - astyle::ASFormatter::isInExponent
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padOperators(const string* newOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4084,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4085,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4085,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4094,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4099,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceCast
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4108,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4114,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4115,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4116,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4116,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4118,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4118,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceToType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4124,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceToMiddle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4128,1
    - Dst: astyle::ASFormatter::formatPointerOrReferenceToName
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4132,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4136,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4136,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4138,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4083
        line_start: 4083
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4084
        line_start: 4084
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4140
      start: 4082
    functionDepth: 3
    functionLinenumber: 4082
    functionLinenumberEnd: 4140
    functionName: astyle::ASFormatter::formatPointerOrReference
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - astyle::ASFormatter::formatPointerOrReferenceToName
    - isWhiteSpace
    - length
    - append
    - astyle::ASFormatter::formatPointerOrReferenceToMiddle
    - astyle::ASFormatter::formatPointerOrReferenceCast
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::formatPointerOrReferenceToType
    - assert
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReference()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4147,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4148,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4148,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceCentered
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4151,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4154,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4156,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4160,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4161,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4169,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4170,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4172,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4173,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4175,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4176,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4177,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4179,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4181,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4182,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4184,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4187,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4187,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4189,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4189,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4193,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4195,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4196,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4198,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4199,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4146
        line_start: 4146
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4147
        line_start: 4147
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4202
      start: 4145
    functionDepth: 3
    functionLinenumber: 4145
    functionLinenumberEnd: 4202
    functionName: astyle::ASFormatter::formatPointerOrReferenceToType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isJavaStyle
    - string::append
    - astyle::ASFormatter::goForward
    - erase
    - isWhiteSpace
    - length
    - append
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - string::length
    - astyle::ASFormatter::isPointerOrReferenceCentered
    - astyle::ASFormatter::peekNextChar
    - substr
    - resize
    - assert
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceToType()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4209,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4210,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4210,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4213,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4219,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4221,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4225,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4226,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4233,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4239,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4240,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4240,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4241,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4244,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4246,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4247,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4248,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4255,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4258,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4259,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4265,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4265,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4267,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4268,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4269,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4274,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4275,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4282,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4283,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4284,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4286,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4292,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4301,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4302,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4303,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4305,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4309,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4312,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4316,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4318,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4319,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4322,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4323,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4208
        line_start: 4208
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4209
        line_start: 4209
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4326
      start: 4207
    functionDepth: 3
    functionLinenumber: 4207
    functionLinenumberEnd: 4326
    functionName: astyle::ASFormatter::formatPointerOrReferenceToMiddle
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isJavaStyle
    - string::append
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - insert
    - isWhiteSpace
    - length
    - append
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendSpaceAfter
    - assert
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceToMiddle()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4333,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4334,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4334,1
    - Dst: astyle::ASFormatter::isPointerOrReferenceCentered
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4337,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4339,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4343,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4345,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4349,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4350,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4357,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4360,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4361,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4361,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4362,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4364,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4367,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4368,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4373,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4373,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4379,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4383,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4384,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4385,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4393,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4394,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4395,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4398,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4399,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4400,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4402,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4405,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4408,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4409,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4411,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4413,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4419,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4421,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4422,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4423,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4425,1
    - Dst: find_last_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4432,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4434,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4439,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4440,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!isJavaStyle())
      pos:
        line_end: 4333
        line_start: 4333
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4332
        line_start: 4332
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4443
      start: 4331
    functionDepth: 3
    functionLinenumber: 4331
    functionLinenumberEnd: 4443
    functionName: astyle::ASFormatter::formatPointerOrReferenceToName
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - insert
    - isWhiteSpace
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - assert
    - append
    - astyle::ASFormatter::appendSpaceAfter
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - isJavaStyle
    - find_first_not_of
    - erase
    - string::append
    - astyle::ASFormatter::goForward
    - length
    - isLegalNameChar
    - find_last_of
    - astyle::ASFormatter::isPointerOrReferenceCentered
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendSequence
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceToName()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4454,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4455,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4455,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4463,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4463,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4465,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4466,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4470,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4475,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4482,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4483,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4485,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4486,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4489,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4490,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4493,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4494,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4501,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4503,1
    - Dst: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4504,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4504,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4505,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4508,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 4453
        line_start: 4453
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isJavaStyle())
      pos:
        line_end: 4454
        line_start: 4454
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4509
      start: 4452
    functionDepth: 2
    functionLinenumber: 4452
    functionLinenumberEnd: 4509
    functionName: astyle::ASFormatter::formatPointerOrReferenceCast
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isJavaStyle
    - astyle::ASFormatter::goForward
    - string::append
    - isWhiteSpace
    - length
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::appendSequence
    - assert
    - find_last_not_of
    - astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatPointerOrReferenceCast()
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4519,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4520,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4527,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4535,1
    - Dst: astyle::ASFormatter::getPreviousWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4548,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4548,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4551,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4552,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4553,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4561,1
    - Dst: astyle::ASFormatter::isNumericVariable
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4566,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4594,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4600,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4602,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4606,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4609,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4614,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4621,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4626,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4632,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4635,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4642,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4643,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4645,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4650,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4658,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4660,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4681,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4689,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '(' || currentChar == ')')
      pos:
        line_end: 4518
        line_start: 4518
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadParensOutside || shouldPadParensInside || shouldUnPadParens
        || shouldPadFirstParen)
      pos:
        line_end: 4519
        line_start: 4519
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4691
      start: 4517
    functionDepth: 2
    functionLinenumber: 4517
    functionLinenumberEnd: 4691
    functionName: astyle::ASFormatter::padParens
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - erase
    - find_first_not_of
    - astyle::ASFormatter::getPreviousWord
    - isCStyle
    - length
    - astyle::ASBase::findHeader
    - astyle::ASFormatter::appendSpacePad
    - string::length
    - astyle::ASFormatter::isNumericVariable
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::appendSpaceAfter
    - assert
    - find_last_not_of
    - isCharPotentialHeader
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padParens()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4701,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4702,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4704,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4707,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4709,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4716,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4721,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInObjCMethodDefinition && isImmediatelyPostObjCMethodPrefix)
      pos:
        line_end: 4700
        line_start: 4700
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadMethodPrefix || shouldUnPadMethodPrefix)
      pos:
        line_end: 4701
        line_start: 4701
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4735
      start: 4699
    functionDepth: 1
    functionLinenumber: 4699
    functionLinenumberEnd: 4735
    functionName: astyle::ASFormatter::padObjCMethodPrefix
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - insert
    - length
    - find_first_of
    - assert
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCMethodPrefix()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4744,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4745,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4747,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4757,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4759,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4766,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4775,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4777,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4778,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4779,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == ')' && isInObjCReturnType)
      pos:
        line_end: 4743
        line_start: 4743
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadReturnType || shouldUnPadReturnType)
      pos:
        line_end: 4744
        line_start: 4744
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4785
      start: 4742
    functionDepth: 1
    functionLinenumber: 4742
    functionLinenumberEnd: 4785
    functionName: astyle::ASFormatter::padObjCReturnType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - length
    - append
    - resize
    - assert
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCReturnType()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4794,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4795,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4796,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4801,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4802,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4803,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4814,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4819,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4831,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4838,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4848,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4850,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4857,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4866,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4869,1
    - Dst: resize
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4870,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4875,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((currentChar == '(' || currentChar == ')') && isInObjCMethodDefinition)
      pos:
        line_end: 4793
        line_start: 4793
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (paramOpen != string::npos)
      pos:
        line_end: 4801
        line_start: 4801
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (!isImmediatelyPostObjCMethodPrefix && !isInObjCReturnType)
      pos:
        line_end: 4794
        line_start: 4794
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldPadParamType || shouldUnPadParamType)
      pos:
        line_end: 4795
        line_start: 4795
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 4880
      start: 4792
    functionDepth: 1
    functionLinenumber: 4792
    functionLinenumberEnd: 4880
    functionName: astyle::ASFormatter::padObjCParamType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - insert
    - length
    - append
    - rfind
    - resize
    - assert
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCParamType()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4892,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4892,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4893,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4895,1
    - Dst: astyle::ASFormatter::isCurrentBraceBroken
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4897,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4901,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4901,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4901,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4904,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4907,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4908,1
    - Dst: astyle::ASFormatter::isBeforeMultipleLineEndComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4913,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4914,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4916,1
    - Dst: rtrim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4918,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4919,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4921,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4922,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4923,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4925,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4927,1
    - Dst: astyle::ASFormatter::isBeforeComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4931,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4932,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4934,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4946,1
    - Dst: astyle::ASFormatter::appendCharInsideComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4954,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4958,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4965,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4970,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4971,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4972,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4976,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4978,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4979,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4980,1
    - Dst: astyle::ASFormatter::isBeforeComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4983,1
    - Dst: astyle::ASFormatter::isBeforeMultipleLineEndComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4984,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4985,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4988,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4990,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:4999,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5000,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5005,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5006,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5013,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5014,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 70
    argCount: 1
    argNames:
    - braceType
    argTypes:
    - BraceType
    assertStmts:
    - condition: (!isBraceType(braceType, ARRAY_TYPE))
      pos:
        line_end: 4891
        line_start: 4891
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (currentChar == '{')
      pos:
        line_end: 4892
        line_start: 4892
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5018
      start: 4890
    functionDepth: 3
    functionLinenumber: 4890
    functionLinenumberEnd: 5018
    functionName: astyle::ASFormatter::formatOpeningBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - insert
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - astyle::ASFormatter::isBeforeComment
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - astyle::ASFormatter::isCurrentBraceBroken
    - pop_back
    - size
    - astyle::ASFormatter::appendCharInsideComments
    - rtrim
    - astyle::ASFormatter::isBeforeMultipleLineEndComments
    - astyle::ASFormatter::hasMoreLines
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::isEmptyLine
    - emplace_back
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::isBraceType
    - length
    - astyle::ASFormatter::appendCurrentChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatOpeningBrace(BraceType braceType)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5029,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5029,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5030,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5033,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5034,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5044,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5047,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5051,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5051,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5053,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5054,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5059,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5060,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5061,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5062,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5065,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5066,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5067,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5069,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5070,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5074,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5078,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5078,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5079,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5084,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5089,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5089,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5090,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5091,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 32
    argCount: 1
    argNames:
    - braceType
    argTypes:
    - BraceType
    assertStmts:
    - condition: (!isBraceType(braceType, ARRAY_TYPE))
      pos:
        line_end: 5028
        line_start: 5028
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (currentChar == '}')
      pos:
        line_end: 5029
        line_start: 5029
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5097
      start: 5027
    functionDepth: 2
    functionLinenumber: 5027
    functionLinenumberEnd: 5097
    functionName: astyle::ASFormatter::formatClosingBrace
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - pop_back
    - size
    - find_first_not_of
    - astyle::ASFormatter::isBraceType
    - astyle::ASFormatter::peekNextText
    - isLegalNameChar
    - astyle::ASFormatter::breakLine
    - string::length
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::appendSpaceAfter
    - back
    - astyle::ASFormatter::isOkToBreakBlock
    - string::substr
    - assert
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatClosingBrace(BraceType braceType)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5111,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5111,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5112,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5123,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5127,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5131,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5132,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5136,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5141,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5143,1
    - Dst: astyle::ASFormatter::appendCharInsideComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5145,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5150,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5151,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5156,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5158,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5159,1
    - Dst: astyle::ASFormatter::testForTimeToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5161,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5172,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5173,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5175,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5182,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5182,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5183,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5184,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5184,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5187,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5196,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5197,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5199,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5203,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5208,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5208,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5209,1
    - Dst: astyle::ASFormatter::isBeforeAnyComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5210,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5210,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5213,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5222,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5223,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5225,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5232,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5239,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5240,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5242,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5251,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5252,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5252,1
    - Dst: astyle::ASFormatter::formatArrayRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5254,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5257,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5257,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5259,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5260,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5260,1
    - Dst: astyle::ASFormatter::formatArrayRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5262,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5264,1
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5271,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5275,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5278,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5279,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5286,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5287,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5288,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5289,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5290,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5294,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5295,1
    - Dst: astyle::ASFormatter::appendSpaceAfter
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5297,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 106
    argCount: 2
    argNames:
    - braceType
    - isOpeningArrayBrace
    argTypes:
    - BraceType
    - bool
    assertStmts:
    - condition: (currentChar == '{' || currentChar == '}')
      pos:
        line_end: 5111
        line_start: 5111
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isBraceType(braceType, ARRAY_TYPE))
      pos:
        line_end: 5110
        line_start: 5110
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5299
      start: 5109
    functionDepth: 3
    functionLinenumber: 5109
    functionLinenumberEnd: 5299
    functionName: astyle::ASFormatter::formatArrayBraces
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isWhiteSpace
    - astyle::ASFormatter::isBeforeAnyComment
    - astyle::ASFormatter::testForTimeToSplitFormattedLine
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - find
    - size
    - astyle::ASFormatter::appendCharInsideComments
    - astyle::ASFormatter::appendSpaceAfter
    - astyle::ASFormatter::hasMoreLines
    - astyle::ASFormatter::breakLine
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - astyle::ASFormatter::formatArrayRunIn
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatArrayBraces(BraceType braceType, bool isOpeningArrayBrace)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5307,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5311,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5311,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5315,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5320,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5323,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5323,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5331,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5332,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5333,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5333,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5334,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5334,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5337,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5338,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5339,1
    - Dst: getModifierIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5341,1
    - Dst: getClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5343,1
    - Dst: getClassIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5346,1
    - Dst: getSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5351,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5352,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5353,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5354,1
    - Dst: getSwitchIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5358,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5359,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5360,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5361,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5362,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5367,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5368,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5369,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5373,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5375,1
    - Dst: getForceTabIndentation
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5377,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5377,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5377,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5381,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5382,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5383,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5385,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5387,1
    - Dst: string::replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5388,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5391,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5392,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5394,1
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5396,1
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5400,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5406,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5407,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5411,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (braceFormatMode == RUN_IN_MODE || braceFormatMode == NONE_MODE)
      pos:
        line_end: 5306
        line_start: 5306
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5416
      start: 5305
    functionDepth: 2
    functionLinenumber: 5305
    functionLinenumberEnd: 5416
    functionName: astyle::ASFormatter::formatRunIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 5
    functionsReached:
    - getSwitchIndent
    - getForceTabIndentation
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    - getModifierIndent
    - findKeyword
    - isCStyle
    - getIndentString
    - append
    - string::length
    - find_last_not_of
    - string::replace
    - find_first_not_of
    - getIndentLength
    - getClassIndent
    - getTabLength
    - erase
    - empty
    - isCharPotentialHeader
    - string::append
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - astyle::ASFormatter::appendChar
    - back
    - string::erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatRunIn()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5423,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5423,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5423,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5426,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5429,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5434,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5435,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5436,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5438,1
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5440,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5445,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isBraceType(braceTypeStack->back(), ARRAY_TYPE))
      pos:
        line_end: 5422
        line_start: 5422
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5451
      start: 5421
    functionDepth: 2
    functionLinenumber: 5421
    functionLinenumberEnd: 5451
    functionName: astyle::ASFormatter::formatArrayRunIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - getIndentLength
    - astyle::ASFormatter::isBraceType
    - getIndentString
    - length
    - append
    - astyle::ASFormatter::appendChar
    - back
    - assert
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatArrayRunIn()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - vector<BraceType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5465
      start: 5457
    functionDepth: 1
    functionLinenumber: 5457
    functionLinenumberEnd: 5465
    functionName: astyle::ASFormatter::deleteContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ASFormatter::deleteContainer(vector<BraceType>*& container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5481
      start: 5473
    functionDepth: 1
    functionLinenumber: 5473
    functionLinenumberEnd: 5481
    functionName: astyle::ASFormatter::deleteContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ASFormatter::deleteContainer(T& container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - vector<BraceType>*
    - vector<BraceType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5492
      start: 5487
    functionDepth: 2
    functionLinenumber: 5487
    functionLinenumberEnd: 5492
    functionName: astyle::ASFormatter::initContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::deleteContainer
    linkageType: ''
    returnType: void
    signature: void ASFormatter::initContainer(vector<BraceType>*& container, vector<BraceType>*
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::deleteContainer
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5507
      start: 5500
    functionDepth: 2
    functionLinenumber: 5500
    functionLinenumberEnd: 5507
    functionName: astyle::ASFormatter::initContainer
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::deleteContainer
    linkageType: ''
    returnType: void
    signature: void ASFormatter::initContainer(T& container, T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5519,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5525,1
    - Dst: replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '\t')
      pos:
        line_end: 5518
        line_start: 5518
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5529
      start: 5517
    functionDepth: 0
    functionLinenumber: 5517
    functionLinenumberEnd: 5529
    functionName: astyle::ASFormatter::convertTabToSpaces
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached:
    - assert
    - replace
    - getTabLength
    linkageType: ''
    returnType: void
    signature: void ASFormatter::convertTabToSpaces()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5539,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5540,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5542,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5543,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5545,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - braceType
    argTypes:
    - BraceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5534
    functionDepth: 1
    functionLinenumber: 5534
    functionLinenumberEnd: 5550
    functionName: astyle::ASFormatter::isOkToBreakBlock
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 10
    functionsReached:
    - astyle::ASFormatter::isBraceType
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isOkToBreakBlock(BraceType braceType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5557,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5560
      start: 5555
    functionDepth: 1
    functionLinenumber: 5555
    functionLinenumberEnd: 5560
    functionName: astyle::ASFormatter::isSharpStyleWithParen
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::peekNextChar
    - isSharpStyle
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isSharpStyleWithParen(const string* header) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5569,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5570,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5570,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5573,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5575,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5577,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5577,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ' firstLine'
    argTypes:
    - string
    assertStmts:
    - condition: (isInComment || isInLineComment)
      pos:
        line_end: 5568
        line_start: 5568
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (shouldBreakElseIfs || shouldBreakBlocks || isInSwitchStatement())
      pos:
        line_end: 5569
        line_start: 5569
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5581
      start: 5567
    functionDepth: 2
    functionLinenumber: 5567
    functionLinenumberEnd: 5581
    functionName: astyle::ASFormatter::checkForHeaderFollowingComment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::isInSwitchStatement
    - astyle::ASFormatter::peekNextText
    - astyle::ASBase::findHeader
    - string::length
    - assert
    - isCharPotentialHeader
    linkageType: ''
    returnType: string
    signature: string * ASFormatter::checkForHeaderFollowingComment(const string&
      firstLine) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5592,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5594,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5599,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5601,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5603,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5609,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '#')
      pos:
        line_end: 5591
        line_start: 5591
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5614
      start: 5590
    functionDepth: 1
    functionLinenumber: 5590
    functionLinenumberEnd: 5614
    functionName: astyle::ASFormatter::processPreprocessor
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - compare
    - pop_back
    - size
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::processPreprocessor()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5623,1
    - Dst: make_shared<ASPeekStream>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5626,1
    - Dst: auto::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5627,1
    - Dst: auto::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5629,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5630,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5632,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5633,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5637,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5638,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5638,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5641,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shouldDeleteEmptyLines && shouldBreakBlocks)
      pos:
        line_end: 5622
        line_start: 5622
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5654
      start: 5620
    functionDepth: 2
    functionLinenumber: 5620
    functionLinenumberEnd: 5654
    functionName: astyle::ASFormatter::commentAndHeaderFollows
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - astyle::ASFormatter::peekNextText
    - astyle::ASBase::findHeader
    - make_shared<ASPeekStream>
    - string::find_first_not_of
    - string::length
    - auto::hasMoreLines
    - auto::peekNextLine
    - assert
    - astyle::ASFormatter::isClosingHeader
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::commentAndHeaderFollows()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5664,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5664,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5667,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5671,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5676,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5681,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5682,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5687,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5689,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5690,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5693,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5694,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5695,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5700,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5719,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5726,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5727,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5733,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5739,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5748,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5749,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5750,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5751,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5752,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (braceTypeStack->size() > 1)
      pos:
        line_end: 5663
        line_start: 5663
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5760
      start: 5662
    functionDepth: 1
    functionLinenumber: 5662
    functionLinenumberEnd: 5760
    functionName: astyle::ASFormatter::isCurrentBraceBroken
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - size
    - isCStyle
    - astyle::ASFormatter::isBraceType
    - astyle::ASFormatter::peekNextChar
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isCurrentBraceBroken() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5768,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5771,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5774,1
    - Dst: astyle::ASFormatter::formatCommentCloser
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5776,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5780,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5781,1
    - Dst: astyle::ASFormatter::stripCommentPrefix
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInComment)
      pos:
        line_end: 5767
        line_start: 5767
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5786
      start: 5766
    functionDepth: 3
    functionLinenumber: 5766
    functionLinenumberEnd: 5786
    functionName: astyle::ASFormatter::formatCommentBody
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - astyle::ASFormatter::formatCommentCloser
    - astyle::ASFormatter::stripCommentPrefix
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::isSequenceReached
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatCommentBody()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5795,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5795,1
    - Dst: astyle::ASFormatter::resetEndOfStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5800,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5808,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5808,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5810,1
    - Dst: astyle::ASFormatter::checkForHeaderFollowingComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5814,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5814,1
    - Dst: astyle::ASFormatter::adjustComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5817,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5818,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5825,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5825,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5834,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5839,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5840,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5840,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5846,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5847,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5860,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5861,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5872,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isSequenceReached("/*"))
      pos:
        line_end: 5794
        line_start: 5794
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5884
      start: 5793
    functionDepth: 3
    functionLinenumber: 5793
    functionLinenumberEnd: 5884
    functionName: astyle::ASFormatter::formatCommentOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::goForward
    - astyle::ASFormatter::formatRunIn
    - astyle::ASFormatter::resetEndOfStatement
    - astyle::ASFormatter::isInSwitchStatement
    - astyle::ASFormatter::isBraceType
    - length
    - astyle::ASFormatter::checkForHeaderFollowingComment
    - substr
    - astyle::ASFormatter::isSequenceReached
    - back
    - astyle::ASFormatter::adjustComments
    - astyle::ASFormatter::appendSequence
    - assert
    - astyle::ASFormatter::isClosingHeader
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatCommentOpener()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5892,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5892,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5896,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5897,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5899,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5901,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5903,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5903,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5905,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5905,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isSequenceReached("*/"))
      pos:
        line_end: 5891
        line_start: 5891
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5910
      start: 5890
    functionDepth: 2
    functionLinenumber: 5890
    functionLinenumberEnd: 5910
    functionName: astyle::ASFormatter::formatCommentCloser
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - astyle::ASFormatter::isBraceType
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::isSequenceReached
    - astyle::ASFormatter::appendSequence
    - back
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatCommentCloser()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5918,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5921,1
    - Dst: astyle::ASFormatter::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5926,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5927,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInLineComment)
      pos:
        line_end: 5917
        line_start: 5917
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 5939
      start: 5916
    functionDepth: 1
    functionLinenumber: 5916
    functionLinenumberEnd: 5939
    functionName: astyle::ASFormatter::formatLineCommentBody
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::convertTabToSpaces
    - astyle::ASFormatter::appendCurrentChar
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatLineCommentBody()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5948,1
    - Dst: astyle::ASFormatter::isSequenceReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5948,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5950,1
    - Dst: astyle::ASFormatter::resetEndOfStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5957,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5965,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5965,1
    - Dst: astyle::ASFormatter::isInSwitchStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5967,1
    - Dst: astyle::ASFormatter::checkForHeaderFollowingComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5971,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5971,1
    - Dst: astyle::ASFormatter::adjustComments
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5985,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5986,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:5997,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6002,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6008,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6025,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6026,1
    - Dst: astyle::ASFormatter::isClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6037,1
    - Dst: getIndentString
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6051,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6053,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6057,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6062,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isSequenceReached("//"))
      pos:
        line_end: 5947
        line_start: 5947
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6069
      start: 5946
    functionDepth: 3
    functionLinenumber: 5946
    functionLinenumberEnd: 6069
    functionName: astyle::ASFormatter::formatLineCommentOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::goForward
    - astyle::ASFormatter::formatRunIn
    - astyle::ASFormatter::resetEndOfStatement
    - astyle::ASFormatter::isInSwitchStatement
    - astyle::ASFormatter::isBraceType
    - getIndentString
    - length
    - astyle::ASFormatter::checkForHeaderFollowingComment
    - substr
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::isSequenceReached
    - back
    - astyle::ASFormatter::adjustComments
    - astyle::ASFormatter::appendSequence
    - assert
    - astyle::ASFormatter::isClosingHeader
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatLineCommentOpener()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6077,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6085,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6092,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6095,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6096,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6096,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6102,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6104,1
    - Dst: astyle::ASFormatter::appendSequence
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6107,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6108,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6120,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6126,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6131,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6134,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isInQuote)
      pos:
        line_end: 6076
        line_start: 6076
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6138
      start: 6075
    functionDepth: 2
    functionLinenumber: 6075
    functionLinenumberEnd: 6138
    functionName: astyle::ASFormatter::formatQuoteBody
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::goForward
    - isCStyle
    - length
    - isSharpStyle
    - string::length
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - astyle::ASFormatter::appendSequence
    - assert
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatQuoteBody()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6147,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6148,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6152,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6154,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6158,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6161,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6169,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6169,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6170,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6170,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6175,1
    - Dst: astyle::ASFormatter::formatRunIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6179,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6183,1
    - Dst: astyle::ASFormatter::appendCurrentChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6193,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(currentChar == '\"'\n\t       || (currentChar == '\\'' && !isDigitSeparator(currentLine,
        charNum)))"
      pos:
        line_end: 6147
        line_start: 6146
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6194
      start: 6145
    functionDepth: 3
    functionLinenumber: 6145
    functionLinenumberEnd: 6194
    functionName: astyle::ASFormatter::formatQuoteOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::formatRunIn
    - find
    - isWhiteSpace
    - isCStyle
    - astyle::ASFormatter::isBraceType
    - length
    - isSharpStyle
    - substr
    - astyle::ASFormatter::peekNextChar
    - astyle::ASFormatter::appendCurrentChar
    - back
    - assert
    - isDigitSeparator
    linkageType: ''
    returnType: void
    signature: void ASFormatter::formatQuoteOpener()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6203,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (foundClosingHeader && previousNonWSChar == '}')
      pos:
        line_end: 6202
        line_start: 6202
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6210
      start: 6201
    functionDepth: 0
    functionLinenumber: 6201
    functionLinenumberEnd: 6210
    functionName: astyle::ASFormatter::getNextLineCommentAdjustment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - assert
    - rfind
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getNextLineCommentAdjustment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6216
      start: 6213
    functionDepth: 0
    functionLinenumber: 6213
    functionLinenumberEnd: 6216
    functionName: astyle::ASFormatter::getLineEndFormat
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineEndFormat
    signature: LineEndFormat ASFormatter::getLineEndFormat() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6227,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (foundClosingHeader && previousNonWSChar == '}')
      pos:
        line_end: 6226
        line_start: 6226
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6234
      start: 6225
    functionDepth: 0
    functionLinenumber: 6225
    functionLinenumberEnd: 6234
    functionName: astyle::ASFormatter::getCurrentLineCommentAdjustment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - assert
    - rfind
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getCurrentLineCommentAdjustment()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6246,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6248,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6249,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6250,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6255,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6261
      start: 6242
    functionDepth: 1
    functionLinenumber: 6242
    functionLinenumberEnd: 6261
    functionName: astyle::ASFormatter::getPreviousWord
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached:
    - string
    - isLegalNameChar
    - find_last_not_of
    - substr
    linkageType: ''
    returnType: string
    signature: string ASFormatter::getPreviousWord(const string& line, int currPos)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6270,1
    - Dst: astyle::ASFormatter::appendClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6274,1
    - Dst: getBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6287,1
    - Dst: getBlockIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6287,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6293,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6295,1
    - Dst: getBraceIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6307,1
    - Dst: getBlockIndent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6307,1
    - Dst: astyle::ASFormatter::appendClosingHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6313,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (foundClosingHeader && previousNonWSChar == '}')
      pos:
        line_end: 6269
        line_start: 6269
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6318
      start: 6268
    functionDepth: 3
    functionLinenumber: 6268
    functionLinenumberEnd: 6318
    functionName: astyle::ASFormatter::isLineBreakBeforeClosingHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - getBraceIndent
    - getBlockIndent
    - astyle::ASFormatter::appendClosingHeader
    - assert
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::isLineBreakBeforeClosingHeader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::isEmptyLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6327,1
    - Dst: astyle::ASFormatter::findNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6329,1
    - Dst: astyle::ASFormatter::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6331,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6339
      start: 6323
    functionDepth: 2
    functionLinenumber: 6323
    functionLinenumberEnd: 6339
    functionName: astyle::ASFormatter::appendClosingHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::isEmptyLine
    - astyle::ASFormatter::isOneLineBlockReached
    - astyle::ASFormatter::findNextChar
    - astyle::ASFormatter::appendSpacePad
    linkageType: ''
    returnType: void
    signature: void ASFormatter::appendClosingHeader()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6348,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6369,1
    - Dst: astyle::ASFormatter::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6370,1
    - Dst: astyle::ASFormatter::findNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6376,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6381,1
    - Dst: append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6382,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6384,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6386,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6387,1
    - Dst: astyle::ASFormatter::computeChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6387,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6389,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6394,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6395,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6396,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isImmediatelyPostHeader)
      pos:
        line_end: 6347
        line_start: 6347
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (computeChecksumIn("{}"))
      pos:
        line_end: 6386
        line_start: 6386
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6399
      start: 6346
    functionDepth: 2
    functionLinenumber: 6346
    functionLinenumberEnd: 6399
    functionName: astyle::ASFormatter::addBracesToStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - insert
    - erase
    - astyle::ASFormatter::findNextChar
    - length
    - append
    - astyle::ASFormatter::findHeader
    - astyle::ASFormatter::computeChecksumIn
    - assert
    - find_last_not_of
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::addBracesToStatement()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6408,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6409,1
    - Dst: astyle::ASFormatter::isBeforeAnyLineEndComment
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6424,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6425,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6430,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6436,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6440,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6444,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6448,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6449,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6450,1
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6451,1
    - Dst: astyle::ASFormatter::findNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6457,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6464,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6470,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6473,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6477,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6482,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6482,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '{')
      pos:
        line_end: 6408
        line_start: 6408
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isImmediatelyPostHeader)
      pos:
        line_end: 6407
        line_start: 6407
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (adjustChecksumIn(-'{'))
      pos:
        line_end: 6481
        line_start: 6481
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6484
      start: 6406
    functionDepth: 2
    functionLinenumber: 6406
    functionLinenumberEnd: 6484
    functionName: astyle::ASFormatter::removeBracesFromStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - ASPeekStream::hasMoreLines
    - astyle::ASFormatter::findNextChar
    - astyle::ASFormatter::adjustChecksumIn
    - astyle::ASBase::findHeader
    - string::find_first_not_of
    - substr
    - string::length
    - assert
    - astyle::ASFormatter::isBeforeAnyLineEndComment
    - ASPeekStream::peekNextLine
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::removeBracesFromStatement()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6498,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6500,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6502,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6504,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6508,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6512,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6515,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6517,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6536,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 3
    argNames:
    - ' line'
    - searchChar
    - searchStart
    argTypes:
    - string
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6540
      start: 6494
    functionDepth: 1
    functionLinenumber: 6494
    functionLinenumberEnd: 6540
    functionName: astyle::ASFormatter::findNextChar
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 6
    functionsReached:
    - length
    - find
    - compare
    - isDigitSeparator
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::findNextChar(const string& line, char searchChar,
      int searchStart /*0*/) const
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6547,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6547,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6547,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6548,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6548,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6549,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6569,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6577,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6581,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6593,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6595,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6602,1
    - Dst: string::replace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6604,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6607,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6611,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6632,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6638,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6640,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6657,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6684,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6686,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6691,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6699,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6703,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6704,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6711,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6715,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6723,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6726,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6730,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6731,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6739,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6739,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6743,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 176
    argCount: 1
    argNames:
    - ' firstLine'
    argTypes:
    - string
    assertStmts:
    - condition: "((isBraceType(braceTypeStack->back(), NULL_TYPE)\n\t        || isBraceType(braceTypeStack->back(),
        DEFINITION_TYPE)))"
      pos:
        line_end: 6547
        line_start: 6546
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: "(shouldBreakReturnType || shouldBreakReturnTypeDecl\n\t       ||
        shouldAttachReturnType || shouldAttachReturnTypeDecl)"
      pos:
        line_end: 6549
        line_start: 6548
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6811
      start: 6545
    functionDepth: 1
    functionLinenumber: 6545
    functionLinenumberEnd: 6811
    functionName: astyle::ASFormatter::findReturnTypeSplitPoint
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - string::find
    - findKeyword
    - ASPeekStream::hasMoreLines
    - isWhiteSpace
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - getTabLength
    - string::find_first_not_of
    - string::length
    - back
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    - string::replace
    linkageType: ''
    returnType: void
    signature: void ASFormatter::findReturnTypeSplitPoint(const string& firstLine)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6822,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6823,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6823,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6827,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6834,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6839,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6841,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6843,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6845,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6849,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6870,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6876,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6878,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6889,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6891,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6892,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6893,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6895,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6896,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 2
    argNames:
    - ' firstLine'
    - index
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (firstLine[index] == '{')
      pos:
        line_end: 6821
        line_start: 6821
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isCStyle())
      pos:
        line_end: 6822
        line_start: 6822
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 6902
      start: 6820
    functionDepth: 0
    functionLinenumber: 6820
    functionLinenumberEnd: 6902
    functionName: astyle::ASFormatter::isStructAccessModified
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - findKeyword
    - ASPeekStream::hasMoreLines
    - isWhiteSpace
    - isCStyle
    - string::length
    - substr
    - getCurrentWord
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isStructAccessModified(const string& firstLine, size_t
      index) const
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6913,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6924,1
    - Dst: make_shared<ASPeekStream>
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6925,1
    - Dst: auto::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6931,1
    - Dst: auto::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6936,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6938,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6940,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6942,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6946,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6966,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6972,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6974,1
    - Dst: astyle::ASBeautifier::extractPreprocessorStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6980,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6981,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6981,1
    - Dst: astyle::ASFormatter::isNDefPreprocStatement
      Src: /src/geos/tools/astyle/ASFormatter.cpp:6990,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7004,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7010,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7023,1
    - Dst: tellg
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7036,1
    - Dst: getStreamLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7038,1
    - Dst: astyle::ASFormatter::peekNextText
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7047,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7052,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 98
    argCount: 2
    argNames:
    - ' firstLine'
    - index
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (firstLine[index] == '#')
      pos:
        line_end: 6912
        line_start: 6912
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7063
      start: 6911
    functionDepth: 2
    functionLinenumber: 6911
    functionLinenumberEnd: 7063
    functionName: astyle::ASFormatter::isIndentablePreprocessorBlock
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - getStreamLength
    - string::empty
    - isWhiteSpace
    - astyle::ASFormatter::peekNextText
    - astyle::ASBeautifier::extractPreprocessorStatement
    - make_shared<ASPeekStream>
    - string::length
    - substr
    - auto::hasMoreLines
    - string::substr
    - auto::peekNextLine
    - assert
    - isDigitSeparator
    - astyle::ASFormatter::isNDefPreprocStatement
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isIndentablePreprocessorBlock(const string& firstLine,
      size_t index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7072,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7075,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' nextLine_'
    - ' preproc'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7080
      start: 7065
    functionDepth: 1
    functionLinenumber: 7065
    functionLinenumberEnd: 7080
    functionName: astyle::ASFormatter::isNDefPreprocStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - find
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isNDefPreprocStatement(const string& nextLine_, const
      string& preproc) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7094,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7095,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7096,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7097,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7100,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7101,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7104,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7105,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7106,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7107,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7112
      start: 7089
    functionDepth: 2
    functionLinenumber: 7089
    functionLinenumberEnd: 7112
    functionName: astyle::ASFormatter::isExecSQL
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - toupper
    - find_first_not_of
    - string::length
    - getCurrentWord
    - string::erase
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isExecSQL(const string& line, size_t index) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7122,1
    - Dst: getTabLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7123,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7132,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7152,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7153,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7156,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7162
      start: 7120
    functionDepth: 1
    functionLinenumber: 7120
    functionLinenumberEnd: 7162
    functionName: astyle::ASFormatter::trimContinuationLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::append
    - isWhiteSpace
    - length
    - getTabLength
    - string
    linkageType: ''
    returnType: void
    signature: void ASFormatter::trimContinuationLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7174
      start: 7169
    functionDepth: 0
    functionLinenumber: 7169
    functionLinenumberEnd: 7174
    functionName: astyle::ASFormatter::isClosingHeader
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isClosingHeader(const string* header) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7183,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7186,1
    - Dst: string::rfind
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7193,1
    - Dst: string::find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (previousNonWSChar == ')' && currentChar == '*')
      pos:
        line_end: 7182
        line_start: 7182
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7208
      start: 7181
    functionDepth: 0
    functionLinenumber: 7181
    functionLinenumberEnd: 7208
    functionName: astyle::ASFormatter::isImmediatelyPostCast
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::find_last_not_of
    - assert
    - rfind
    - string::rfind
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isImmediatelyPostCast() const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7216,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7219,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7232,1
    - Dst: ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7239,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7244,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7246,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7249,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7251,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7255,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7276,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7282,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7284,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7323,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7324,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7341,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7346,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7353,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7354,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!isInTemplate && currentChar == '<')
      pos:
        line_end: 7215
        line_start: 7215
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7357
      start: 7214
    functionDepth: 0
    functionLinenumber: 7214
    functionLinenumberEnd: 7357
    functionName: astyle::ASFormatter::checkIfTemplateOpener
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - isJavaStyle
    - find_first_not_of
    - ASPeekStream::hasMoreLines
    - isWhiteSpace
    - isLegalNameChar
    - string::length
    - substr
    - getCurrentWord
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::checkIfTemplateOpener()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7361,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7362,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7362,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7364,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7367,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7386,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7397,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7400,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7405,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7406,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7408,1
    - Dst: astyle::ASFormatter::pointerSymbolFollows
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7419,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7421,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7422,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7424,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7430,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7431,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7433,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7441,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7442,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7444,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7445,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7455,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7456,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7458,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 47
    argCount: 1
    argNames:
    - appendedChar
    argTypes:
    - char
    assertStmts:
    - condition: (formattedLine.length() > 0)
      pos:
        line_end: 7361
        line_start: 7361
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7360
        line_start: 7360
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7461
      start: 7359
    functionDepth: 3
    functionLinenumber: 7359
    functionLinenumberEnd: 7461
    functionName: astyle::ASFormatter::updateFormattedLineSplitPoints
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 6
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - isWhiteSpace
    - isCharPotentialOperator
    - length
    - astyle::ASFormatter::peekNextChar
    - assert
    - astyle::ASFormatter::pointerSymbolFollows
    linkageType: ''
    returnType: void
    signature: void ASFormatter::updateFormattedLineSplitPoints(char appendedChar)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7465,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7466,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7466,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7468,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7471,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7482,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7483,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7485,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7490,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7491,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7492,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7492,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7494,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7495,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7497,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7503,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7504,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7506,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7512,1
    - Dst: astyle::ASFormatter::isInExponent
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7513,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7514,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7519,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7520,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7522,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7531,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7532,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7534,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7538,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7544,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7548,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 47
    argCount: 1
    argNames:
    - ' sequence'
    argTypes:
    - string
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7464
        line_start: 7464
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (formattedLine.length() > 0)
      pos:
        line_end: 7465
        line_start: 7465
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7554
      start: 7463
    functionDepth: 3
    functionLinenumber: 7463
    functionLinenumberEnd: 7554
    functionName: astyle::ASFormatter::updateFormattedLineSplitPointsOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASFormatter::isOkToSplitFormattedLine
    - isWhiteSpace
    - length
    - isLegalNameChar
    - astyle::ASFormatter::peekNextChar
    - assert
    - astyle::ASFormatter::isInExponent
    linkageType: ''
    returnType: void
    signature: void ASFormatter::updateFormattedLineSplitPointsOperator(const string&
      sequence)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7562,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7563,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7563,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7564,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7564,1
    - Dst: astyle::ASFormatter::isOkToSplitFormattedLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7561
        line_start: 7561
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (index < formattedLine.length())
      pos:
        line_end: 7563
        line_start: 7563
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (formattedLine.length() > 0)
      pos:
        line_end: 7562
        line_start: 7562
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7576
      start: 7560
    functionDepth: 3
    functionLinenumber: 7560
    functionLinenumberEnd: 7576
    functionName: astyle::ASFormatter::updateFormattedLineSplitPointsPointerOrReference
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached:
    - length
    - assert
    - astyle::ASFormatter::isOkToSplitFormattedLine
    linkageType: ''
    returnType: void
    signature: void ASFormatter::updateFormattedLineSplitPointsPointerOrReference(size_t
      index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7580,1
    - Dst: astyle::ASFormatter::isOkToBreakBlock
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7593,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7593,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7596,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7599,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7599,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7602,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7602,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7603,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7579
        line_start: 7579
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7607
      start: 7578
    functionDepth: 2
    functionLinenumber: 7578
    functionLinenumberEnd: 7607
    functionName: astyle::ASFormatter::isOkToSplitFormattedLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 14
    functionsReached:
    - astyle::ASFormatter::isBraceType
    - back
    - astyle::ASFormatter::isOkToBreakBlock
    - assert
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isOkToSplitFormattedLine()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7615,1
    - Dst: astyle::ASFormatter::findFormattedLineSplitPoint
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7617,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7618,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7620,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7621,1
    - Dst: astyle::ASFormatter::breakLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7622,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7625,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7666,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7667,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7669,1
    - Dst: astyle::ASFormatter::clearFormattedLineSplitPoints
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7670,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7671,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7672,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7672,1
    - Dst: astyle::ASFormatter::goForward
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7673,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7677,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7687,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7689,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7693
      start: 7611
    functionDepth: 2
    functionLinenumber: 7611
    functionLinenumberEnd: 7693
    functionName: astyle::ASFormatter::testForTimeToSplitFormattedLine
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 24
    functionsReached:
    - astyle::ASFormatter::goForward
    - find_first_not_of
    - astyle::ASBeautifier::getNextWord
    - find
    - isWhiteSpace
    - length
    - astyle::ASFormatter::breakLine
    - substr
    - astyle::ASFormatter::findFormattedLineSplitPoint
    - astyle::ASFormatter::clearFormattedLineSplitPoints
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::testForTimeToSplitFormattedLine()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7697,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7735,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7739,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7739,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7740,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7743,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (maxCodeLength != string::npos)
      pos:
        line_end: 7696
        line_start: 7696
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7754
      start: 7695
    functionDepth: 0
    functionLinenumber: 7695
    functionLinenumberEnd: 7754
    functionName: astyle::ASFormatter::findFormattedLineSplitPoint
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - isWhiteSpace
    - length
    - assert
    - getCurrentWord
    - isCharPotentialHeader
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::findFormattedLineSplitPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7768
      start: 7756
    functionDepth: 0
    functionLinenumber: 7756
    functionLinenumberEnd: 7768
    functionName: astyle::ASFormatter::clearFormattedLineSplitPoints
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFormatter::clearFormattedLineSplitPoints()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7775,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7779
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7779
    functionName: astyle::ASFormatter::pointerSymbolFollows
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::pointerSymbolFollows() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7787,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' currentLine_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7791
      start: 7785
    functionDepth: 0
    functionLinenumber: 7785
    functionLinenumberEnd: 7791
    functionName: astyle::ASFormatter::computeChecksumIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 4
    functionsReached:
    - length
    - isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::computeChecksumIn(const string& currentLine_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adjustment
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7801
      start: 7797
    functionDepth: 0
    functionLinenumber: 7797
    functionLinenumberEnd: 7801
    functionName: astyle::ASFormatter::adjustChecksumIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::adjustChecksumIn(int adjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7811
      start: 7808
    functionDepth: 0
    functionLinenumber: 7808
    functionLinenumberEnd: 7811
    functionName: astyle::ASFormatter::getChecksumIn
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::getChecksumIn() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7819,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' beautifiedLine'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7823
      start: 7817
    functionDepth: 0
    functionLinenumber: 7817
    functionLinenumberEnd: 7823
    functionName: astyle::ASFormatter::computeChecksumOut
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - length
    - isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::computeChecksumOut(const string& beautifiedLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7831
      start: 7828
    functionDepth: 0
    functionLinenumber: 7828
    functionLinenumberEnd: 7831
    functionName: astyle::ASFormatter::getIsLineReady
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::getIsLineReady() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7841
      start: 7838
    functionDepth: 0
    functionLinenumber: 7838
    functionLinenumberEnd: 7841
    functionName: astyle::ASFormatter::getChecksumOut
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ASFormatter::getChecksumOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7850
      start: 7847
    functionDepth: 0
    functionLinenumber: 7847
    functionLinenumberEnd: 7850
    functionName: astyle::ASFormatter::getChecksumDiff
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getChecksumDiff() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7856
      start: 7853
    functionDepth: 0
    functionLinenumber: 7853
    functionLinenumberEnd: 7856
    functionName: astyle::ASFormatter::getFormatterFileType
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASFormatter::getFormatterFileType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7863,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7867,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7871,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7873,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7874,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7879,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7880,1
    - Dst: astyle::ASBase::findOperator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7884,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7886
      start: 7860
    functionDepth: 1
    functionLinenumber: 7860
    functionLinenumberEnd: 7886
    functionName: astyle::ASFormatter::getFollowingOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - astyle::ASBase::findOperator
    - isCharPotentialOperator
    - isWhiteSpace
    - length
    - isLegalNameChar
    linkageType: ''
    returnType: string
    signature: string * ASFormatter::getFollowingOperator() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7891,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7892,1
    - Dst: astyle::ASFormatter::isBraceType
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7892,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7892,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7895,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7899,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7903,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7905,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7906,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '*' || currentChar == '&' || currentChar == '^')
      pos:
        line_end: 7890
        line_start: 7890
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (isBraceType(braceTypeStack->back(), ARRAY_TYPE))
      pos:
        line_end: 7891
        line_start: 7891
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 7918
      start: 7889
    functionDepth: 1
    functionLinenumber: 7889
    functionLinenumberEnd: 7918
    functionName: astyle::ASFormatter::isArrayOperator
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - isWhiteSpace
    - astyle::ASFormatter::isBraceType
    - length
    - isLegalNameChar
    - back
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASFormatter::isArrayOperator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7947,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7949
      start: 7921
    functionDepth: 1
    functionLinenumber: 7921
    functionLinenumberEnd: 7949
    functionName: astyle::ASFormatter::resetEndOfStatement
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 6
    functionsReached:
    - pop_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASFormatter::resetEndOfStatement()
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7954,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7955,1
    - Dst: getAlignMethodColon
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7955,1
    - Dst: astyle::ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7971,1
    - Dst: ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7974,1
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7977,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7978,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7980,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7982,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:7986,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8006,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8012,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8014,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8054,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == '+' || currentChar == '-' || currentChar == '[')
      pos:
        line_end: 7953
        line_start: 7953
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    - condition: (getAlignMethodColon())
      pos:
        line_end: 7954
        line_start: 7954
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 8074
      start: 7952
    functionDepth: 1
    functionLinenumber: 7952
    functionLinenumberEnd: 8074
    functionName: astyle::ASFormatter::findObjCColonAlignment
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - string::compare
    - astyle::ASFormatter::hasMoreLines
    - isWhiteSpace
    - string::length
    - getAlignMethodColon
    - astyle::ASBeautifier::trim
    - assert
    - isDigitSeparator
    - ASPeekStream::peekNextLine
    linkageType: ''
    returnType: int
    signature: int ASFormatter::findObjCColonAlignment() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8079,1
    - Dst: astyle::ASFormatter::peekNextChar
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8081,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8087,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8087,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8089,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8096,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8096,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8097,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8099,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8102,1
    - Dst: astyle::ASFormatter::appendSpacePad
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8104,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8105,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8113,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8115,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8120,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8127,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8129,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8133,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8139,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (currentChar == ':')
      pos:
        line_end: 8078
        line_start: 8078
        source_file: /src/geos/tools/astyle/ASFormatter.cpp
    constantsTouched: []
    func_position:
      end: 8145
      start: 8077
    functionDepth: 2
    functionLinenumber: 8077
    functionLinenumberEnd: 8145
    functionName: astyle::ASFormatter::padObjCMethodColon
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - insert
    - isWhiteSpace
    - length
    - astyle::ASFormatter::appendSpacePad
    - astyle::ASFormatter::peekNextChar
    - back
    - assert
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::padObjCMethodColon()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8150,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8157,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8161,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8165,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8169,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8174,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8179,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8186,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8194,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8197,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8198,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8204,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8205,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8207,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8209,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8218,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8218,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8221,1
    - Dst: astyle::ASFormatter::adjustChecksumIn
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8224,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8233,1
    - Dst: getIndentLength
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8235,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASFormatter.cpp:8239,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8243
      start: 8148
    functionDepth: 1
    functionLinenumber: 8148
    functionLinenumberEnd: 8243
    functionName: astyle::ASFormatter::stripCommentPrefix
    functionSourceFile: /src/geos/tools/astyle/ASFormatter.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - insert
    - compare
    - find
    - getIndentLength
    - astyle::ASFormatter::adjustChecksumIn
    - substr
    - string
    - find_last_not_of
    - erase
    linkageType: ''
    returnType: void
    signature: void ASFormatter::stripCommentPrefix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: _
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nextLine_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: astyle::ASStreamIterator::compareToInputBuffer
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compareToInputBuffer(const string& nextLine_) 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: '& getOutputEOL() const'
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string & getOutputEOL() const
  - 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: astyle::ASStreamIterator::getPeekStart
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: streamoff
    signature: streamoff getPeekStart() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: astyle::ASStreamIterator::hasMoreLines
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached:
    - eof
    linkageType: ''
    returnType: bool
    signature: bool hasMoreLines() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: astyle::ASLibrary::ASLibrary
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: ~ASLibrary()
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ASLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nextLine_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: astyle::ASStreamIterator::compareToInputBuffer
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compareToInputBuffer(const string& nextLine_) 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: '& getOutputEOL() const'
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string & getOutputEOL() const
  - 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: astyle::ASStreamIterator::getPeekStart
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: streamoff
    signature: streamoff getPeekStart() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: astyle::ASStreamIterator::hasMoreLines
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached:
    - eof
    linkageType: ''
    returnType: bool
    signature: bool hasMoreLines() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: astyle::ASLibrary::ASLibrary
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: ~ASLibrary()
    functionSourceFile: /src/geos/tools/astyle/astyle_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ASLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/tools/astyle/astyle_main.cpp:109,1
    - Dst: seekg
      Src: /src/geos/tools/astyle/astyle_main.cpp:117,1
    - Dst: astyle::ASStreamIterator<T>::tellg
      Src: /src/geos/tools/astyle/astyle_main.cpp:118,1
    - Dst: seekg
      Src: /src/geos/tools/astyle/astyle_main.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: astyle::ASStreamIterator<T>::ASStreamIterator
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - seekg
    - astyle::ASStreamIterator<T>::tellg
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::ASStreamIterator(T* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: ASStreamIterator<T>::~ASStreamIterator()
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::~ASStreamIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/tools/astyle/astyle_main.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: astyle::ASStreamIterator<T>::getStreamLength
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ASStreamIterator<T>::getStreamLength() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:149,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:164,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:166,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:168,1
    - Dst: append
      Src: /src/geos/tools/astyle/astyle_main.cpp:170,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:171,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:174,1
    - Dst: peek
      Src: /src/geos/tools/astyle/astyle_main.cpp:179,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:182,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:188,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:198,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:207,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - emptyLineWasDeleted
    argTypes:
    - bool
    assertStmts:
    - condition: (peekStart == 0)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 234
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 234
    functionName: astyle::ASStreamIterator<T>::nextLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - append
    - clear
    - get
    - eof
    - peek
    - assert
    linkageType: ''
    returnType: string
    signature: string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:243,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:243,1
    - Dst: astyle::ASStreamIterator<T>::tellg
      Src: /src/geos/tools/astyle/astyle_main.cpp:248,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:251,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:252,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:254,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:255,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:258,1
    - Dst: peek
      Src: /src/geos/tools/astyle/astyle_main.cpp:263,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:266,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hasMoreLines())
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: astyle::ASStreamIterator<T>::peekNextLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::append
    - astyle::ASStreamIterator<T>::tellg
    - eof
    - get
    - peek
    - hasMoreLines
    - assert
    linkageType: ''
    returnType: string
    signature: string ASStreamIterator<T>::peekNextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:279,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:280,1
    - Dst: seekg
      Src: /src/geos/tools/astyle/astyle_main.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (peekStart != 0)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: astyle::ASStreamIterator<T>::peekReset
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - assert
    - seekg
    - clear
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::peekReset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:289,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (inStream->eof())
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: astyle::ASStreamIterator<T>::saveLastInputLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - assert
    - eof
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::saveLastInputLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASStreamIterator<T>::tellg
      Src: /src/geos/tools/astyle/astyle_main.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: astyle::ASStreamIterator<T>::tellg
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - astyle::ASStreamIterator<T>::tellg
    linkageType: ''
    returnType: streamoff
    signature: streamoff ASStreamIterator<T>::tellg()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - lineEndFormat
    argTypes:
    - int
    assertStmts:
    - condition: "(lineEndFormat == LINEEND_DEFAULT\n           || lineEndFormat ==
        LINEEND_WINDOWS\n           || lineEndFormat == LINEEND_LINUX\n           ||
        lineEndFormat == LINEEND_MACOLD)"
      pos:
        line_end: 306
        line_start: 303
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 326
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 326
    functionName: astyle::ASStreamIterator<T>::getLineEndChange
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASStreamIterator<T>::getLineEndChange(int lineEndFormat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ' formatterArg'
    argTypes:
    - ASFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 359
    functionName: astyle::ASConsole::ASConsole
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::ASConsole(ASFormatter& formatterArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: ASConsole::~ASConsole()
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::~ASConsole()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:367,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:368,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:370,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:445,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - ' out'
    - lineEnd
    argTypes:
    - ostringstream
    - int
    assertStmts:
    - condition: (lineEnd == LINEEND_WINDOWS || lineEnd == LINEEND_LINUX || lineEnd
        == LINEEND_MACOLD)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 446
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 446
    functionName: astyle::ASConsole::convertLineEnds
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - length
    - assert
    - str
    linkageType: ''
    returnType: void
    signature: void ASConsole::convertLineEnds(ostringstream& out, int lineEnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::convertLineEnds
      Src: /src/geos/tools/astyle/astyle_main.cpp:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - ostringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: astyle::ASConsole::correctMixedLineEnds
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASConsole::convertLineEnds
    linkageType: ''
    returnType: void
    signature: void ASConsole::correctMixedLineEnds(ostringstream& out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:467,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:469,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:471,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:473,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 479
    functionName: astyle::ASConsole::detectEncoding
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: FileEncoding
    signature: FileEncoding ASConsole::detectEncoding(const char* data, size_t dataSize)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:484,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: astyle::ASConsole::error
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - _
    - exit
    linkageType: ''
    returnType: void
    signature: void ASConsole::error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - why
    - what
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: astyle::ASConsole::error
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::error
    linkageType: ''
    returnType: void
    signature: void ASConsole::error(const char* why, const char* what) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:504,1
    - Dst: freopen
      Src: /src/geos/tools/astyle/astyle_main.cpp:506,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:506,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:507,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:507,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:509,1
    - Dst: freopen
      Src: /src/geos/tools/astyle/astyle_main.cpp:511,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:511,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:512,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:512,1
    - Dst: istream*::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:524,1
    - Dst: istream*::eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:525,1
    - Dst: istream*::fail
      Src: /src/geos/tools/astyle/astyle_main.cpp:525,1
    - Dst: stringstream::put
      Src: /src/geos/tools/astyle/astyle_main.cpp:527,1
    - Dst: istream*::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:528,1
    - Dst: getLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:536,1
    - Dst: astyle::ASConsole::initializeOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:538,1
    - Dst: init
      Src: /src/geos/tools/astyle/astyle_main.cpp:539,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:541,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:543,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:544,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:546,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:546,1
    - Dst: getIsLineReady
      Src: /src/geos/tools/astyle/astyle_main.cpp:552,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:554,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:554,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:556,1
    - Dst: flush
      Src: /src/geos/tools/astyle/astyle_main.cpp:560,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 561
    functionName: astyle::ASConsole::formatCinToCout
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - stringstream::put
    - getLineEndFormat
    - flush
    - freopen
    - getIsLineReady
    - nextLine
    - astyle::ASConsole::setOutputEOL
    - init
    - c_str
    - istream*::fail
    - astyle::ASConsole::initializeOutputEOL
    - hasMoreLines
    - ASStreamIterator::getOutputEOL
    - istream*::eof
    - astyle::ASConsole::error
    - empty
    - istream*::get
    linkageType: ''
    returnType: void
    signature: void ASConsole::formatCinToCout()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::readFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:572,1
    - Dst: getModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:576,1
    - Dst: astyle::ASConsole::stringEndsWith
      Src: /src/geos/tools/astyle/astyle_main.cpp:578,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:578,1
    - Dst: setJavaStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:579,1
    - Dst: astyle::ASConsole::stringEndsWith
      Src: /src/geos/tools/astyle/astyle_main.cpp:580,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:580,1
    - Dst: setSharpStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:581,1
    - Dst: setCStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:583,1
    - Dst: getLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:589,1
    - Dst: astyle::ASConsole::initializeOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:590,1
    - Dst: init
      Src: /src/geos/tools/astyle/astyle_main.cpp:593,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:596,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:598,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:601,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:603,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:603,1
    - Dst: ASStreamIterator::saveLastInputLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:608,1
    - Dst: getIsLineReady
      Src: /src/geos/tools/astyle/astyle_main.cpp:610,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:612,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:612,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:614,1
    - Dst: ASStreamIterator::saveLastInputLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:617,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:625,1
    - Dst: ASStreamIterator::compareToInputBuffer
      Src: /src/geos/tools/astyle/astyle_main.cpp:628,1
    - Dst: astyle::ASConsole::correctMixedLineEnds
      Src: /src/geos/tools/astyle/astyle_main.cpp:636,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:643,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:643,1
    - Dst: ASStreamIterator::getLineEndChange
      Src: /src/geos/tools/astyle/astyle_main.cpp:648,1
    - Dst: astyle::ASConsole::writeFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:651,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:652,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:652,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:658,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:658,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:662,1
    - Dst: getChecksumDiff
      Src: /src/geos/tools/astyle/astyle_main.cpp:662,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts:
    - condition: (formatter.getChecksumDiff() == 0)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 663
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 663
    functionName: astyle::ASConsole::formatFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - getLineEndFormat
    - substr
    - assert
    - astyle::ASConsole::printMsg
    - ASStreamIterator::saveLastInputLine
    - nextLine
    - setSharpStyle
    - ASStreamIterator::getLineEndChange
    - hasMoreLines
    - string::find_first_not_of
    - setCStyle
    - _
    - setJavaStyle
    - astyle::ASConsole::setOutputEOL
    - astyle::ASConsole::readFile
    - getIsLineReady
    - ASStreamIterator::getOutputEOL
    - astyle::ASConsole::correctMixedLineEnds
    - astyle::ASConsole::stringEndsWith
    - length
    - ASStreamIterator::compareToInputBuffer
    - getChecksumDiff
    - getModeManuallySet
    - string
    - astyle::ASConsole::writeFile
    - init
    - astyle::ASConsole::initializeOutputEOL
    linkageType: ''
    returnType: void
    signature: void ASConsole::formatFile(const string& fileName_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:680,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:681,1
    - Dst: front
      Src: /src/geos/tools/astyle/astyle_main.cpp:681,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:682,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:683,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:685,1
    - Dst: astyle::ASConsole::getCurrentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:685,1
    - Dst: string::find_last_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:688,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:690,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:692,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:695,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:695,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:700,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:700,1
    - Dst: astyle::ASConsole::getParentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:703,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 706
    functionName: astyle::ASConsole::findProjectOptionFilePath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::empty
    - astyle::ASConsole::getParentDirectory
    - string::c_str
    - empty
    - string
    - string::substr
    - front
    - astyle::ASConsole::fileExists
    - astyle::ASConsole::getFullPathName
    - astyle::ASConsole::getCurrentDirectory
    - string::find_last_of
    linkageType: ''
    returnType: string
    signature: string ASConsole::findProjectOptionFilePath(const string& fileName_)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: astyle::ASConsole::getExcludeHitsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<bool>
    signature: vector<bool> ASConsole::getExcludeHitsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: astyle::ASConsole::getExcludeVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getExcludeVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: astyle::ASConsole::getFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: astyle::ASConsole::getFileNameVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getFileNameVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 726
    functionName: astyle::ASConsole::getFileOptionsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getFileOptionsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: astyle::ASConsole::getFilesAreIdentical
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getFilesAreIdentical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: astyle::ASConsole::getFilesFormatted
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASConsole::getFilesFormatted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: astyle::ASConsole::getIgnoreExcludeErrors
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIgnoreExcludeErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 742
    functionName: astyle::ASConsole::getIgnoreExcludeErrorsDisplay
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIgnoreExcludeErrorsDisplay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: astyle::ASConsole::getIsDryRun
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsDryRun() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: astyle::ASConsole::getIsFormattedOnly
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsFormattedOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::getLanguageID
      Src: /src/geos/tools/astyle/astyle_main.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: astyle::ASConsole::getLanguageID
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::getLanguageID
    linkageType: ''
    returnType: string
    signature: string ASConsole::getLanguageID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 758
    functionName: astyle::ASConsole::getIsQuiet
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsQuiet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: astyle::ASConsole::getIsRecursive
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsRecursive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 766
    functionName: astyle::ASConsole::getIsVerbose
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsVerbose() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 770
    functionName: astyle::ASConsole::getLineEndsMixed
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getLineEndsMixed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 774
    functionName: astyle::ASConsole::getNoBackup
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getNoBackup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: astyle::ASConsole::getOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getOptionFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 782
    functionName: astyle::ASConsole::getOptionsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getOptionsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: astyle::ASConsole::getOrigSuffix
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getOrigSuffix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 790
    functionName: astyle::ASConsole::getPreserveDate
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getPreserveDate() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:795,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:795,1
    - Dst: find_last_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:797,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (projectOptionFileName.length() > 0)
      pos:
        line_end: 794
        line_start: 794
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 801
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 801
    functionName: astyle::ASConsole::getProjectOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - length
    - assert
    - find_last_of
    - substr
    linkageType: ''
    returnType: string
    signature: string ASConsole::getProjectOptionFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    functionName: astyle::ASConsole::getProjectOptionsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getProjectOptionsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 809
    functionName: astyle::ASConsole::getStdPathIn
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getStdPathIn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 813
    functionName: astyle::ASConsole::getStdPathOut
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getStdPathOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 817
    functionName: astyle::ASConsole::setBypassBrowserOpen
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setBypassBrowserOpen(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: astyle::ASConsole::getErrorStream
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ostream
    signature: ostream * ASConsole::getErrorStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errStreamPtr
    argTypes:
    - ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: astyle::ASConsole::setErrorStream
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setErrorStream(ostream* errStreamPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector::emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:837,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 840
    functionName: astyle::ASConsole::getArgvOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string
    - vector::emplace_back
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getArgvOptions(int argc, char** argv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:844,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: astyle::ASConsole::getParam
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - substr
    - strlen
    linkageType: ''
    returnType: string
    signature: string ASConsole::getParam(const string& arg, const char* op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:852,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:855,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:857,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:858,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:861,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:863,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:864,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:865,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:866,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:867,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:867,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:868,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:869,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:871,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:873,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:873,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:873,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:874,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - ' targetFilename_'
    - ' targetFilenameVector'
    argTypes:
    - string
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 876
    functionName: astyle::ASConsole::getTargetFilenames
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - size
    - length
    - string::length
    - substr
    - fprintf
    - find_first_of
    - c_str
    - emplace_back
    - astyle::ASConsole::error
    - string::erase
    - _
    linkageType: ''
    returnType: void
    signature: "void ASConsole::getTargetFilenames(string& targetFilename_,\n                                   vector<string>&
      targetFilenameVector) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:881,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:886,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:887,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:897,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - lineEndFormat
    argTypes:
    - LineEndFormat
    assertStmts:
    - condition: "(lineEndFormat == LINEEND_DEFAULT\n           || lineEndFormat ==
        LINEEND_WINDOWS\n           || lineEndFormat == LINEEND_LINUX\n           ||
        lineEndFormat == LINEEND_MACOLD)"
      pos:
        line_end: 883
        line_start: 880
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 898
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 898
    functionName: astyle::ASConsole::initializeOutputEOL
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - assert
    - clear
    linkageType: ''
    returnType: void
    signature: void ASConsole::initializeOutputEOL(LineEndFormat lineEndFormat)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:904,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:906,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:906,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:907,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:909,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:909,1
    - Dst: ifstream::read
      Src: /src/geos/tools/astyle/astyle_main.cpp:910,1
    - Dst: ifstream::bad
      Src: /src/geos/tools/astyle/astyle_main.cpp:911,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:912,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:912,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tools/astyle/astyle_main.cpp:913,1
    - Dst: ifstream::gcount
      Src: /src/geos/tools/astyle/astyle_main.cpp:913,1
    - Dst: astyle::ASConsole::detectEncoding
      Src: /src/geos/tools/astyle/astyle_main.cpp:914,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:916,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:916,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:916,1
    - Dst: utf8LengthFromUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:924,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:925,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:927,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:927,1
    - Dst: utf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:928,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:929,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:930,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:934,1
    - Dst: ifstream::read
      Src: /src/geos/tools/astyle/astyle_main.cpp:935,1
    - Dst: ifstream::bad
      Src: /src/geos/tools/astyle/astyle_main.cpp:936,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:937,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:937,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tools/astyle/astyle_main.cpp:938,1
    - Dst: ifstream::gcount
      Src: /src/geos/tools/astyle/astyle_main.cpp:938,1
    - Dst: ifstream::close
      Src: /src/geos/tools/astyle/astyle_main.cpp:941,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - ' fileName_'
    - ' in'
    argTypes:
    - string
    - stringstream
    assertStmts:
    - condition: (utf8Len <= utf8Size)
      pos:
        line_end: 928
        line_start: 928
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 944
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 944
    functionName: astyle::ASConsole::readFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::detectEncoding
    - static_cast<size_t>
    - ifstream::close
    - string
    - ifstream::gcount
    - utf8LengthFromUtf16
    - c_str
    - ifstream::read
    - assert
    - astyle::ASConsole::error
    - ifstream::bad
    - char::char
    - _
    - utf16ToUtf8
    linkageType: ''
    returnType: FileEncoding
    signature: FileEncoding ASConsole::readFile(const string& fileName_, stringstream&
      in) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 947
    functionName: astyle::ASConsole::setIgnoreExcludeErrors
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIgnoreExcludeErrors(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 950
    functionName: astyle::ASConsole::setIgnoreExcludeErrorsAndDisplay
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIgnoreExcludeErrorsAndDisplay(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 953
    functionName: astyle::ASConsole::setIsFormattedOnly
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsFormattedOnly(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 956
    functionName: astyle::ASConsole::setIsQuiet
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsQuiet(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 959
    functionName: astyle::ASConsole::setIsRecursive
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsRecursive(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 962
    functionName: astyle::ASConsole::setIsDryRun
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsDryRun(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 965
    functionName: astyle::ASConsole::setIsVerbose
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsVerbose(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 968
    functionName: astyle::ASConsole::setNoBackup
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setNoBackup(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 971
    functionName: astyle::ASConsole::setOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setOptionFileName(const string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' suffix'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 974
    functionName: astyle::ASConsole::setOrigSuffix
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setOrigSuffix(const string& suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 977
    functionName: astyle::ASConsole::setPreserveDate
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setPreserveDate(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optfilepath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 980
    functionName: astyle::ASConsole::setProjectOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setProjectOptionFileName(const string& optfilepath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 983
    functionName: astyle::ASConsole::setStdPathIn
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setStdPathIn(const string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 986
    functionName: astyle::ASConsole::setStdPathOut
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setStdPathOut(const string& path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - lineEndFormat
    - ' currentEOL'
    argTypes:
    - LineEndFormat
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1009
    functionName: astyle::ASConsole::setOutputEOL
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void ASConsole::setOutputEOL(LineEndFormat lineEndFormat, const string&
      currentEOL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/geos/tools/astyle/astyle_main.cpp:1019,1
    - Dst: FormatMessage
      Src: /src/geos/tools/astyle/astyle_main.cpp:1020,1
    - Dst: MAKELANGID
      Src: /src/geos/tools/astyle/astyle_main.cpp:1023,1
    - Dst: LocalFree
      Src: /src/geos/tools/astyle/astyle_main.cpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1032
    functionName: astyle::ASConsole::displayLastError
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - FormatMessage
    - LocalFree
    - MAKELANGID
    - GetLastError
    linkageType: ''
    returnType: void
    signature: void ASConsole::displayLastError()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:1045,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1046,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1046,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: astyle::ASConsole::getCurrentDirectory
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string
    - GetCurrentDirectory
    - astyle::ASConsole::error
    - c_str
    linkageType: ''
    returnType: string
    signature: string ASConsole::getCurrentDirectory(const string& fileName_) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:1065,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1065,1
    - Dst: astyle::ASConsole::displayLastError
      Src: /src/geos/tools/astyle/astyle_main.cpp:1072,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1073,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1073,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1073,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1092,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1093,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1093,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1093,1
    - Dst: vector::emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1095,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1101,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1103,1
    - Dst: astyle::ASConsole::wildcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:1105,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1105,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1108,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1108,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1108,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1110,1
    - Dst: FindNextFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:1115,1
    - Dst: ::FindClose
      Src: /src/geos/tools/astyle/astyle_main.cpp:1118,1
    - Dst: GetLastError
      Src: /src/geos/tools/astyle/astyle_main.cpp:1119,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1121,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1121,1
    - Dst: vector::size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1125,1
    - Dst: astyle::ASConsole::getFileNames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1126,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - ' directory'
    - ' wildcards'
    argTypes:
    - string
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1129
    functionName: astyle::ASConsole::getFileNames
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::printMsg
    - astyle::ASConsole::isPathExclued
    - size
    - astyle::ASConsole::wildcmp
    - astyle::ASConsole::displayLastError
    - FindNextFile
    - GetLastError
    - string::c_str
    - vector::size
    - vector::emplace_back
    - FindFirstFile
    - string::substr
    - c_str
    - ::FindClose
    - emplace_back
    - astyle::ASConsole::getFileNames
    - astyle::ASConsole::error
    - _
    linkageType: ''
    returnType: void
    signature: void ASConsole::getFileNames(const string& directory, const vector<string>&
      wildcards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:1136,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1138
    functionName: astyle::ASConsole::getFullPathName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - GetFullPathName
    linkageType: ''
    returnType: string
    signature: string ASConsole::getFullPathName(const string& relativePath) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1155,1
    - Dst: locale
      Src: /src/geos/tools/astyle/astyle_main.cpp:1155,1
    - Dst: stringstream::str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1160,1
    - Dst: ::GetNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1167,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1167,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:1168,1
    - Dst: ::GetNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1171,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1171,1
    - Dst: ::GetLocaleInfo
      Src: /src/geos/tools/astyle/astyle_main.cpp:1175,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:1176,1
    - Dst: ::GetLocaleInfo
      Src: /src/geos/tools/astyle/astyle_main.cpp:1179,1
    - Dst: string::rfind
      Src: /src/geos/tools/astyle/astyle_main.cpp:1180,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:1183,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - num
    - lcid
    argTypes:
    - int
    - size_t
    assertStmts:
    - condition: (locale().name() == "C")
      pos:
        line_end: 1154
        line_start: 1154
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 1187
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1187
    functionName: astyle::ASConsole::getNumberFormat
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - ::GetLocaleInfo
    - ::GetNumberFormat
    - string::erase
    - string::c_str
    - string::rfind
    - string::length
    - locale
    - stringstream::str
    - assert
    - char::char
    linkageType: ''
    returnType: string
    signature: string ASConsole::getNumberFormat(int num, size_t lcid) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1198,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1202,1
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1205,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' absPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1209
    functionName: astyle::ASConsole::isHomeOrInvalidAbsPath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - getenv
    - c_str
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isHomeOrInvalidAbsPath(const string& absPath) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1222,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1226,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1227,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:1228,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1228,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1229,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1230,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1230,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1233,1
    - Dst: strpbrk
      Src: /src/geos/tools/astyle/astyle_main.cpp:1241,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1246,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1247,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1247,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1249,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1249,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1249,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1256,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1260,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1260,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1260,1
    - Dst: ShellExecuteEx
      Src: /src/geos/tools/astyle/astyle_main.cpp:1263,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1265,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1265,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1265,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - filePathIn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1267
    functionName: astyle::ASConsole::launchDefaultBrowser
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::append
    - stat
    - printf
    - string::c_str
    - getenv
    - ShellExecuteEx
    - string::length
    - _
    - astyle::ASConsole::error
    - strpbrk
    - string::erase
    - astyle::ASConsole::standardizePath
    linkageType: ''
    returnType: void
    signature: void ASConsole::launchDefaultBrowser(const char* filePathIn /*nullptr*/)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1281,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1283,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1283,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1285
    functionName: astyle::ASConsole::getCurrentDirectory
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string
    - getenv
    - astyle::ASConsole::error
    - c_str
    linkageType: ''
    returnType: string
    signature: string ASConsole::getCurrentDirectory(const string& fileName_) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/geos/tools/astyle/astyle_main.cpp:1303,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1303,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1305,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1305,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1305,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1308,1
    - Dst: readdir
      Src: /src/geos/tools/astyle/astyle_main.cpp:1311,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1315,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1315,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:1322,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1323,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1323,1
    - Dst: S_ISDIR
      Src: /src/geos/tools/astyle/astyle_main.cpp:1329,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1331,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1332,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1332,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1332,1
    - Dst: vector::emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1334,1
    - Dst: S_ISREG
      Src: /src/geos/tools/astyle/astyle_main.cpp:1339,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1342,1
    - Dst: astyle::ASConsole::wildcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:1346,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1346,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1349,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1349,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1349,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1351,1
    - Dst: closedir
      Src: /src/geos/tools/astyle/astyle_main.cpp:1358,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:1360,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1361,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1361,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1365,1
    - Dst: sort
      Src: /src/geos/tools/astyle/astyle_main.cpp:1366,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1366,1
    - Dst: vector::size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1370,1
    - Dst: sort
      Src: /src/geos/tools/astyle/astyle_main.cpp:1371,1
    - Dst: vector::begin
      Src: /src/geos/tools/astyle/astyle_main.cpp:1371,1
    - Dst: vector::end
      Src: /src/geos/tools/astyle/astyle_main.cpp:1371,1
    - Dst: vector::size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1372,1
    - Dst: astyle::ASConsole::getFileNames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1374,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - ' directory'
    - ' wildcards'
    argTypes:
    - string
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1376
    functionName: astyle::ASConsole::getFileNames
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - vector::begin
    - vector::end
    - opendir
    - S_ISDIR
    - size
    - astyle::ASConsole::printMsg
    - string::c_str
    - _
    - closedir
    - readdir
    - vector::emplace_back
    - string::substr
    - c_str
    - S_ISREG
    - astyle::ASConsole::getFileNames
    - emplace_back
    - astyle::ASConsole::error
    - stat
    - astyle::ASConsole::isPathExclued
    - astyle::ASConsole::wildcmp
    - vector::size
    - perror
    - sort
    linkageType: ''
    returnType: void
    signature: void ASConsole::getFileNames(const string& directory, const vector<string>&
      wildcards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1389,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1392
    functionName: astyle::ASConsole::getFullPathName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - realpath
    - c_str
    linkageType: ''
    returnType: string
    signature: string ASConsole::getFullPathName(const string& relativePath) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1409,1
    - Dst: locale
      Src: /src/geos/tools/astyle/astyle_main.cpp:1409,1
    - Dst: localeconv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1414,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts:
    - condition: (locale().name() == "C")
      pos:
        line_end: 1408
        line_start: 1408
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 1418
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1418
    functionName: astyle::ASConsole::getNumberFormat
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - locale
    - assert
    - astyle::ASConsole::getNumberFormat
    - localeconv
    linkageType: ''
    returnType: string
    signature: string ASConsole::getNumberFormat(int num, size_t /*lcid*/) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stringstream::str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1434,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1439,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1442,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1450,1
    - Dst: string::insert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1452,1
    - Dst: string::insert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1457,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:1458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - num
    - groupingArg
    - separator
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1465
    functionName: astyle::ASConsole::getNumberFormat
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string::length
    - stringstream::str
    - string::substr
    - string::insert
    - string::erase
    linkageType: ''
    returnType: string
    signature: string ASConsole::getNumberFormat(int num, const char* groupingArg,
      const char* separator) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1476,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1480,1
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1483,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' absPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1487
    functionName: astyle::ASConsole::isHomeOrInvalidAbsPath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - getenv
    - c_str
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isHomeOrInvalidAbsPath(const string& absPath) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/geos/tools/astyle/astyle_main.cpp:1507,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1512,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1513,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1513,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1515,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1515,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1515,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1520,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1523,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:1524,1
    - Dst: strcpy
      Src: /src/geos/tools/astyle/astyle_main.cpp:1525,1
    - Dst: strtok
      Src: /src/geos/tools/astyle/astyle_main.cpp:1534,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1538,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1539,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1540,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1540,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1541,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1542,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1542,1
    - Dst: strtok
      Src: /src/geos/tools/astyle/astyle_main.cpp:1544,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1548,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1548,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1551,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1551,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1551,1
    - Dst: execlp
      Src: /src/geos/tools/astyle/astyle_main.cpp:1554,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1554,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1556,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1556,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - filePathIn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1495
    functionDepth: 2
    functionLinenumber: 1495
    functionLinenumberEnd: 1558
    functionName: astyle::ASConsole::launchDefaultBrowser
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::append
    - stat
    - printf
    - string::c_str
    - getenv
    - _
    - string::length
    - char::char
    - strcpy
    - strlen
    - string
    - execlp
    - astyle::ASConsole::error
    - strpbrk
    - astyle::ASConsole::standardizePath
    - strtok
    linkageType: ''
    returnType: void
    signature: void ASConsole::launchDefaultBrowser(const char* filePathIn /*nullptr*/)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::isHomeOrInvalidAbsPath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1572,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1574,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1576,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1577,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/astyle_main.cpp:1581,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1584,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' absPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1588
    functionName: astyle::ASConsole::getParentDirectory
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - size
    - string
    - substr
    - rfind
    - astyle::ASConsole::isHomeOrInvalidAbsPath
    linkageType: ''
    returnType: string
    signature: string ASConsole::getParentDirectory(const string& absPath) const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:1593,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1594,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1595,1
    - Dst: find_last_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:1599,1
    - Dst: astyle::ASConsole::getCurrentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:1603,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1605,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1609,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1610,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1611,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1614,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1616,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1616,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1616,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1617,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:1622,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1629,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1629,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1631,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1631,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1633,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:1637,1
    - Dst: astyle::ASConsole::printSeparatingLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:1643,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1644,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1644,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1648,1
    - Dst: astyle::ASConsole::getTargetFilenames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1655,1
    - Dst: astyle::ASConsole::getFileNames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1656,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1663,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1663,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1664,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1669,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1677,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1677,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1679,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1679,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1679,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1684,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1684,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1684,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1692,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1692,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1693,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:1697,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1699,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1699,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1699,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1701,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1701,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1702,1
    - Dst: astyle::ASConsole::printSeparatingLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:1706,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1591
    functionDepth: 3
    functionLinenumber: 1591
    functionLinenumberEnd: 1707
    functionName: astyle::ASConsole::getFilePaths
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASConsole::printSeparatingLine
    - substr
    - astyle::ASConsole::printMsg
    - size
    - astyle::ASConsole::getTargetFilenames
    - string::c_str
    - fprintf
    - _
    - c_str
    - astyle::ASConsole::getFileNames
    - emplace_back
    - astyle::ASConsole::error
    - astyle::ASConsole::getCurrentDirectory
    - empty
    - stat
    - length
    - find_last_of
    - clear
    - string
    - find_first_of
    linkageType: ''
    returnType: void
    signature: void ASConsole::getFilePaths(const string& filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1714
    functionName: astyle::ASConsole::fileExists
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - stat
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::fileExists(const char* file) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1719
    functionName: astyle::ASConsole::fileNameVectorIsEmpty
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::fileNameVectorIsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1724
    functionName: astyle::ASConsole::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isOption(const string& arg, const char* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:1728,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - a
    - b
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    functionName: astyle::ASConsole::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::isOption
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isOption(const string& arg, const char* a, const char*
      b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1733,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1733,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1735,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1735,1
    - Dst: isdigit
      Src: /src/geos/tools/astyle/astyle_main.cpp:1736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - option
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1739
    functionName: astyle::ASConsole::isParamOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - length
    - strlen
    - compare
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isParamOption(const string& arg, const char* option)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1750,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1754,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1754,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1757,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1757,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1766,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1770,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:1771,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1772,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:1773,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - ' subPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1784
    functionName: astyle::ASConsole::isPathExclued
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - size
    - length
    - tolower
    - string::length
    - substr
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isPathExclued(const string& subPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 491
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 2278
    functionName: astyle::ASConsole::printHelp
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::printHelp() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::printVerboseHeader
      Src: /src/geos/tools/astyle/astyle_main.cpp:2286,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2288,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:2291,1
    - Dst: astyle::ASConsole::getFilePaths
      Src: /src/geos/tools/astyle/astyle_main.cpp:2293,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:2296,1
    - Dst: astyle::ASConsole::formatFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2297,1
    - Dst: astyle::ASConsole::printVerboseStats
      Src: /src/geos/tools/astyle/astyle_main.cpp:2302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2283
    functionDepth: 4
    functionLinenumber: 2283
    functionLinenumberEnd: 2303
    functionName: astyle::ASConsole::processFiles
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASConsole::getFilePaths
    - size
    - astyle::ASConsole::printVerboseHeader
    - clock
    - astyle::ASConsole::printVerboseStats
    - astyle::ASConsole::formatFile
    linkageType: ''
    returnType: void
    signature: void ASConsole::processFiles()
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:2319,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2323,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2324,1
    - Dst: setlocale
      Src: /src/geos/tools/astyle/astyle_main.cpp:2327,1
    - Dst: setLanguageFromName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2328,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2330,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2336,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2338,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2339,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2340,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2343,1
    - Dst: astyle::ASConsole::setProjectOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2347,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2349,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2351,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2352,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2357,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2364,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2365,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2366,1
    - Dst: astyle::ASConsole::printHelp
      Src: /src/geos/tools/astyle/astyle_main.cpp:2368,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2369,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2371,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2372,1
    - Dst: astyle::ASConsole::launchDefaultBrowser
      Src: /src/geos/tools/astyle/astyle_main.cpp:2374,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2375,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2377,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2379,1
    - Dst: astyle::ASConsole::launchDefaultBrowser
      Src: /src/geos/tools/astyle/astyle_main.cpp:2380,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2380,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2381,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2383,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2384,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2386,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2387,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2389,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2391,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2392,1
    - Dst: astyle::ASConsole::setStdPathIn
      Src: /src/geos/tools/astyle/astyle_main.cpp:2393,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2395,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2397,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2398,1
    - Dst: astyle::ASConsole::setStdPathOut
      Src: /src/geos/tools/astyle/astyle_main.cpp:2399,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2403,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2407,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2408,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2415,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2417,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2420,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2421,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2422,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2426,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2428,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2431,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2432,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2432,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2433,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2437,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2439,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2442,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2443,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2443,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2444,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2450,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2452,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2455,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2456,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2456,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2457,1
    - Dst: astyle::ASConsole::findProjectOptionFilePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2465,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2466,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2466,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2467,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2467,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2467,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2468,1
    - Dst: astyle::ASConsole::setProjectOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2469,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2473,1
    - Dst: astyle::ASConsole::findProjectOptionFilePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2476,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2477,1
    - Dst: astyle::ASConsole::setProjectOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2478,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2483,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2486,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2486,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2487,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2487,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2487,1
    - Dst: astyle::ASConsole::readFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2488,1
    - Dst: stringstream::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:2493,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2494,1
    - Dst: strcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:2494,1
    - Dst: ASOptions::importOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2496,1
    - Dst: ASOptions::parseOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2497,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2498,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2498,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2501,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2501,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2501,1
    - Dst: ASOptions::getOptionErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:2505,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2506,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2507,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2510,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2513,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2513,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2514,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2514,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2514,1
    - Dst: astyle::ASConsole::readFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2515,1
    - Dst: stringstream::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:2520,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2521,1
    - Dst: strcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:2521,1
    - Dst: ASOptions::importOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2523,1
    - Dst: ASOptions::parseOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2524,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2525,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2525,1
    - Dst: ASOptions::getOptionErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:2530,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2531,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2532,1
    - Dst: ASOptions::parseOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2536,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2537,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2537,1
    - Dst: ASOptions::getOptionErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:2540,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2541,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2542,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 145
    argCount: 1
    argNames:
    - ' argvOptions'
    argTypes:
    - vector<string>
    assertStmts:
    - condition: (strcmp(buf, "\xEF\xBB\xBF") == 0)
      pos:
        line_end: 2493
        line_start: 2493
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    - condition: (strcmp(buf, "\xEF\xBB\xBF") == 0)
      pos:
        line_end: 2520
        line_start: 2520
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2544
      start: 2308
    functionDepth: 3
    functionLinenumber: 2308
    functionLinenumberEnd: 2544
    functionName: astyle::ASConsole::processOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - setLanguageFromName
    - astyle::ASConsole::setStdPathOut
    - astyle::ASConsole::printHelp
    - setlocale
    - ASOptions::importOptions
    - assert
    - size
    - astyle::ASConsole::getFullPathName
    - string::c_str
    - stringstream::get
    - strcmp
    - _
    - astyle::ASConsole::getParam
    - exit
    - getenv
    - ASOptions::getOptionErrors
    - astyle::ASConsole::readFile
    - astyle::ASConsole::launchDefaultBrowser
    - c_str
    - astyle::ASConsole::findProjectOptionFilePath
    - astyle::ASConsole::isOption
    - emplace_back
    - astyle::ASConsole::error
    - empty
    - string::empty
    - printf
    - astyle::ASConsole::setProjectOptionFileName
    - string
    - ASOptions::parseOptions
    - astyle::ASConsole::isParamOption
    - astyle::ASConsole::fileExists
    - astyle::ASConsole::setOptionFileName
    - astyle::ASConsole::setStdPathIn
    - astyle::ASConsole::standardizePath
    linkageType: ''
    returnType: void
    signature: void ASConsole::processOptions(const vector<string>& argvOptions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/tools/astyle/astyle_main.cpp:2549,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:2555,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fileName_
    - errMsg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2547
    functionDepth: 2
    functionLinenumber: 2547
    functionLinenumberEnd: 2559
    functionName: astyle::ASConsole::removeFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASConsole::error
    - perror
    - remove
    linkageType: ''
    returnType: void
    signature: void ASConsole::removeFile(const char* fileName_, const char* errMsg)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/geos/tools/astyle/astyle_main.cpp:2564,1
    - Dst: astyle::ASConsole::waitForRemove
      Src: /src/geos/tools/astyle/astyle_main.cpp:2571,1
    - Dst: rename
      Src: /src/geos/tools/astyle/astyle_main.cpp:2572,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:2576,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - oldFileName
    - newFileName
    - errMsg
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2562
    functionDepth: 2
    functionLinenumber: 2562
    functionLinenumberEnd: 2580
    functionName: astyle::ASConsole::renameFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - rename
    - astyle::ASConsole::error
    - perror
    - astyle::ASConsole::waitForRemove
    linkageType: ''
    returnType: void
    signature: void ASConsole::renameFile(const char* oldFileName, const char* newFileName,
      const char* errMsg) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/geos/tools/astyle/astyle_main.cpp:2601,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2601,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2603,1
    - Dst: sys$parse
      Src: /src/geos/tools/astyle/astyle_main.cpp:2609,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2612,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2612,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/geos/tools/astyle/astyle_main.cpp:2616,1
    - Dst: lib$signal
      Src: /src/geos/tools/astyle/astyle_main.cpp:2618,1
    - Dst: decc$translate_vms
      Src: /src/geos/tools/astyle/astyle_main.cpp:2625,1
    - Dst: decc$translate_vms
      Src: /src/geos/tools/astyle/astyle_main.cpp:2629,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2634,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:2636,1
    - Dst: erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:2643,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - ' path'
    - removeBeginningSeparator
    argTypes:
    - string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2585
    functionDepth: 2
    functionLinenumber: 2585
    functionLinenumberEnd: 2644
    functionName: astyle::ASConsole::standardizePath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - sys$parse
    - length
    - decc$translate_vms
    - $VMS_STATUS_SUCCESS
    - strcpy
    - c_str
    - find_first_of
    - lib$signal
    - astyle::ASConsole::error
    - erase
    linkageType: ''
    returnType: void
    signature: void ASConsole::standardizePath(string& path, bool removeBeginningSeparator
      /*false*/) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2650,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - ' data'
    argTypes:
    - char*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2651
    functionName: astyle::ASConsole::printMsg
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - c_str
    - printf
    linkageType: ''
    returnType: void
    signature: void ASConsole::printMsg(const char* msg, const string& data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2657,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:2658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2653
    functionDepth: 1
    functionLinenumber: 2653
    functionLinenumberEnd: 2659
    functionName: astyle::ASConsole::printSeparatingLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string::append
    - astyle::ASConsole::printMsg
    linkageType: ''
    returnType: void
    signature: void ASConsole::printSeparatingLine() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2663,1
    - Dst: time
      Src: /src/geos/tools/astyle/astyle_main.cpp:2669,1
    - Dst: localtime
      Src: /src/geos/tools/astyle/astyle_main.cpp:2670,1
    - Dst: strftime
      Src: /src/geos/tools/astyle/astyle_main.cpp:2671,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2674,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2675,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:2675,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2676,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2677,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2678,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2679,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2679,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2681,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2682,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2682,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2682,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2684,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2686,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2687,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2688,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2691,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2692,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2692,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isVerbose)
      pos:
        line_end: 2662
        line_start: 2662
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2693
      start: 2661
    functionDepth: 1
    functionLinenumber: 2661
    functionLinenumberEnd: 2693
    functionName: astyle::ASConsole::printVerboseHeader
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string::append
    - printf
    - string::c_str
    - strftime
    - getenv
    - string::length
    - time
    - string
    - strlen
    - c_str
    - localtime
    - assert
    - _
    - empty
    linkageType: ''
    returnType: void
    signature: void ASConsole::printVerboseHeader() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2697,1
    - Dst: astyle::ASConsole::printSeparatingLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:2701,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2702,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2703,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2707,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2712,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2714,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2716,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2717,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2717,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2725,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2725,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2728,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2729,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2729,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2729,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - startTime
    argTypes:
    - clock_t
    assertStmts:
    - condition: (isVerbose)
      pos:
        line_end: 2696
        line_start: 2696
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2731
      start: 2695
    functionDepth: 2
    functionLinenumber: 2695
    functionLinenumberEnd: 2731
    functionName: astyle::ASConsole::printVerboseStats
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - printf
    - astyle::ASConsole::getNumberFormat
    - astyle::ASConsole::printSeparatingLine
    - string::c_str
    - clock
    - assert
    - _
    linkageType: ''
    returnType: void
    signature: void ASConsole::printVerboseStats(clock_t startTime) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_t
      Src: /src/geos/tools/astyle/astyle_main.cpp:2736,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2736,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2738
    functionName: astyle::ASConsole::sleep
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - clock_t
    - clock
    linkageType: ''
    returnType: void
    signature: void ASConsole::sleep(int seconds) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2742,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2743,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2747,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' str'
    - ' suffix'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2740
    functionDepth: 2
    functionLinenumber: 2740
    functionLinenumberEnd: 2757
    functionName: astyle::ASConsole::stringEndsWith
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - length
    - tolower
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::stringEndsWith(const string& str, const string& suffix)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2761,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2762,1
    - Dst: back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2762,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' suffixParam'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2759
    functionDepth: 3
    functionLinenumber: 2759
    functionLinenumberEnd: 2764
    functionName: astyle::ASConsole::updateExcludeVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - astyle::ASConsole::standardizePath
    - push_back
    - back
    linkageType: ''
    returnType: void
    signature: void ASConsole::updateExcludeVector(const string& suffixParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::sleep
      Src: /src/geos/tools/astyle/astyle_main.cpp:2773,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - newFileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2779
    functionName: astyle::ASConsole::waitForRemove
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - stat
    - astyle::ASConsole::sleep
    linkageType: ''
    returnType: int
    signature: int ASConsole::waitForRemove(const char* newFileName) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2792,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2792,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2818,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2818,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - wild
    - data
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2784
    functionDepth: 2
    functionLinenumber: 2784
    functionLinenumberEnd: 2840
    functionName: astyle::ASConsole::wildcmp
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int ASConsole::wildcmp(const char* wild, const char* data) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2847,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2847,1
    - Dst: astyle::ASConsole::removeFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2854,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2854,1
    - Dst: astyle::ASConsole::renameFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2855,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2855,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2855,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2859,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2861,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2861,1
    - Dst: utf16LengthFromUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2866,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2866,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2866,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:2867,1
    - Dst: utf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2868,1
    - Dst: const_cast<char*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2868,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2868,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2869,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2870,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2871,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2875,1
    - Dst: ofstream::close
      Src: /src/geos/tools/astyle/astyle_main.cpp:2877,1
    - Dst: utime
      Src: /src/geos/tools/astyle/astyle_main.cpp:2890,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2890,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:2895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ' fileName_'
    - encoding
    - ' out'
    argTypes:
    - string
    - FileEncoding
    - ostringstream
    assertStmts:
    - condition: (utf16Len <= utf16Size)
      pos:
        line_end: 2869
        line_start: 2869
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2899
      start: 2842
    functionDepth: 3
    functionLinenumber: 2842
    functionLinenumberEnd: 2899
    functionName: astyle::ASConsole::writeFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - stat
    - utf16LengthFromUtf8
    - str
    - perror
    - string::c_str
    - const_cast<char*>
    - utf8ToUtf16
    - string
    - char::char
    - ofstream::close
    - c_str
    - utime
    - assert
    - astyle::ASConsole::error
    - astyle::ASConsole::renameFile
    - astyle::ASConsole::removeFile
    linkageType: ''
    returnType: void
    signature: void ASConsole::writeFile(const string& fileName_, FileEncoding encoding,
      ostringstream& out) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASLibrary::convertUtf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2913,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:2916,1
    - Dst: astyle::ASLibrary::convertUtf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2919,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:2923,1
    - Dst: AStyleMain
      Src: /src/geos/tools/astyle/astyle_main.cpp:2928,1
    - Dst: astyle::ASLibrary::convertUtf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2941,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:2946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pSourceIn
    - pOptions
    - fpErrorHandler
    - fpMemoryAlloc
    argTypes:
    - char16_t*
    - char16_t*
    - fpError
    - fpAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2908
    functionDepth: 1
    functionLinenumber: 2908
    functionLinenumberEnd: 2950
    functionName: astyle::ASLibrary::formatUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - AStyleMain
    - astyle::ASLibrary::convertUtf8ToUtf16
    - astyle::ASLibrary::convertUtf16ToUtf8
    - fpErrorHandler
    linkageType: ''
    returnType: char16_t
    signature: "char16_t * ASLibrary::formatUtf16(const char16_t* pSourceIn,     //
      the source to be formatted\n                                 const char16_t*
      pOptions,      // AStyle options\n                                 fpError fpErrorHandler,
      \       // error handler function\n                                 fpAlloc
      fpMemoryAlloc) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:2956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memoryNeeded
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2958
    functionName: astyle::ASLibrary::tempMemoryAllocation
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: char
    signature: char * STDCALL ASLibrary::tempMemoryAllocation(unsigned long memoryNeeded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2969,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:2970,1
    - Dst: getBigEndian
      Src: /src/geos/tools/astyle/astyle_main.cpp:2971,1
    - Dst: utf16LengthFromUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2973,1
    - Dst: fpMemoryAlloc
      Src: /src/geos/tools/astyle/astyle_main.cpp:2974,1
    - Dst: utf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2978,1
    - Dst: utf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2980,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2981,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2983,1
    - Dst: utf16len
      Src: /src/geos/tools/astyle/astyle_main.cpp:2983,1
    - Dst: reinterpret_cast<char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2983,1
    - Dst: reinterpret_cast<char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - utf8In
    - fpMemoryAlloc
    argTypes:
    - char*
    - fpAlloc
    assertStmts:
    - condition: (utf16Len == utf16Size)
      pos:
        line_end: 2980
        line_start: 2980
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    - condition: (utf16Size == (encode.utf16len(reinterpret_cast<char16_t*>(utf16Out))
        + 1) * sizeof(char16_t))
      pos:
        line_end: 2982
        line_start: 2982
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2985
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 2985
    functionName: astyle::ASLibrary::convertUtf8ToUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - fpMemoryAlloc
    - utf16LengthFromUtf8
    - utf16len
    - const_cast<char*>
    - utf8ToUtf16
    - getBigEndian
    - strlen
    - assert
    - reinterpret_cast<char16_t*>
    linkageType: ''
    returnType: char16_t
    signature: char16_t * ASLibrary::convertUtf8ToUtf16(const char* utf8In, fpAlloc
      fpMemoryAlloc) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2996,1
    - Dst: const_cast<char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2996,1
    - Dst: utf16len
      Src: /src/geos/tools/astyle/astyle_main.cpp:2998,1
    - Dst: getBigEndian
      Src: /src/geos/tools/astyle/astyle_main.cpp:2999,1
    - Dst: utf8LengthFromUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:3000,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:3001,1
    - Dst: utf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:3005,1
    - Dst: utf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:3007,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:3008,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:3010,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - utf16In
    argTypes:
    - char16_t*
    assertStmts:
    - condition: (utf8Len == utf8Size)
      pos:
        line_end: 3007
        line_start: 3007
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    - condition: (utf8Size == strlen(utf8Out) + 1)
      pos:
        line_end: 3009
        line_start: 3009
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 3012
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3012
    functionName: astyle::ASLibrary::convertUtf16ToUtf8
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - utf16len
    - const_cast<char16_t*>
    - getBigEndian
    - utf8LengthFromUtf16
    - strlen
    - reinterpret_cast<char*>
    - assert
    - char::char
    - utf16ToUtf8
    linkageType: ''
    returnType: char
    signature: char * ASLibrary::convertUtf16ToUtf8(const char16_t* utf16In) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' formatterArg'
    argTypes:
    - ASFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3024
    functionName: astyle::ASOptions::ASOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASOptions::ASOptions(ASFormatter& formatterArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' formatterArg'
    - ' consoleArg'
    argTypes:
    - ASFormatter
    - ASConsole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3028
    functionName: astyle::ASOptions::ASOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASOptions::ASOptions(ASFormatter& formatterArg, ASConsole& consoleArg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:3043,1
    - Dst: begin
      Src: /src/geos/tools/astyle/astyle_main.cpp:3045,1
    - Dst: end
      Src: /src/geos/tools/astyle/astyle_main.cpp:3045,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:3049,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3050,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:3050,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3055,1
    - Dst: isalpha
      Src: /src/geos/tools/astyle/astyle_main.cpp:3058,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3062,1
    - Dst: append
      Src: /src/geos/tools/astyle/astyle_main.cpp:3066,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3069,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3074,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ' optionsVector'
    - ' errorInfo'
    argTypes:
    - vector<string>
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3039
    functionDepth: 1
    functionLinenumber: 3039
    functionLinenumberEnd: 3081
    functionName: astyle::ASOptions::parseOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::compare
    - isalpha
    - str
    - append
    - clear
    - string::length
    - string::substr
    - astyle::ASOptions::parseOption
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::parseOptions(vector<string>& optionsVector, const string&
      errorInfo)
  - BBCount: 145
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3085,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3085,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3085,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3087,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3089,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3089,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3091,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3093,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3093,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3093,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3095,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3097,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3099,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3101,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3103,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3105,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3107,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3109,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3109,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3111,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3113,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3115,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3117,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3117,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3119,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3121,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3121,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3123,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3125,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3125,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3127,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3129,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3131,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3133,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3135,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3137,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3139,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3141,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3141,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3143,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3146,1
    - Dst: setSharpStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3148,1
    - Dst: setModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3149,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3151,1
    - Dst: setCStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3153,1
    - Dst: setModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3154,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3156,1
    - Dst: setJavaStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3158,1
    - Dst: setModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3159,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3161,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3164,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3165,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3166,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3166,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3168,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3171,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3174,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3176,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3178,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3181,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3182,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3183,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3183,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3185,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3188,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3191,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3193,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3195,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3198,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3199,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3200,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3200,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3202,1
    - Dst: setForceTabXIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3205,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3208,1
    - Dst: setForceTabXIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3210,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3212,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3215,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3216,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3217,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3217,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3219,1
    - Dst: setSpaceIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3222,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3225,1
    - Dst: setSpaceIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3227,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3229,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3232,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3233,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3234,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3234,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3236,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3238,1
    - Dst: setContinuationIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3240,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3242,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3245,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3246,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3247,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3247,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3249,1
    - Dst: setMinConditionalIndentOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3251,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3253,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3256,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3257,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3258,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3258,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3260,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3262,1
    - Dst: setMaxContinuationIndentLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3264,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3266,1
    - Dst: setNamespaceIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3268,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3270,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3272,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3274,1
    - Dst: setModifierIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3276,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3278,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3280,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3282,1
    - Dst: setCaseIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3284,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3286,1
    - Dst: setAfterParenIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3288,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3290,1
    - Dst: setLabelIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3292,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3294,1
    - Dst: setPreprocBlockIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3296,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3298,1
    - Dst: setPreprocDefineIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3300,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3302,1
    - Dst: setPreprocConditionalIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3304,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3306,1
    - Dst: setBreakClosingHeaderBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3308,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3310,1
    - Dst: setBreakOneLineBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3312,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3314,1
    - Dst: setBreakOneLineStatementsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3316,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3318,1
    - Dst: setParensOutsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3320,1
    - Dst: setParensInsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3321,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3323,1
    - Dst: setParensOutsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3325,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3327,1
    - Dst: setParensFirstPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3329,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3331,1
    - Dst: setParensInsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3333,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3335,1
    - Dst: setParensHeaderPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3337,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3339,1
    - Dst: setParensUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3341,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3343,1
    - Dst: setOperatorPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3345,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3347,1
    - Dst: setCommaPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3349,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3351,1
    - Dst: setDeleteEmptyLinesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3353,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3355,1
    - Dst: setEmptyLineFill
      Src: /src/geos/tools/astyle/astyle_main.cpp:3357,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3359,1
    - Dst: setTabSpaceConversionMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3361,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3363,1
    - Dst: setCloseTemplatesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3365,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3367,1
    - Dst: setBreakBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3369,1
    - Dst: setBreakClosingHeaderBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3370,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3372,1
    - Dst: setBreakBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3374,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3376,1
    - Dst: setBreakElseIfsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3378,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3380,1
    - Dst: setBreakOneLineHeadersMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3382,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3384,1
    - Dst: setAddBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3386,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3388,1
    - Dst: setAddOneLineBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3390,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3392,1
    - Dst: setRemoveBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3394,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3396,1
    - Dst: setIndentCol1CommentsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3398,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3400,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3402,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3404,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3406,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3408,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3410,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3412,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3415,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3416,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3417,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3417,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3419,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3421,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3423,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3425,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3427,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3429,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3431,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3433,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3435,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3437,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3439,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3441,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3443,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3446,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3447,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3448,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3448,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3450,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3452,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3454,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3456,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3458,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3460,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3463,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3464,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3465,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3465,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3467,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3469,1
    - Dst: setMaxCodeLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3471,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3473,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3476,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3477,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3478,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3478,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3480,1
    - Dst: setMaxCodeLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3482,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3484,1
    - Dst: setBreakAfterMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3486,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3488,1
    - Dst: setAttachClass
      Src: /src/geos/tools/astyle/astyle_main.cpp:3490,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3492,1
    - Dst: setAttachClosingWhile
      Src: /src/geos/tools/astyle/astyle_main.cpp:3494,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3496,1
    - Dst: setAttachExternC
      Src: /src/geos/tools/astyle/astyle_main.cpp:3498,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3500,1
    - Dst: setAttachNamespace
      Src: /src/geos/tools/astyle/astyle_main.cpp:3502,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3504,1
    - Dst: setAttachInline
      Src: /src/geos/tools/astyle/astyle_main.cpp:3506,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3508,1
    - Dst: setStripCommentPrefix
      Src: /src/geos/tools/astyle/astyle_main.cpp:3510,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3512,1
    - Dst: setBreakReturnType
      Src: /src/geos/tools/astyle/astyle_main.cpp:3514,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3516,1
    - Dst: setBreakReturnTypeDecl
      Src: /src/geos/tools/astyle/astyle_main.cpp:3518,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3520,1
    - Dst: setAttachReturnType
      Src: /src/geos/tools/astyle/astyle_main.cpp:3522,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3524,1
    - Dst: setAttachReturnTypeDecl
      Src: /src/geos/tools/astyle/astyle_main.cpp:3526,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3529,1
    - Dst: setMethodPrefixPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3531,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3533,1
    - Dst: setMethodPrefixUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3535,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3537,1
    - Dst: setReturnTypePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3539,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3541,1
    - Dst: setReturnTypeUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3543,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3545,1
    - Dst: setParamTypePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3547,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3549,1
    - Dst: setParamTypeUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3551,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3553,1
    - Dst: setAlignMethodColon
      Src: /src/geos/tools/astyle/astyle_main.cpp:3555,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3557,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3559,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3561,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3563,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3565,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3567,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3569,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3571,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3575,1
    - Dst: setPreprocDefineIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3577,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3579,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3581,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3584,1
    - Dst: setBreakClosingHeaderBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3586,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3588,1
    - Dst: setAddBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3590,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3592,1
    - Dst: setAddOneLineBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3594,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3596,1
    - Dst: setRemoveBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3598,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3600,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3603,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3604,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3605,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3605,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3607,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3609,1
    - Dst: setMaxInStatementIndentLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3611,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3620,1
    - Dst: setNoBackup
      Src: /src/geos/tools/astyle/astyle_main.cpp:3622,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3624,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3626,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3627,1
    - Dst: setOrigSuffix
      Src: /src/geos/tools/astyle/astyle_main.cpp:3629,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3632,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3634,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3635,1
    - Dst: updateExcludeVector
      Src: /src/geos/tools/astyle/astyle_main.cpp:3636,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3638,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3638,1
    - Dst: setIsRecursive
      Src: /src/geos/tools/astyle/astyle_main.cpp:3640,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3642,1
    - Dst: setIsDryRun
      Src: /src/geos/tools/astyle/astyle_main.cpp:3644,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3646,1
    - Dst: setPreserveDate
      Src: /src/geos/tools/astyle/astyle_main.cpp:3648,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3650,1
    - Dst: setIsVerbose
      Src: /src/geos/tools/astyle/astyle_main.cpp:3652,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3654,1
    - Dst: setIsFormattedOnly
      Src: /src/geos/tools/astyle/astyle_main.cpp:3656,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3658,1
    - Dst: setIsQuiet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3660,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3662,1
    - Dst: setIgnoreExcludeErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:3664,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3666,1
    - Dst: setIgnoreExcludeErrorsAndDisplay
      Src: /src/geos/tools/astyle/astyle_main.cpp:3668,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3670,1
    - Dst: setErrorStream
      Src: /src/geos/tools/astyle/astyle_main.cpp:3672,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3674,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3676,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3678,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3680,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3682,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3684,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3686,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3689,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3690,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3691,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3691,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3693,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3695,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3697,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3699,1
    CyclomaticComplexity: 162
    EdgeCount: 162
    ICount: 428
    argCount: 2
    argNames:
    - ' arg'
    - ' errorInfo'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3704
      start: 3083
    functionDepth: 1
    functionLinenumber: 3083
    functionLinenumberEnd: 3704
    functionName: astyle::ASOptions::parseOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - setAlignMethodColon
    - atoi
    - setBreakElseIfsMode
    - setNoBackup
    - setParensUnPaddingMode
    - setParamTypePaddingMode
    - setModeManuallySet
    - setParensInsidePaddingMode
    - setParamTypeUnPaddingMode
    - setJavaStyle
    - setEmptyLineFill
    - setDeleteEmptyLinesMode
    - setObjCColonPaddingMode
    - setBreakAfterMode
    - setBreakOneLineBlocksMode
    - setPreprocBlockIndent
    - astyle::ASOptions::getParam
    - setAddOneLineBracesMode
    - setBreakOneLineStatementsMode
    - setParensFirstPaddingMode
    - setAttachReturnType
    - setTabIndentation
    - setBreakClosingHeaderBracesMode
    - setTabSpaceConversionMode
    - setRemoveBracketsMode
    - setIsQuiet
    - setBreakClosingHeaderBracketsMode
    - setErrorStream
    - astyle::ASOptions::isParamOption
    - setForceTabXIndentation
    - setIndentCol1CommentsMode
    - setBreakReturnType
    - setStripCommentPrefix
    - setPointerAlignment
    - setLabelIndent
    - setMethodPrefixPaddingMode
    - setIsDryRun
    - setBreakClosingHeaderBlocksMode
    - setCommaPaddingMode
    - astyle::ASOptions::isOptionError
    - setIsVerbose
    - setOperatorPaddingMode
    - setPreserveDate
    - setBreakOneLineHeadersMode
    - setBreakBlocksMode
    - setModifierIndent
    - setSpaceIndentation
    - setAddBracesMode
    - setRemoveBracesMode
    - setMaxInStatementIndentLength
    - setIgnoreExcludeErrorsAndDisplay
    - setMaxCodeLength
    - setLineEndFormat
    - string::c_str
    - string::length
    - setSharpStyle
    - setSwitchIndent
    - setAttachNamespace
    - setAfterParenIndent
    - setOrigSuffix
    - setParensHeaderPaddingMode
    - astyle::ASOptions::isOption
    - setCaseIndent
    - updateExcludeVector
    - setMethodPrefixUnPaddingMode
    - setContinuationIndentation
    - setParensOutsidePaddingMode
    - setAttachInline
    - setAttachReturnTypeDecl
    - setNamespaceIndent
    - setCloseTemplatesMode
    - setAttachExternC
    - setAttachClosingWhile
    - setBreakReturnTypeDecl
    - setIsRecursive
    - setReferenceAlignment
    - setPreprocConditionalIndent
    - setCStyle
    - setReturnTypeUnPaddingMode
    - setPreprocDefineIndent
    - setReturnTypePaddingMode
    - setIsFormattedOnly
    - setIgnoreExcludeErrors
    - setAddBracketsMode
    - setAddOneLineBracketsMode
    - setFormattingStyle
    - setClassIndent
    - setMaxContinuationIndentLength
    - setAttachClass
    - setMinConditionalIndentOption
    linkageType: ''
    returnType: void
    signature: void ASOptions::parseOption(const string& arg, const string& errorInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:3719,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:3720,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:3726,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:3733,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:3745,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3749,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:3750,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 30
    argCount: 2
    argNames:
    - ' in'
    - ' optionsVector'
    argTypes:
    - stringstream
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 3707
    functionDepth: 1
    functionLinenumber: 3707
    functionLinenumberEnd: 3753
    functionName: astyle::ASOptions::importOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::append
    - string::length
    - get
    - eof
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void ASOptions::importOptions(stringstream& in, vector<string>& optionsVector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3755
    functionDepth: 0
    functionLinenumber: 3755
    functionLinenumberEnd: 3758
    functionName: astyle::ASOptions::getOptionErrors
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - str
    linkageType: ''
    returnType: string
    signature: string ASOptions::getOptionErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:3762,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3760
    functionDepth: 0
    functionLinenumber: 3760
    functionLinenumberEnd: 3763
    functionName: astyle::ASOptions::getParam
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - substr
    - strlen
    linkageType: ''
    returnType: string
    signature: string ASOptions::getParam(const string& arg, const char* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3767,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3767,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - op1
    - op2
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3765
    functionDepth: 1
    functionLinenumber: 3765
    functionLinenumberEnd: 3768
    functionName: astyle::ASOptions::getParam
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASOptions::isParamOption
    - astyle::ASOptions::getParam
    linkageType: ''
    returnType: string
    signature: string ASOptions::getParam(const string& arg, const char* op1, const
      char* op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:3772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3773
    functionName: astyle::ASOptions::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isOption(const string& arg, const char* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3777,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - op1
    - op2
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3775
    functionDepth: 1
    functionLinenumber: 3775
    functionLinenumberEnd: 3778
    functionName: astyle::ASOptions::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASOptions::isOption
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isOption(const string& arg, const char* op1, const
      char* op2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' arg'
    - ' errorInfo'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3785
    functionName: astyle::ASOptions::isOptionError
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - str
    linkageType: ''
    returnType: void
    signature: void ASOptions::isOptionError(const string& arg, const string& errorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:3789,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3789,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3791,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3791,1
    - Dst: isdigit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - option
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3787
    functionDepth: 0
    functionLinenumber: 3787
    functionLinenumberEnd: 3795
    functionName: astyle::ASOptions::isParamOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - length
    - strlen
    - compare
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isParamOption(const string& arg, const char* option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3799,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - option1
    - option2
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3797
    functionDepth: 1
    functionLinenumber: 3797
    functionLinenumberEnd: 3800
    functionName: astyle::ASOptions::isParamOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - astyle::ASOptions::isParamOption
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isParamOption(const string& arg, const char* option1,
      const char* option2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3812
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3812
    functionName: astyle::ASEncoding::getBigEndian
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASEncoding::getBigEndian() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3818
    functionName: astyle::ASEncoding::swap16bit
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASEncoding::swap16bit(int value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - utf16In
    argTypes:
    - utf16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3822
    functionDepth: 0
    functionLinenumber: 3822
    functionLinenumberEnd: 3828
    functionName: astyle::ASEncoding::utf16len
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf16len(const utf16* utf16In) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3839,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - utf16In
    - inLen
    - isBigEndian
    argTypes:
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3857
      start: 3835
    functionDepth: 1
    functionLinenumber: 3835
    functionLinenumberEnd: 3857
    functionName: astyle::ASEncoding::utf8LengthFromUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char16_t*>
    - astyle::ASEncoding::swap16bit
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf8LengthFromUtf16(const char* utf16In, size_t
      inLen, bool isBigEndian) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ubyte*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3866,1
    - Dst: reinterpret_cast<utf16*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3867,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3922,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3922,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3924,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3924,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3927,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3927,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - utf8In
    - inLen
    - isBigEndian
    - utf16Out
    argTypes:
    - char*
    - size_t
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3863
    functionDepth: 1
    functionLinenumber: 3863
    functionLinenumberEnd: 3932
    functionName: astyle::ASEncoding::utf8ToUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ubyte*>
    - astyle::ASEncoding::swap16bit
    - static_cast<utf16>
    - reinterpret_cast<utf16*>
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf8ToUtf16(char* utf8In, size_t inLen, bool isBigEndian,
      char* utf16Out) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - utf8In
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3939
    functionDepth: 0
    functionLinenumber: 3939
    functionLinenumberEnd: 3962
    functionName: astyle::ASEncoding::utf16LengthFromUtf8
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf16LengthFromUtf8(const char* utf8In, size_t len)
      const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ubyte*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3973,1
    - Dst: reinterpret_cast<ubyte*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3974,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3994,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3995,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4000,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4008,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4009,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4014,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4022,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4027,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4032,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4037,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4042,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4046,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4050,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4055,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 5
    argNames:
    - utf16In
    - inLen
    - isBigEndian
    - firstBlock
    - utf8Out
    argTypes:
    - char*
    - size_t
    - bool
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 3968
    functionDepth: 0
    functionLinenumber: 3968
    functionLinenumberEnd: 4058
    functionName: astyle::ASEncoding::utf16ToUtf8
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ubyte*>
    - static_cast<utf16>
    - static_cast<ubyte>
    linkageType: ''
    returnType: size_t
    signature: "size_t ASEncoding::utf16ToUtf8(char* utf16In, size_t inLen, bool isBigEndian,\n
      \                              bool firstBlock, char* utf8Out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/tools/astyle/astyle_main.cpp:109,1
    - Dst: seekg
      Src: /src/geos/tools/astyle/astyle_main.cpp:117,1
    - Dst: astyle::ASStreamIterator<T>::tellg
      Src: /src/geos/tools/astyle/astyle_main.cpp:118,1
    - Dst: seekg
      Src: /src/geos/tools/astyle/astyle_main.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: astyle::ASStreamIterator<T>::ASStreamIterator
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - seekg
    - astyle::ASStreamIterator<T>::tellg
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::ASStreamIterator(T* in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: ASStreamIterator<T>::~ASStreamIterator()
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::~ASStreamIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/tools/astyle/astyle_main.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: astyle::ASStreamIterator<T>::getStreamLength
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ASStreamIterator<T>::getStreamLength() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:149,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:164,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:166,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:168,1
    - Dst: append
      Src: /src/geos/tools/astyle/astyle_main.cpp:170,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:171,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:174,1
    - Dst: peek
      Src: /src/geos/tools/astyle/astyle_main.cpp:179,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:182,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:188,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:198,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:207,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - emptyLineWasDeleted
    argTypes:
    - bool
    assertStmts:
    - condition: (peekStart == 0)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 234
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 234
    functionName: astyle::ASStreamIterator<T>::nextLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - append
    - clear
    - get
    - eof
    - peek
    - assert
    linkageType: ''
    returnType: string
    signature: string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:243,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:243,1
    - Dst: astyle::ASStreamIterator<T>::tellg
      Src: /src/geos/tools/astyle/astyle_main.cpp:248,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:251,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:252,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:254,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:255,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:258,1
    - Dst: peek
      Src: /src/geos/tools/astyle/astyle_main.cpp:263,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:266,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hasMoreLines())
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: astyle::ASStreamIterator<T>::peekNextLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::append
    - astyle::ASStreamIterator<T>::tellg
    - eof
    - get
    - peek
    - hasMoreLines
    - assert
    linkageType: ''
    returnType: string
    signature: string ASStreamIterator<T>::peekNextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:279,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:280,1
    - Dst: seekg
      Src: /src/geos/tools/astyle/astyle_main.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (peekStart != 0)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: astyle::ASStreamIterator<T>::peekReset
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - assert
    - seekg
    - clear
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::peekReset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:289,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (inStream->eof())
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: astyle::ASStreamIterator<T>::saveLastInputLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - assert
    - eof
    linkageType: ''
    returnType: void
    signature: void ASStreamIterator<T>::saveLastInputLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASStreamIterator<T>::tellg
      Src: /src/geos/tools/astyle/astyle_main.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: astyle::ASStreamIterator<T>::tellg
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 6
    functionsReached:
    - astyle::ASStreamIterator<T>::tellg
    linkageType: ''
    returnType: streamoff
    signature: streamoff ASStreamIterator<T>::tellg()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - lineEndFormat
    argTypes:
    - int
    assertStmts:
    - condition: "(lineEndFormat == LINEEND_DEFAULT\n           || lineEndFormat ==
        LINEEND_WINDOWS\n           || lineEndFormat == LINEEND_LINUX\n           ||
        lineEndFormat == LINEEND_MACOLD)"
      pos:
        line_end: 306
        line_start: 303
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 326
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 326
    functionName: astyle::ASStreamIterator<T>::getLineEndChange
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASStreamIterator<T>::getLineEndChange(int lineEndFormat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ' formatterArg'
    argTypes:
    - ASFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 359
    functionName: astyle::ASConsole::ASConsole
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::ASConsole(ASFormatter& formatterArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: ASConsole::~ASConsole()
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::~ASConsole()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:367,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:368,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:370,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:445,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - ' out'
    - lineEnd
    argTypes:
    - ostringstream
    - int
    assertStmts:
    - condition: (lineEnd == LINEEND_WINDOWS || lineEnd == LINEEND_LINUX || lineEnd
        == LINEEND_MACOLD)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 446
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 446
    functionName: astyle::ASConsole::convertLineEnds
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - length
    - assert
    - str
    linkageType: ''
    returnType: void
    signature: void ASConsole::convertLineEnds(ostringstream& out, int lineEnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::convertLineEnds
      Src: /src/geos/tools/astyle/astyle_main.cpp:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - ostringstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: astyle::ASConsole::correctMixedLineEnds
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::convertLineEnds
    linkageType: ''
    returnType: void
    signature: void ASConsole::correctMixedLineEnds(ostringstream& out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:467,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:469,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:471,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:473,1
    - Dst: memcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 479
    functionName: astyle::ASConsole::detectEncoding
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: FileEncoding
    signature: FileEncoding ASConsole::detectEncoding(const char* data, size_t dataSize)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:484,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: astyle::ASConsole::error
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 16
    functionsReached:
    - _
    - exit
    linkageType: ''
    returnType: void
    signature: void ASConsole::error() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - why
    - what
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: astyle::ASConsole::error
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 17
    functionsReached:
    - astyle::ASConsole::error
    linkageType: ''
    returnType: void
    signature: void ASConsole::error(const char* why, const char* what) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:504,1
    - Dst: freopen
      Src: /src/geos/tools/astyle/astyle_main.cpp:506,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:506,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:507,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:507,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:509,1
    - Dst: freopen
      Src: /src/geos/tools/astyle/astyle_main.cpp:511,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:511,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:512,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:512,1
    - Dst: istream*::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:524,1
    - Dst: istream*::eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:525,1
    - Dst: istream*::fail
      Src: /src/geos/tools/astyle/astyle_main.cpp:525,1
    - Dst: stringstream::put
      Src: /src/geos/tools/astyle/astyle_main.cpp:527,1
    - Dst: istream*::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:528,1
    - Dst: getLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:536,1
    - Dst: astyle::ASConsole::initializeOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:538,1
    - Dst: init
      Src: /src/geos/tools/astyle/astyle_main.cpp:539,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:541,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:543,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:544,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:546,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:546,1
    - Dst: getIsLineReady
      Src: /src/geos/tools/astyle/astyle_main.cpp:552,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:554,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:554,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:556,1
    - Dst: flush
      Src: /src/geos/tools/astyle/astyle_main.cpp:560,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 561
    functionName: astyle::ASConsole::formatCinToCout
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - stringstream::put
    - getLineEndFormat
    - flush
    - freopen
    - getIsLineReady
    - nextLine
    - astyle::ASConsole::setOutputEOL
    - init
    - c_str
    - istream*::fail
    - astyle::ASConsole::initializeOutputEOL
    - hasMoreLines
    - ASStreamIterator::getOutputEOL
    - istream*::eof
    - astyle::ASConsole::error
    - empty
    - istream*::get
    linkageType: ''
    returnType: void
    signature: void ASConsole::formatCinToCout()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::readFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:572,1
    - Dst: getModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:576,1
    - Dst: astyle::ASConsole::stringEndsWith
      Src: /src/geos/tools/astyle/astyle_main.cpp:578,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:578,1
    - Dst: setJavaStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:579,1
    - Dst: astyle::ASConsole::stringEndsWith
      Src: /src/geos/tools/astyle/astyle_main.cpp:580,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:580,1
    - Dst: setSharpStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:581,1
    - Dst: setCStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:583,1
    - Dst: getLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:589,1
    - Dst: astyle::ASConsole::initializeOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:590,1
    - Dst: init
      Src: /src/geos/tools/astyle/astyle_main.cpp:593,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:596,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:598,1
    - Dst: hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:601,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:603,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:603,1
    - Dst: ASStreamIterator::saveLastInputLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:608,1
    - Dst: getIsLineReady
      Src: /src/geos/tools/astyle/astyle_main.cpp:610,1
    - Dst: astyle::ASConsole::setOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:612,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:612,1
    - Dst: nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:614,1
    - Dst: ASStreamIterator::saveLastInputLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:617,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:625,1
    - Dst: ASStreamIterator::compareToInputBuffer
      Src: /src/geos/tools/astyle/astyle_main.cpp:628,1
    - Dst: astyle::ASConsole::correctMixedLineEnds
      Src: /src/geos/tools/astyle/astyle_main.cpp:636,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:643,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:643,1
    - Dst: ASStreamIterator::getLineEndChange
      Src: /src/geos/tools/astyle/astyle_main.cpp:648,1
    - Dst: astyle::ASConsole::writeFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:651,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:652,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:652,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:658,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:658,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:662,1
    - Dst: getChecksumDiff
      Src: /src/geos/tools/astyle/astyle_main.cpp:662,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts:
    - condition: (formatter.getChecksumDiff() == 0)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 663
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 663
    functionName: astyle::ASConsole::formatFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - getLineEndFormat
    - substr
    - assert
    - astyle::ASConsole::printMsg
    - ASStreamIterator::saveLastInputLine
    - nextLine
    - setSharpStyle
    - ASStreamIterator::getLineEndChange
    - hasMoreLines
    - string::find_first_not_of
    - setCStyle
    - _
    - setJavaStyle
    - astyle::ASConsole::setOutputEOL
    - astyle::ASConsole::readFile
    - getIsLineReady
    - ASStreamIterator::getOutputEOL
    - astyle::ASConsole::correctMixedLineEnds
    - astyle::ASConsole::stringEndsWith
    - length
    - ASStreamIterator::compareToInputBuffer
    - getChecksumDiff
    - getModeManuallySet
    - string
    - astyle::ASConsole::writeFile
    - init
    - astyle::ASConsole::initializeOutputEOL
    linkageType: ''
    returnType: void
    signature: void ASConsole::formatFile(const string& fileName_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:680,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:681,1
    - Dst: front
      Src: /src/geos/tools/astyle/astyle_main.cpp:681,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:682,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:683,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:685,1
    - Dst: astyle::ASConsole::getCurrentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:685,1
    - Dst: string::find_last_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:688,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:690,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:692,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:695,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:695,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:700,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:700,1
    - Dst: astyle::ASConsole::getParentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:703,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 706
    functionName: astyle::ASConsole::findProjectOptionFilePath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string::empty
    - astyle::ASConsole::getParentDirectory
    - string::c_str
    - empty
    - string
    - string::substr
    - front
    - astyle::ASConsole::fileExists
    - astyle::ASConsole::getFullPathName
    - astyle::ASConsole::getCurrentDirectory
    - string::find_last_of
    linkageType: ''
    returnType: string
    signature: string ASConsole::findProjectOptionFilePath(const string& fileName_)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: astyle::ASConsole::getExcludeHitsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<bool>
    signature: vector<bool> ASConsole::getExcludeHitsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: astyle::ASConsole::getExcludeVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getExcludeVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: astyle::ASConsole::getFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: astyle::ASConsole::getFileNameVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getFileNameVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 726
    functionName: astyle::ASConsole::getFileOptionsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getFileOptionsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: astyle::ASConsole::getFilesAreIdentical
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getFilesAreIdentical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: astyle::ASConsole::getFilesFormatted
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASConsole::getFilesFormatted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: astyle::ASConsole::getIgnoreExcludeErrors
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIgnoreExcludeErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 742
    functionName: astyle::ASConsole::getIgnoreExcludeErrorsDisplay
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIgnoreExcludeErrorsDisplay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: astyle::ASConsole::getIsDryRun
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsDryRun() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: astyle::ASConsole::getIsFormattedOnly
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsFormattedOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::getLanguageID
      Src: /src/geos/tools/astyle/astyle_main.cpp:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: astyle::ASConsole::getLanguageID
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASConsole::getLanguageID
    linkageType: ''
    returnType: string
    signature: string ASConsole::getLanguageID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 758
    functionName: astyle::ASConsole::getIsQuiet
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsQuiet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: astyle::ASConsole::getIsRecursive
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsRecursive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 766
    functionName: astyle::ASConsole::getIsVerbose
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getIsVerbose() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 770
    functionName: astyle::ASConsole::getLineEndsMixed
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getLineEndsMixed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 774
    functionName: astyle::ASConsole::getNoBackup
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getNoBackup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: astyle::ASConsole::getOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getOptionFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 782
    functionName: astyle::ASConsole::getOptionsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getOptionsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: astyle::ASConsole::getOrigSuffix
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getOrigSuffix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 790
    functionName: astyle::ASConsole::getPreserveDate
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::getPreserveDate() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:795,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:795,1
    - Dst: find_last_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:797,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (projectOptionFileName.length() > 0)
      pos:
        line_end: 794
        line_start: 794
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 801
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 801
    functionName: astyle::ASConsole::getProjectOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - length
    - assert
    - find_last_of
    - substr
    linkageType: ''
    returnType: string
    signature: string ASConsole::getProjectOptionFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    functionName: astyle::ASConsole::getProjectOptionsVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getProjectOptionsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 809
    functionName: astyle::ASConsole::getStdPathIn
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getStdPathIn() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 813
    functionName: astyle::ASConsole::getStdPathOut
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASConsole::getStdPathOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 817
    functionName: astyle::ASConsole::setBypassBrowserOpen
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setBypassBrowserOpen(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: astyle::ASConsole::getErrorStream
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ostream
    signature: ostream * ASConsole::getErrorStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errStreamPtr
    argTypes:
    - ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: astyle::ASConsole::setErrorStream
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setErrorStream(ostream* errStreamPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector::emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:837,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 840
    functionName: astyle::ASConsole::getArgvOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string
    - vector::emplace_back
    linkageType: ''
    returnType: vector<string>
    signature: vector<string> ASConsole::getArgvOptions(int argc, char** argv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:844,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: astyle::ASConsole::getParam
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - substr
    - strlen
    linkageType: ''
    returnType: string
    signature: string ASConsole::getParam(const string& arg, const char* op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:852,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:855,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:857,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:858,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:861,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:863,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:864,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:865,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:866,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:867,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:867,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:868,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:869,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:871,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:873,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:873,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:873,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:874,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - ' targetFilename_'
    - ' targetFilenameVector'
    argTypes:
    - string
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 876
    functionName: astyle::ASConsole::getTargetFilenames
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - size
    - length
    - string::length
    - substr
    - fprintf
    - find_first_of
    - c_str
    - emplace_back
    - astyle::ASConsole::error
    - string::erase
    - _
    linkageType: ''
    returnType: void
    signature: "void ASConsole::getTargetFilenames(string& targetFilename_,\n                                   vector<string>&
      targetFilenameVector) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:881,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:886,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:887,1
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:897,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - lineEndFormat
    argTypes:
    - LineEndFormat
    assertStmts:
    - condition: "(lineEndFormat == LINEEND_DEFAULT\n           || lineEndFormat ==
        LINEEND_WINDOWS\n           || lineEndFormat == LINEEND_LINUX\n           ||
        lineEndFormat == LINEEND_MACOLD)"
      pos:
        line_end: 883
        line_start: 880
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 898
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 898
    functionName: astyle::ASConsole::initializeOutputEOL
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - assert
    - clear
    linkageType: ''
    returnType: void
    signature: void ASConsole::initializeOutputEOL(LineEndFormat lineEndFormat)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:904,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:906,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:906,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:907,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:909,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:909,1
    - Dst: ifstream::read
      Src: /src/geos/tools/astyle/astyle_main.cpp:910,1
    - Dst: ifstream::bad
      Src: /src/geos/tools/astyle/astyle_main.cpp:911,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:912,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:912,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tools/astyle/astyle_main.cpp:913,1
    - Dst: ifstream::gcount
      Src: /src/geos/tools/astyle/astyle_main.cpp:913,1
    - Dst: astyle::ASConsole::detectEncoding
      Src: /src/geos/tools/astyle/astyle_main.cpp:914,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:916,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:916,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:916,1
    - Dst: utf8LengthFromUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:924,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:925,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:927,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:927,1
    - Dst: utf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:928,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:929,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:930,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:934,1
    - Dst: ifstream::read
      Src: /src/geos/tools/astyle/astyle_main.cpp:935,1
    - Dst: ifstream::bad
      Src: /src/geos/tools/astyle/astyle_main.cpp:936,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:937,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:937,1
    - Dst: static_cast<size_t>
      Src: /src/geos/tools/astyle/astyle_main.cpp:938,1
    - Dst: ifstream::gcount
      Src: /src/geos/tools/astyle/astyle_main.cpp:938,1
    - Dst: ifstream::close
      Src: /src/geos/tools/astyle/astyle_main.cpp:941,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - ' fileName_'
    - ' in'
    argTypes:
    - string
    - stringstream
    assertStmts:
    - condition: (utf8Len <= utf8Size)
      pos:
        line_end: 928
        line_start: 928
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 944
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 944
    functionName: astyle::ASConsole::readFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - astyle::ASConsole::detectEncoding
    - static_cast<size_t>
    - ifstream::close
    - string
    - ifstream::gcount
    - utf8LengthFromUtf16
    - c_str
    - ifstream::read
    - assert
    - astyle::ASConsole::error
    - ifstream::bad
    - char::char
    - _
    - utf16ToUtf8
    linkageType: ''
    returnType: FileEncoding
    signature: FileEncoding ASConsole::readFile(const string& fileName_, stringstream&
      in) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 947
    functionName: astyle::ASConsole::setIgnoreExcludeErrors
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIgnoreExcludeErrors(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 950
    functionName: astyle::ASConsole::setIgnoreExcludeErrorsAndDisplay
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIgnoreExcludeErrorsAndDisplay(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 953
    functionName: astyle::ASConsole::setIsFormattedOnly
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsFormattedOnly(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 956
    functionName: astyle::ASConsole::setIsQuiet
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsQuiet(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 959
    functionName: astyle::ASConsole::setIsRecursive
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsRecursive(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 962
    functionName: astyle::ASConsole::setIsDryRun
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsDryRun(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 965
    functionName: astyle::ASConsole::setIsVerbose
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setIsVerbose(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 968
    functionName: astyle::ASConsole::setNoBackup
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setNoBackup(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 971
    functionName: astyle::ASConsole::setOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setOptionFileName(const string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' suffix'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 974
    functionName: astyle::ASConsole::setOrigSuffix
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setOrigSuffix(const string& suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 977
    functionName: astyle::ASConsole::setPreserveDate
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setPreserveDate(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optfilepath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 980
    functionName: astyle::ASConsole::setProjectOptionFileName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setProjectOptionFileName(const string& optfilepath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 983
    functionName: astyle::ASConsole::setStdPathIn
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setStdPathIn(const string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 986
    functionName: astyle::ASConsole::setStdPathOut
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::setStdPathOut(const string& path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - lineEndFormat
    - ' currentEOL'
    argTypes:
    - LineEndFormat
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1009
    functionName: astyle::ASConsole::setOutputEOL
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void ASConsole::setOutputEOL(LineEndFormat lineEndFormat, const string&
      currentEOL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/geos/tools/astyle/astyle_main.cpp:1019,1
    - Dst: FormatMessage
      Src: /src/geos/tools/astyle/astyle_main.cpp:1020,1
    - Dst: MAKELANGID
      Src: /src/geos/tools/astyle/astyle_main.cpp:1023,1
    - Dst: LocalFree
      Src: /src/geos/tools/astyle/astyle_main.cpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1032
    functionName: astyle::ASConsole::displayLastError
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - FormatMessage
    - LocalFree
    - MAKELANGID
    - GetLastError
    linkageType: ''
    returnType: void
    signature: void ASConsole::displayLastError()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:1045,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1046,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1046,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: astyle::ASConsole::getCurrentDirectory
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - string
    - GetCurrentDirectory
    - astyle::ASConsole::error
    - c_str
    linkageType: ''
    returnType: string
    signature: string ASConsole::getCurrentDirectory(const string& fileName_) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:1065,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1065,1
    - Dst: astyle::ASConsole::displayLastError
      Src: /src/geos/tools/astyle/astyle_main.cpp:1072,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1073,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1073,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1073,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1092,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1093,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1093,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1093,1
    - Dst: vector::emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1095,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1101,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1103,1
    - Dst: astyle::ASConsole::wildcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:1105,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1105,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1108,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1108,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1108,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1110,1
    - Dst: FindNextFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:1115,1
    - Dst: ::FindClose
      Src: /src/geos/tools/astyle/astyle_main.cpp:1118,1
    - Dst: GetLastError
      Src: /src/geos/tools/astyle/astyle_main.cpp:1119,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1121,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1121,1
    - Dst: vector::size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1125,1
    - Dst: astyle::ASConsole::getFileNames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1126,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - ' directory'
    - ' wildcards'
    argTypes:
    - string
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1129
    functionName: astyle::ASConsole::getFileNames
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - astyle::ASConsole::printMsg
    - astyle::ASConsole::isPathExclued
    - size
    - astyle::ASConsole::wildcmp
    - astyle::ASConsole::displayLastError
    - FindNextFile
    - GetLastError
    - string::c_str
    - vector::size
    - vector::emplace_back
    - FindFirstFile
    - string::substr
    - c_str
    - ::FindClose
    - emplace_back
    - astyle::ASConsole::getFileNames
    - astyle::ASConsole::error
    - _
    linkageType: ''
    returnType: void
    signature: void ASConsole::getFileNames(const string& directory, const vector<string>&
      wildcards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:1136,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1138
    functionName: astyle::ASConsole::getFullPathName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - GetFullPathName
    linkageType: ''
    returnType: string
    signature: string ASConsole::getFullPathName(const string& relativePath) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1155,1
    - Dst: locale
      Src: /src/geos/tools/astyle/astyle_main.cpp:1155,1
    - Dst: stringstream::str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1160,1
    - Dst: ::GetNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1167,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1167,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:1168,1
    - Dst: ::GetNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1171,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1171,1
    - Dst: ::GetLocaleInfo
      Src: /src/geos/tools/astyle/astyle_main.cpp:1175,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:1176,1
    - Dst: ::GetLocaleInfo
      Src: /src/geos/tools/astyle/astyle_main.cpp:1179,1
    - Dst: string::rfind
      Src: /src/geos/tools/astyle/astyle_main.cpp:1180,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:1183,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - num
    - lcid
    argTypes:
    - int
    - size_t
    assertStmts:
    - condition: (locale().name() == "C")
      pos:
        line_end: 1154
        line_start: 1154
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 1187
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1187
    functionName: astyle::ASConsole::getNumberFormat
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - ::GetLocaleInfo
    - ::GetNumberFormat
    - string::erase
    - string::c_str
    - string::rfind
    - string::length
    - locale
    - stringstream::str
    - assert
    - char::char
    linkageType: ''
    returnType: string
    signature: string ASConsole::getNumberFormat(int num, size_t lcid) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1198,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1202,1
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1205,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' absPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1209
    functionName: astyle::ASConsole::isHomeOrInvalidAbsPath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - strlen
    - getenv
    - c_str
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isHomeOrInvalidAbsPath(const string& absPath) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1222,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1226,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1227,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:1228,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1228,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1229,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1230,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1230,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1233,1
    - Dst: strpbrk
      Src: /src/geos/tools/astyle/astyle_main.cpp:1241,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1246,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1247,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1247,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1249,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1249,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1249,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1256,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1260,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1260,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1260,1
    - Dst: ShellExecuteEx
      Src: /src/geos/tools/astyle/astyle_main.cpp:1263,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1265,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1265,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1265,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - filePathIn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1214
    functionDepth: 3
    functionLinenumber: 1214
    functionLinenumberEnd: 1267
    functionName: astyle::ASConsole::launchDefaultBrowser
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string::append
    - stat
    - printf
    - string::c_str
    - getenv
    - ShellExecuteEx
    - string::length
    - _
    - astyle::ASConsole::error
    - strpbrk
    - string::erase
    - astyle::ASConsole::standardizePath
    linkageType: ''
    returnType: void
    signature: void ASConsole::launchDefaultBrowser(const char* filePathIn /*nullptr*/)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1281,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1283,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1283,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' fileName_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1285
    functionName: astyle::ASConsole::getCurrentDirectory
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - string
    - getenv
    - astyle::ASConsole::error
    - c_str
    linkageType: ''
    returnType: string
    signature: string ASConsole::getCurrentDirectory(const string& fileName_) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/geos/tools/astyle/astyle_main.cpp:1303,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1303,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1305,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1305,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1305,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1308,1
    - Dst: readdir
      Src: /src/geos/tools/astyle/astyle_main.cpp:1311,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1315,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1315,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:1322,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1323,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1323,1
    - Dst: S_ISDIR
      Src: /src/geos/tools/astyle/astyle_main.cpp:1329,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1331,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1332,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1332,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1332,1
    - Dst: vector::emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1334,1
    - Dst: S_ISREG
      Src: /src/geos/tools/astyle/astyle_main.cpp:1339,1
    - Dst: astyle::ASConsole::isPathExclued
      Src: /src/geos/tools/astyle/astyle_main.cpp:1342,1
    - Dst: astyle::ASConsole::wildcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:1346,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1346,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1349,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1349,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1349,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1351,1
    - Dst: closedir
      Src: /src/geos/tools/astyle/astyle_main.cpp:1358,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:1360,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1361,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1361,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1365,1
    - Dst: sort
      Src: /src/geos/tools/astyle/astyle_main.cpp:1366,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1366,1
    - Dst: vector::size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1370,1
    - Dst: sort
      Src: /src/geos/tools/astyle/astyle_main.cpp:1371,1
    - Dst: vector::begin
      Src: /src/geos/tools/astyle/astyle_main.cpp:1371,1
    - Dst: vector::end
      Src: /src/geos/tools/astyle/astyle_main.cpp:1371,1
    - Dst: vector::size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1372,1
    - Dst: astyle::ASConsole::getFileNames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1374,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - ' directory'
    - ' wildcards'
    argTypes:
    - string
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1294
    functionDepth: 3
    functionLinenumber: 1294
    functionLinenumberEnd: 1376
    functionName: astyle::ASConsole::getFileNames
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 5
    functionsReached:
    - vector::begin
    - vector::end
    - opendir
    - S_ISDIR
    - size
    - astyle::ASConsole::printMsg
    - string::c_str
    - _
    - closedir
    - readdir
    - vector::emplace_back
    - string::substr
    - c_str
    - S_ISREG
    - astyle::ASConsole::getFileNames
    - emplace_back
    - astyle::ASConsole::error
    - stat
    - astyle::ASConsole::isPathExclued
    - astyle::ASConsole::wildcmp
    - vector::size
    - perror
    - sort
    linkageType: ''
    returnType: void
    signature: void ASConsole::getFileNames(const string& directory, const vector<string>&
      wildcards)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1389,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1392
    functionName: astyle::ASConsole::getFullPathName
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - realpath
    - c_str
    linkageType: ''
    returnType: string
    signature: string ASConsole::getFullPathName(const string& relativePath) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1409,1
    - Dst: locale
      Src: /src/geos/tools/astyle/astyle_main.cpp:1409,1
    - Dst: localeconv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1414,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts:
    - condition: (locale().name() == "C")
      pos:
        line_end: 1408
        line_start: 1408
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 1418
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1418
    functionName: astyle::ASConsole::getNumberFormat
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - locale
    - assert
    - astyle::ASConsole::getNumberFormat
    - localeconv
    linkageType: ''
    returnType: string
    signature: string ASConsole::getNumberFormat(int num, size_t /*lcid*/) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stringstream::str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1434,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1439,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1442,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1450,1
    - Dst: string::insert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1452,1
    - Dst: string::insert
      Src: /src/geos/tools/astyle/astyle_main.cpp:1457,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:1458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - num
    - groupingArg
    - separator
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1465
    functionName: astyle::ASConsole::getNumberFormat
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - string::length
    - stringstream::str
    - string::substr
    - string::insert
    - string::erase
    linkageType: ''
    returnType: string
    signature: string ASConsole::getNumberFormat(int num, const char* groupingArg,
      const char* separator) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1476,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1480,1
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1483,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' absPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1487
    functionName: astyle::ASConsole::isHomeOrInvalidAbsPath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - strlen
    - getenv
    - c_str
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isHomeOrInvalidAbsPath(const string& absPath) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/geos/tools/astyle/astyle_main.cpp:1507,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1512,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1513,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1513,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1515,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1515,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1515,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:1520,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1523,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:1524,1
    - Dst: strcpy
      Src: /src/geos/tools/astyle/astyle_main.cpp:1525,1
    - Dst: strtok
      Src: /src/geos/tools/astyle/astyle_main.cpp:1534,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1538,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1539,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1540,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1540,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:1541,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1542,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1542,1
    - Dst: strtok
      Src: /src/geos/tools/astyle/astyle_main.cpp:1544,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1548,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1548,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1551,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1551,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1551,1
    - Dst: execlp
      Src: /src/geos/tools/astyle/astyle_main.cpp:1554,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1554,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1556,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1556,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - filePathIn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1558
    functionName: astyle::ASConsole::launchDefaultBrowser
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - string::append
    - stat
    - printf
    - string::c_str
    - getenv
    - _
    - string::length
    - char::char
    - strcpy
    - strlen
    - string
    - execlp
    - astyle::ASConsole::error
    - strpbrk
    - astyle::ASConsole::standardizePath
    - strtok
    linkageType: ''
    returnType: void
    signature: void ASConsole::launchDefaultBrowser(const char* filePathIn /*nullptr*/)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::isHomeOrInvalidAbsPath
      Src: /src/geos/tools/astyle/astyle_main.cpp:1572,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1574,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1576,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1577,1
    - Dst: rfind
      Src: /src/geos/tools/astyle/astyle_main.cpp:1581,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1584,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' absPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1588
    functionName: astyle::ASConsole::getParentDirectory
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - size
    - string
    - substr
    - rfind
    - astyle::ASConsole::isHomeOrInvalidAbsPath
    linkageType: ''
    returnType: string
    signature: string ASConsole::getParentDirectory(const string& absPath) const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:1593,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1594,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:1595,1
    - Dst: find_last_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:1599,1
    - Dst: astyle::ASConsole::getCurrentDirectory
      Src: /src/geos/tools/astyle/astyle_main.cpp:1603,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1605,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1609,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1610,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1611,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1614,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1616,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1616,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1616,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1617,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:1622,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1629,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1629,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1631,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1631,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1633,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:1637,1
    - Dst: astyle::ASConsole::printSeparatingLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:1643,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1644,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1644,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1648,1
    - Dst: astyle::ASConsole::getTargetFilenames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1655,1
    - Dst: astyle::ASConsole::getFileNames
      Src: /src/geos/tools/astyle/astyle_main.cpp:1656,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1663,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1663,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:1664,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1669,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:1677,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1677,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1679,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1679,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1679,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1684,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1684,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1684,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1692,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1692,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1693,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:1697,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1699,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1699,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:1699,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/astyle_main.cpp:1701,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:1701,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:1702,1
    - Dst: astyle::ASConsole::printSeparatingLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:1706,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1591
    functionDepth: 3
    functionLinenumber: 1591
    functionLinenumberEnd: 1707
    functionName: astyle::ASConsole::getFilePaths
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::printSeparatingLine
    - substr
    - astyle::ASConsole::printMsg
    - size
    - astyle::ASConsole::getTargetFilenames
    - string::c_str
    - fprintf
    - _
    - c_str
    - astyle::ASConsole::getFileNames
    - emplace_back
    - astyle::ASConsole::error
    - astyle::ASConsole::getCurrentDirectory
    - empty
    - stat
    - length
    - find_last_of
    - clear
    - string
    - find_first_of
    linkageType: ''
    returnType: void
    signature: void ASConsole::getFilePaths(const string& filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1714
    functionName: astyle::ASConsole::fileExists
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - stat
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::fileExists(const char* file) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1719
    functionName: astyle::ASConsole::fileNameVectorIsEmpty
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::fileNameVectorIsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1724
    functionName: astyle::ASConsole::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isOption(const string& arg, const char* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:1728,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - a
    - b
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1729
    functionName: astyle::ASConsole::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - astyle::ASConsole::isOption
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isOption(const string& arg, const char* a, const char*
      b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:1733,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1733,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:1735,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1735,1
    - Dst: isdigit
      Src: /src/geos/tools/astyle/astyle_main.cpp:1736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - option
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1739
    functionName: astyle::ASConsole::isParamOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - length
    - strlen
    - compare
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isParamOption(const string& arg, const char* option)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:1750,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1754,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1754,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1757,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1757,1
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:1766,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1770,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:1771,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:1772,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:1773,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - ' subPath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1784
    functionName: astyle::ASConsole::isPathExclued
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - size
    - length
    - tolower
    - string::length
    - substr
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::isPathExclued(const string& subPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 491
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 2278
    functionName: astyle::ASConsole::printHelp
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASConsole::printHelp() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::printVerboseHeader
      Src: /src/geos/tools/astyle/astyle_main.cpp:2286,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2288,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:2291,1
    - Dst: astyle::ASConsole::getFilePaths
      Src: /src/geos/tools/astyle/astyle_main.cpp:2293,1
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:2296,1
    - Dst: astyle::ASConsole::formatFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2297,1
    - Dst: astyle::ASConsole::printVerboseStats
      Src: /src/geos/tools/astyle/astyle_main.cpp:2302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2283
    functionDepth: 4
    functionLinenumber: 2283
    functionLinenumberEnd: 2303
    functionName: astyle::ASConsole::processFiles
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASConsole::getFilePaths
    - size
    - astyle::ASConsole::printVerboseHeader
    - clock
    - astyle::ASConsole::printVerboseStats
    - astyle::ASConsole::formatFile
    linkageType: ''
    returnType: void
    signature: void ASConsole::processFiles()
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/astyle_main.cpp:2319,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2323,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2324,1
    - Dst: setlocale
      Src: /src/geos/tools/astyle/astyle_main.cpp:2327,1
    - Dst: setLanguageFromName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2328,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2330,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2336,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2338,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2339,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2340,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2343,1
    - Dst: astyle::ASConsole::setProjectOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2347,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2349,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2351,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2352,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2357,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2364,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2365,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2366,1
    - Dst: astyle::ASConsole::printHelp
      Src: /src/geos/tools/astyle/astyle_main.cpp:2368,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2369,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2371,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2372,1
    - Dst: astyle::ASConsole::launchDefaultBrowser
      Src: /src/geos/tools/astyle/astyle_main.cpp:2374,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2375,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2377,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2379,1
    - Dst: astyle::ASConsole::launchDefaultBrowser
      Src: /src/geos/tools/astyle/astyle_main.cpp:2380,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2380,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2381,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2383,1
    - Dst: astyle::ASConsole::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2384,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2386,1
    - Dst: exit
      Src: /src/geos/tools/astyle/astyle_main.cpp:2387,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2389,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2391,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2392,1
    - Dst: astyle::ASConsole::setStdPathIn
      Src: /src/geos/tools/astyle/astyle_main.cpp:2393,1
    - Dst: astyle::ASConsole::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:2395,1
    - Dst: astyle::ASConsole::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:2397,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2398,1
    - Dst: astyle::ASConsole::setStdPathOut
      Src: /src/geos/tools/astyle/astyle_main.cpp:2399,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2403,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2407,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2408,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2415,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2417,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2420,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2421,1
    - Dst: astyle::ASConsole::getFullPathName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2422,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2426,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2428,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2431,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2432,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2432,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2433,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2437,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2439,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2442,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2443,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2443,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2444,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2450,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2452,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2455,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2456,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2456,1
    - Dst: astyle::ASConsole::setOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2457,1
    - Dst: astyle::ASConsole::findProjectOptionFilePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2465,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2466,1
    - Dst: string::empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2466,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2467,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2467,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2467,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2468,1
    - Dst: astyle::ASConsole::setProjectOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2469,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2473,1
    - Dst: astyle::ASConsole::findProjectOptionFilePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2476,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2477,1
    - Dst: astyle::ASConsole::setProjectOptionFileName
      Src: /src/geos/tools/astyle/astyle_main.cpp:2478,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2483,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2486,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2486,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2487,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2487,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2487,1
    - Dst: astyle::ASConsole::readFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2488,1
    - Dst: stringstream::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:2493,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2494,1
    - Dst: strcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:2494,1
    - Dst: ASOptions::importOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2496,1
    - Dst: ASOptions::parseOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2497,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2498,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2498,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2501,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2501,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2501,1
    - Dst: ASOptions::getOptionErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:2505,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2506,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2507,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2510,1
    - Dst: astyle::ASConsole::fileExists
      Src: /src/geos/tools/astyle/astyle_main.cpp:2513,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2513,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2514,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2514,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2514,1
    - Dst: astyle::ASConsole::readFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2515,1
    - Dst: stringstream::get
      Src: /src/geos/tools/astyle/astyle_main.cpp:2520,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2521,1
    - Dst: strcmp
      Src: /src/geos/tools/astyle/astyle_main.cpp:2521,1
    - Dst: ASOptions::importOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2523,1
    - Dst: ASOptions::parseOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2524,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2525,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2525,1
    - Dst: ASOptions::getOptionErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:2530,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2531,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2532,1
    - Dst: ASOptions::parseOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:2536,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2537,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2537,1
    - Dst: ASOptions::getOptionErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:2540,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2541,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2542,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 145
    argCount: 1
    argNames:
    - ' argvOptions'
    argTypes:
    - vector<string>
    assertStmts:
    - condition: (strcmp(buf, "\xEF\xBB\xBF") == 0)
      pos:
        line_end: 2493
        line_start: 2493
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    - condition: (strcmp(buf, "\xEF\xBB\xBF") == 0)
      pos:
        line_end: 2520
        line_start: 2520
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2544
      start: 2308
    functionDepth: 3
    functionLinenumber: 2308
    functionLinenumberEnd: 2544
    functionName: astyle::ASConsole::processOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - setLanguageFromName
    - astyle::ASConsole::setStdPathOut
    - astyle::ASConsole::printHelp
    - setlocale
    - ASOptions::importOptions
    - assert
    - size
    - astyle::ASConsole::getFullPathName
    - string::c_str
    - stringstream::get
    - strcmp
    - _
    - astyle::ASConsole::getParam
    - exit
    - getenv
    - ASOptions::getOptionErrors
    - astyle::ASConsole::readFile
    - astyle::ASConsole::launchDefaultBrowser
    - c_str
    - astyle::ASConsole::findProjectOptionFilePath
    - astyle::ASConsole::isOption
    - emplace_back
    - astyle::ASConsole::error
    - empty
    - string::empty
    - printf
    - astyle::ASConsole::setProjectOptionFileName
    - string
    - ASOptions::parseOptions
    - astyle::ASConsole::isParamOption
    - astyle::ASConsole::fileExists
    - astyle::ASConsole::setOptionFileName
    - astyle::ASConsole::setStdPathIn
    - astyle::ASConsole::standardizePath
    linkageType: ''
    returnType: void
    signature: void ASConsole::processOptions(const vector<string>& argvOptions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/tools/astyle/astyle_main.cpp:2549,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:2555,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fileName_
    - errMsg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2547
    functionDepth: 2
    functionLinenumber: 2547
    functionLinenumberEnd: 2559
    functionName: astyle::ASConsole::removeFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASConsole::error
    - perror
    - remove
    linkageType: ''
    returnType: void
    signature: void ASConsole::removeFile(const char* fileName_, const char* errMsg)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/geos/tools/astyle/astyle_main.cpp:2564,1
    - Dst: astyle::ASConsole::waitForRemove
      Src: /src/geos/tools/astyle/astyle_main.cpp:2571,1
    - Dst: rename
      Src: /src/geos/tools/astyle/astyle_main.cpp:2572,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:2576,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - oldFileName
    - newFileName
    - errMsg
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2562
    functionDepth: 2
    functionLinenumber: 2562
    functionLinenumberEnd: 2580
    functionName: astyle::ASConsole::renameFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - rename
    - astyle::ASConsole::error
    - perror
    - astyle::ASConsole::waitForRemove
    linkageType: ''
    returnType: void
    signature: void ASConsole::renameFile(const char* oldFileName, const char* newFileName,
      const char* errMsg) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/geos/tools/astyle/astyle_main.cpp:2601,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2601,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2603,1
    - Dst: sys$parse
      Src: /src/geos/tools/astyle/astyle_main.cpp:2609,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2612,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2612,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/geos/tools/astyle/astyle_main.cpp:2616,1
    - Dst: lib$signal
      Src: /src/geos/tools/astyle/astyle_main.cpp:2618,1
    - Dst: decc$translate_vms
      Src: /src/geos/tools/astyle/astyle_main.cpp:2625,1
    - Dst: decc$translate_vms
      Src: /src/geos/tools/astyle/astyle_main.cpp:2629,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2634,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/astyle_main.cpp:2636,1
    - Dst: erase
      Src: /src/geos/tools/astyle/astyle_main.cpp:2643,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - ' path'
    - removeBeginningSeparator
    argTypes:
    - string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2585
    functionDepth: 2
    functionLinenumber: 2585
    functionLinenumberEnd: 2644
    functionName: astyle::ASConsole::standardizePath
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 7
    functionsReached:
    - sys$parse
    - length
    - decc$translate_vms
    - $VMS_STATUS_SUCCESS
    - strcpy
    - c_str
    - find_first_of
    - lib$signal
    - astyle::ASConsole::error
    - erase
    linkageType: ''
    returnType: void
    signature: void ASConsole::standardizePath(string& path, bool removeBeginningSeparator
      /*false*/) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2650,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - ' data'
    argTypes:
    - char*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2651
    functionName: astyle::ASConsole::printMsg
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 9
    functionsReached:
    - c_str
    - printf
    linkageType: ''
    returnType: void
    signature: void ASConsole::printMsg(const char* msg, const string& data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2657,1
    - Dst: astyle::ASConsole::printMsg
      Src: /src/geos/tools/astyle/astyle_main.cpp:2658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2653
    functionDepth: 1
    functionLinenumber: 2653
    functionLinenumberEnd: 2659
    functionName: astyle::ASConsole::printSeparatingLine
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - string::append
    - astyle::ASConsole::printMsg
    linkageType: ''
    returnType: void
    signature: void ASConsole::printSeparatingLine() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2663,1
    - Dst: time
      Src: /src/geos/tools/astyle/astyle_main.cpp:2669,1
    - Dst: localtime
      Src: /src/geos/tools/astyle/astyle_main.cpp:2670,1
    - Dst: strftime
      Src: /src/geos/tools/astyle/astyle_main.cpp:2671,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2674,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2675,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:2675,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2676,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2677,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:2678,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2679,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2679,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2681,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2682,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2682,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2682,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2684,1
    - Dst: getenv
      Src: /src/geos/tools/astyle/astyle_main.cpp:2686,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2687,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2688,1
    - Dst: empty
      Src: /src/geos/tools/astyle/astyle_main.cpp:2691,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2692,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2692,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isVerbose)
      pos:
        line_end: 2662
        line_start: 2662
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2693
      start: 2661
    functionDepth: 1
    functionLinenumber: 2661
    functionLinenumberEnd: 2693
    functionName: astyle::ASConsole::printVerboseHeader
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - string::append
    - printf
    - string::c_str
    - strftime
    - getenv
    - string::length
    - time
    - string
    - strlen
    - c_str
    - localtime
    - assert
    - _
    - empty
    linkageType: ''
    returnType: void
    signature: void ASConsole::printVerboseHeader() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2697,1
    - Dst: astyle::ASConsole::printSeparatingLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:2701,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2702,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2703,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2704,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2707,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2712,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2714,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2716,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2717,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2717,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2725,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2725,1
    - Dst: astyle::ASConsole::getNumberFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2728,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2729,1
    - Dst: _
      Src: /src/geos/tools/astyle/astyle_main.cpp:2729,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2729,1
    - Dst: printf
      Src: /src/geos/tools/astyle/astyle_main.cpp:2730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - startTime
    argTypes:
    - clock_t
    assertStmts:
    - condition: (isVerbose)
      pos:
        line_end: 2696
        line_start: 2696
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2731
      start: 2695
    functionDepth: 2
    functionLinenumber: 2695
    functionLinenumberEnd: 2731
    functionName: astyle::ASConsole::printVerboseStats
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - printf
    - astyle::ASConsole::getNumberFormat
    - astyle::ASConsole::printSeparatingLine
    - string::c_str
    - clock
    - assert
    - _
    linkageType: ''
    returnType: void
    signature: void ASConsole::printVerboseStats(clock_t startTime) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_t
      Src: /src/geos/tools/astyle/astyle_main.cpp:2736,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2736,1
    - Dst: clock
      Src: /src/geos/tools/astyle/astyle_main.cpp:2737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2738
    functionName: astyle::ASConsole::sleep
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 1
    functionsReached:
    - clock_t
    - clock
    linkageType: ''
    returnType: void
    signature: void ASConsole::sleep(int seconds) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2742,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:2743,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2747,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' str'
    - ' suffix'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2740
    functionDepth: 2
    functionLinenumber: 2740
    functionLinenumberEnd: 2757
    functionName: astyle::ASConsole::stringEndsWith
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - length
    - tolower
    linkageType: ''
    returnType: bool
    signature: bool ASConsole::stringEndsWith(const string& str, const string& suffix)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2761,1
    - Dst: astyle::ASConsole::standardizePath
      Src: /src/geos/tools/astyle/astyle_main.cpp:2762,1
    - Dst: back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2762,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:2763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' suffixParam'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2759
    functionDepth: 3
    functionLinenumber: 2759
    functionLinenumberEnd: 2764
    functionName: astyle::ASConsole::updateExcludeVector
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - astyle::ASConsole::standardizePath
    - push_back
    - back
    linkageType: ''
    returnType: void
    signature: void ASConsole::updateExcludeVector(const string& suffixParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASConsole::sleep
      Src: /src/geos/tools/astyle/astyle_main.cpp:2773,1
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - newFileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2779
    functionName: astyle::ASConsole::waitForRemove
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - stat
    - astyle::ASConsole::sleep
    linkageType: ''
    returnType: int
    signature: int ASConsole::waitForRemove(const char* newFileName) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2792,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2792,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2818,1
    - Dst: tolower
      Src: /src/geos/tools/astyle/astyle_main.cpp:2818,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - wild
    - data
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2784
    functionDepth: 2
    functionLinenumber: 2784
    functionLinenumberEnd: 2840
    functionName: astyle::ASConsole::wildcmp
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int ASConsole::wildcmp(const char* wild, const char* data) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/geos/tools/astyle/astyle_main.cpp:2847,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2847,1
    - Dst: astyle::ASConsole::removeFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2854,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2854,1
    - Dst: astyle::ASConsole::renameFile
      Src: /src/geos/tools/astyle/astyle_main.cpp:2855,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2855,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2855,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2859,1
    - Dst: astyle::ASConsole::error
      Src: /src/geos/tools/astyle/astyle_main.cpp:2861,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2861,1
    - Dst: utf16LengthFromUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2866,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2866,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2866,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:2867,1
    - Dst: utf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2868,1
    - Dst: const_cast<char*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2868,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2868,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2869,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2870,1
    - Dst: string
      Src: /src/geos/tools/astyle/astyle_main.cpp:2871,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2875,1
    - Dst: ofstream::close
      Src: /src/geos/tools/astyle/astyle_main.cpp:2877,1
    - Dst: utime
      Src: /src/geos/tools/astyle/astyle_main.cpp:2890,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:2890,1
    - Dst: perror
      Src: /src/geos/tools/astyle/astyle_main.cpp:2895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ' fileName_'
    - encoding
    - ' out'
    argTypes:
    - string
    - FileEncoding
    - ostringstream
    assertStmts:
    - condition: (utf16Len <= utf16Size)
      pos:
        line_end: 2869
        line_start: 2869
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2899
      start: 2842
    functionDepth: 3
    functionLinenumber: 2842
    functionLinenumberEnd: 2899
    functionName: astyle::ASConsole::writeFile
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - stat
    - utf16LengthFromUtf8
    - str
    - perror
    - string::c_str
    - const_cast<char*>
    - utf8ToUtf16
    - string
    - char::char
    - ofstream::close
    - c_str
    - utime
    - assert
    - astyle::ASConsole::error
    - astyle::ASConsole::renameFile
    - astyle::ASConsole::removeFile
    linkageType: ''
    returnType: void
    signature: void ASConsole::writeFile(const string& fileName_, FileEncoding encoding,
      ostringstream& out) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASLibrary::convertUtf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2913,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:2916,1
    - Dst: astyle::ASLibrary::convertUtf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2919,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:2923,1
    - Dst: AStyleMain
      Src: /src/geos/tools/astyle/astyle_main.cpp:2928,1
    - Dst: astyle::ASLibrary::convertUtf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2941,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:2946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pSourceIn
    - pOptions
    - fpErrorHandler
    - fpMemoryAlloc
    argTypes:
    - char16_t*
    - char16_t*
    - fpError
    - fpAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2908
    functionDepth: 1
    functionLinenumber: 2908
    functionLinenumberEnd: 2950
    functionName: astyle::ASLibrary::formatUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - AStyleMain
    - astyle::ASLibrary::convertUtf8ToUtf16
    - astyle::ASLibrary::convertUtf16ToUtf8
    - fpErrorHandler
    linkageType: ''
    returnType: char16_t
    signature: "char16_t * ASLibrary::formatUtf16(const char16_t* pSourceIn,     //
      the source to be formatted\n                                 const char16_t*
      pOptions,      // AStyle options\n                                 fpError fpErrorHandler,
      \       // error handler function\n                                 fpAlloc
      fpMemoryAlloc) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:2956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memoryNeeded
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2958
    functionName: astyle::ASLibrary::tempMemoryAllocation
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: char
    signature: char * STDCALL ASLibrary::tempMemoryAllocation(unsigned long memoryNeeded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2969,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:2970,1
    - Dst: getBigEndian
      Src: /src/geos/tools/astyle/astyle_main.cpp:2971,1
    - Dst: utf16LengthFromUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:2973,1
    - Dst: fpMemoryAlloc
      Src: /src/geos/tools/astyle/astyle_main.cpp:2974,1
    - Dst: utf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2978,1
    - Dst: utf8ToUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:2980,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2981,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:2983,1
    - Dst: utf16len
      Src: /src/geos/tools/astyle/astyle_main.cpp:2983,1
    - Dst: reinterpret_cast<char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2983,1
    - Dst: reinterpret_cast<char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - utf8In
    - fpMemoryAlloc
    argTypes:
    - char*
    - fpAlloc
    assertStmts:
    - condition: (utf16Len == utf16Size)
      pos:
        line_end: 2980
        line_start: 2980
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    - condition: (utf16Size == (encode.utf16len(reinterpret_cast<char16_t*>(utf16Out))
        + 1) * sizeof(char16_t))
      pos:
        line_end: 2982
        line_start: 2982
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 2985
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 2985
    functionName: astyle::ASLibrary::convertUtf8ToUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - fpMemoryAlloc
    - utf16LengthFromUtf8
    - utf16len
    - const_cast<char*>
    - utf8ToUtf16
    - getBigEndian
    - strlen
    - assert
    - reinterpret_cast<char16_t*>
    linkageType: ''
    returnType: char16_t
    signature: char16_t * ASLibrary::convertUtf8ToUtf16(const char* utf8In, fpAlloc
      fpMemoryAlloc) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2996,1
    - Dst: const_cast<char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:2996,1
    - Dst: utf16len
      Src: /src/geos/tools/astyle/astyle_main.cpp:2998,1
    - Dst: getBigEndian
      Src: /src/geos/tools/astyle/astyle_main.cpp:2999,1
    - Dst: utf8LengthFromUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:3000,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:3001,1
    - Dst: utf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:3005,1
    - Dst: utf16ToUtf8
      Src: /src/geos/tools/astyle/astyle_main.cpp:3007,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:3008,1
    - Dst: assert
      Src: /src/geos/tools/astyle/astyle_main.cpp:3010,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - utf16In
    argTypes:
    - char16_t*
    assertStmts:
    - condition: (utf8Len == utf8Size)
      pos:
        line_end: 3007
        line_start: 3007
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    - condition: (utf8Size == strlen(utf8Out) + 1)
      pos:
        line_end: 3009
        line_start: 3009
        source_file: /src/geos/tools/astyle/astyle_main.cpp
    constantsTouched: []
    func_position:
      end: 3012
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 3012
    functionName: astyle::ASLibrary::convertUtf16ToUtf8
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - utf16len
    - const_cast<char16_t*>
    - getBigEndian
    - utf8LengthFromUtf16
    - strlen
    - reinterpret_cast<char*>
    - assert
    - char::char
    - utf16ToUtf8
    linkageType: ''
    returnType: char
    signature: char * ASLibrary::convertUtf16ToUtf8(const char16_t* utf16In) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' formatterArg'
    argTypes:
    - ASFormatter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3024
    functionName: astyle::ASOptions::ASOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASOptions::ASOptions(ASFormatter& formatterArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' formatterArg'
    - ' consoleArg'
    argTypes:
    - ASFormatter
    - ASConsole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3028
    functionName: astyle::ASOptions::ASOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASOptions::ASOptions(ASFormatter& formatterArg, ASConsole& consoleArg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/astyle_main.cpp:3043,1
    - Dst: begin
      Src: /src/geos/tools/astyle/astyle_main.cpp:3045,1
    - Dst: end
      Src: /src/geos/tools/astyle/astyle_main.cpp:3045,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:3049,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3050,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:3050,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3055,1
    - Dst: isalpha
      Src: /src/geos/tools/astyle/astyle_main.cpp:3058,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3062,1
    - Dst: append
      Src: /src/geos/tools/astyle/astyle_main.cpp:3066,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3069,1
    - Dst: astyle::ASOptions::parseOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3074,1
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ' optionsVector'
    - ' errorInfo'
    argTypes:
    - vector<string>
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3039
    functionDepth: 2
    functionLinenumber: 3039
    functionLinenumberEnd: 3081
    functionName: astyle::ASOptions::parseOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::compare
    - isalpha
    - str
    - append
    - clear
    - string::length
    - string::substr
    - astyle::ASOptions::parseOption
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::parseOptions(vector<string>& optionsVector, const string&
      errorInfo)
  - BBCount: 145
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3085,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3085,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3085,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3087,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3089,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3089,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3091,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3093,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3093,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3093,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3095,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3097,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3099,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3101,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3103,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3105,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3107,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3109,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3109,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3111,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3113,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3115,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3117,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3117,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3119,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3121,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3121,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3123,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3125,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3125,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3127,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3129,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3131,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3133,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3135,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3137,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3139,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3141,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3141,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3143,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3146,1
    - Dst: setSharpStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3148,1
    - Dst: setModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3149,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3151,1
    - Dst: setCStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3153,1
    - Dst: setModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3154,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3156,1
    - Dst: setJavaStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3158,1
    - Dst: setModeManuallySet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3159,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3161,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3164,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3165,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3166,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3166,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3168,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3171,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3174,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3176,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3178,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3181,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3182,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3183,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3183,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3185,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3188,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3191,1
    - Dst: setTabIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3193,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3195,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3198,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3199,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3200,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3200,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3202,1
    - Dst: setForceTabXIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3205,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3208,1
    - Dst: setForceTabXIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3210,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3212,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3215,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3216,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3217,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3217,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3219,1
    - Dst: setSpaceIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3222,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3225,1
    - Dst: setSpaceIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3227,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3229,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3232,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3233,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3234,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3234,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3236,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3238,1
    - Dst: setContinuationIndentation
      Src: /src/geos/tools/astyle/astyle_main.cpp:3240,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3242,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3245,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3246,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3247,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3247,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3249,1
    - Dst: setMinConditionalIndentOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3251,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3253,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3256,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3257,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3258,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3258,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3260,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3262,1
    - Dst: setMaxContinuationIndentLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3264,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3266,1
    - Dst: setNamespaceIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3268,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3270,1
    - Dst: setClassIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3272,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3274,1
    - Dst: setModifierIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3276,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3278,1
    - Dst: setSwitchIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3280,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3282,1
    - Dst: setCaseIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3284,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3286,1
    - Dst: setAfterParenIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3288,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3290,1
    - Dst: setLabelIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3292,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3294,1
    - Dst: setPreprocBlockIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3296,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3298,1
    - Dst: setPreprocDefineIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3300,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3302,1
    - Dst: setPreprocConditionalIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3304,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3306,1
    - Dst: setBreakClosingHeaderBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3308,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3310,1
    - Dst: setBreakOneLineBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3312,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3314,1
    - Dst: setBreakOneLineStatementsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3316,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3318,1
    - Dst: setParensOutsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3320,1
    - Dst: setParensInsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3321,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3323,1
    - Dst: setParensOutsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3325,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3327,1
    - Dst: setParensFirstPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3329,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3331,1
    - Dst: setParensInsidePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3333,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3335,1
    - Dst: setParensHeaderPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3337,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3339,1
    - Dst: setParensUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3341,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3343,1
    - Dst: setOperatorPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3345,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3347,1
    - Dst: setCommaPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3349,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3351,1
    - Dst: setDeleteEmptyLinesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3353,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3355,1
    - Dst: setEmptyLineFill
      Src: /src/geos/tools/astyle/astyle_main.cpp:3357,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3359,1
    - Dst: setTabSpaceConversionMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3361,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3363,1
    - Dst: setCloseTemplatesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3365,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3367,1
    - Dst: setBreakBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3369,1
    - Dst: setBreakClosingHeaderBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3370,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3372,1
    - Dst: setBreakBlocksMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3374,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3376,1
    - Dst: setBreakElseIfsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3378,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3380,1
    - Dst: setBreakOneLineHeadersMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3382,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3384,1
    - Dst: setAddBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3386,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3388,1
    - Dst: setAddOneLineBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3390,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3392,1
    - Dst: setRemoveBracesMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3394,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3396,1
    - Dst: setIndentCol1CommentsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3398,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3400,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3402,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3404,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3406,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3408,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3410,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3412,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3415,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3416,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3417,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3417,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3419,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3421,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3423,1
    - Dst: setPointerAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3425,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3427,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3429,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3431,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3433,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3435,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3437,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3439,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3441,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3443,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3446,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3447,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3448,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3448,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3450,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3452,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3454,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3456,1
    - Dst: setReferenceAlignment
      Src: /src/geos/tools/astyle/astyle_main.cpp:3458,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3460,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3463,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3464,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3465,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3465,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3467,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3469,1
    - Dst: setMaxCodeLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3471,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3473,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3476,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3477,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3478,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3478,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3480,1
    - Dst: setMaxCodeLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3482,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3484,1
    - Dst: setBreakAfterMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3486,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3488,1
    - Dst: setAttachClass
      Src: /src/geos/tools/astyle/astyle_main.cpp:3490,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3492,1
    - Dst: setAttachClosingWhile
      Src: /src/geos/tools/astyle/astyle_main.cpp:3494,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3496,1
    - Dst: setAttachExternC
      Src: /src/geos/tools/astyle/astyle_main.cpp:3498,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3500,1
    - Dst: setAttachNamespace
      Src: /src/geos/tools/astyle/astyle_main.cpp:3502,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3504,1
    - Dst: setAttachInline
      Src: /src/geos/tools/astyle/astyle_main.cpp:3506,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3508,1
    - Dst: setStripCommentPrefix
      Src: /src/geos/tools/astyle/astyle_main.cpp:3510,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3512,1
    - Dst: setBreakReturnType
      Src: /src/geos/tools/astyle/astyle_main.cpp:3514,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3516,1
    - Dst: setBreakReturnTypeDecl
      Src: /src/geos/tools/astyle/astyle_main.cpp:3518,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3520,1
    - Dst: setAttachReturnType
      Src: /src/geos/tools/astyle/astyle_main.cpp:3522,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3524,1
    - Dst: setAttachReturnTypeDecl
      Src: /src/geos/tools/astyle/astyle_main.cpp:3526,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3529,1
    - Dst: setMethodPrefixPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3531,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3533,1
    - Dst: setMethodPrefixUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3535,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3537,1
    - Dst: setReturnTypePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3539,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3541,1
    - Dst: setReturnTypeUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3543,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3545,1
    - Dst: setParamTypePaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3547,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3549,1
    - Dst: setParamTypeUnPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3551,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3553,1
    - Dst: setAlignMethodColon
      Src: /src/geos/tools/astyle/astyle_main.cpp:3555,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3557,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3559,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3561,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3563,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3565,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3567,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3569,1
    - Dst: setObjCColonPaddingMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3571,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3575,1
    - Dst: setPreprocDefineIndent
      Src: /src/geos/tools/astyle/astyle_main.cpp:3577,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3579,1
    - Dst: setFormattingStyle
      Src: /src/geos/tools/astyle/astyle_main.cpp:3581,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3584,1
    - Dst: setBreakClosingHeaderBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3586,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3588,1
    - Dst: setAddBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3590,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3592,1
    - Dst: setAddOneLineBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3594,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3596,1
    - Dst: setRemoveBracketsMode
      Src: /src/geos/tools/astyle/astyle_main.cpp:3598,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3600,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3603,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3604,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3605,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3605,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3607,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3609,1
    - Dst: setMaxInStatementIndentLength
      Src: /src/geos/tools/astyle/astyle_main.cpp:3611,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3620,1
    - Dst: setNoBackup
      Src: /src/geos/tools/astyle/astyle_main.cpp:3622,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3624,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3626,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3627,1
    - Dst: setOrigSuffix
      Src: /src/geos/tools/astyle/astyle_main.cpp:3629,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3632,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3634,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3635,1
    - Dst: updateExcludeVector
      Src: /src/geos/tools/astyle/astyle_main.cpp:3636,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3638,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3638,1
    - Dst: setIsRecursive
      Src: /src/geos/tools/astyle/astyle_main.cpp:3640,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3642,1
    - Dst: setIsDryRun
      Src: /src/geos/tools/astyle/astyle_main.cpp:3644,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3646,1
    - Dst: setPreserveDate
      Src: /src/geos/tools/astyle/astyle_main.cpp:3648,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3650,1
    - Dst: setIsVerbose
      Src: /src/geos/tools/astyle/astyle_main.cpp:3652,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3654,1
    - Dst: setIsFormattedOnly
      Src: /src/geos/tools/astyle/astyle_main.cpp:3656,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3658,1
    - Dst: setIsQuiet
      Src: /src/geos/tools/astyle/astyle_main.cpp:3660,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3662,1
    - Dst: setIgnoreExcludeErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:3664,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3666,1
    - Dst: setIgnoreExcludeErrorsAndDisplay
      Src: /src/geos/tools/astyle/astyle_main.cpp:3668,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3670,1
    - Dst: setErrorStream
      Src: /src/geos/tools/astyle/astyle_main.cpp:3672,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3674,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3676,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3678,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3680,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3682,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3684,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3686,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3689,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3690,1
    - Dst: atoi
      Src: /src/geos/tools/astyle/astyle_main.cpp:3691,1
    - Dst: string::c_str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3691,1
    - Dst: astyle::ASOptions::isOptionError
      Src: /src/geos/tools/astyle/astyle_main.cpp:3693,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3695,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3697,1
    - Dst: setLineEndFormat
      Src: /src/geos/tools/astyle/astyle_main.cpp:3699,1
    CyclomaticComplexity: 162
    EdgeCount: 162
    ICount: 428
    argCount: 2
    argNames:
    - ' arg'
    - ' errorInfo'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3704
      start: 3083
    functionDepth: 1
    functionLinenumber: 3083
    functionLinenumberEnd: 3704
    functionName: astyle::ASOptions::parseOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - setAlignMethodColon
    - atoi
    - setBreakElseIfsMode
    - setNoBackup
    - setParensUnPaddingMode
    - setParamTypePaddingMode
    - setModeManuallySet
    - setParensInsidePaddingMode
    - setParamTypeUnPaddingMode
    - setJavaStyle
    - setEmptyLineFill
    - setDeleteEmptyLinesMode
    - setObjCColonPaddingMode
    - setBreakAfterMode
    - setBreakOneLineBlocksMode
    - setPreprocBlockIndent
    - astyle::ASOptions::getParam
    - setAddOneLineBracesMode
    - setBreakOneLineStatementsMode
    - setParensFirstPaddingMode
    - setAttachReturnType
    - setTabIndentation
    - setBreakClosingHeaderBracesMode
    - setTabSpaceConversionMode
    - setRemoveBracketsMode
    - setIsQuiet
    - setBreakClosingHeaderBracketsMode
    - setErrorStream
    - astyle::ASOptions::isParamOption
    - setForceTabXIndentation
    - setIndentCol1CommentsMode
    - setBreakReturnType
    - setStripCommentPrefix
    - setPointerAlignment
    - setLabelIndent
    - setMethodPrefixPaddingMode
    - setIsDryRun
    - setBreakClosingHeaderBlocksMode
    - setCommaPaddingMode
    - astyle::ASOptions::isOptionError
    - setIsVerbose
    - setOperatorPaddingMode
    - setPreserveDate
    - setBreakOneLineHeadersMode
    - setBreakBlocksMode
    - setModifierIndent
    - setSpaceIndentation
    - setAddBracesMode
    - setRemoveBracesMode
    - setMaxInStatementIndentLength
    - setIgnoreExcludeErrorsAndDisplay
    - setMaxCodeLength
    - setLineEndFormat
    - string::c_str
    - string::length
    - setSharpStyle
    - setSwitchIndent
    - setAttachNamespace
    - setAfterParenIndent
    - setOrigSuffix
    - setParensHeaderPaddingMode
    - astyle::ASOptions::isOption
    - setCaseIndent
    - updateExcludeVector
    - setMethodPrefixUnPaddingMode
    - setContinuationIndentation
    - setParensOutsidePaddingMode
    - setAttachInline
    - setAttachReturnTypeDecl
    - setNamespaceIndent
    - setCloseTemplatesMode
    - setAttachExternC
    - setAttachClosingWhile
    - setBreakReturnTypeDecl
    - setIsRecursive
    - setReferenceAlignment
    - setPreprocConditionalIndent
    - setCStyle
    - setReturnTypeUnPaddingMode
    - setPreprocDefineIndent
    - setReturnTypePaddingMode
    - setIsFormattedOnly
    - setIgnoreExcludeErrors
    - setAddBracketsMode
    - setAddOneLineBracketsMode
    - setFormattingStyle
    - setClassIndent
    - setMaxContinuationIndentLength
    - setAttachClass
    - setMinConditionalIndentOption
    linkageType: ''
    returnType: void
    signature: void ASOptions::parseOption(const string& arg, const string& errorInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:3719,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:3720,1
    - Dst: get
      Src: /src/geos/tools/astyle/astyle_main.cpp:3726,1
    - Dst: eof
      Src: /src/geos/tools/astyle/astyle_main.cpp:3733,1
    - Dst: string::append
      Src: /src/geos/tools/astyle/astyle_main.cpp:3745,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3749,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/astyle_main.cpp:3750,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 30
    argCount: 2
    argNames:
    - ' in'
    - ' optionsVector'
    argTypes:
    - stringstream
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 3707
    functionDepth: 1
    functionLinenumber: 3707
    functionLinenumberEnd: 3753
    functionName: astyle::ASOptions::importOptions
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - string::append
    - string::length
    - get
    - eof
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void ASOptions::importOptions(stringstream& in, vector<string>& optionsVector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3755
    functionDepth: 0
    functionLinenumber: 3755
    functionLinenumberEnd: 3758
    functionName: astyle::ASOptions::getOptionErrors
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - str
    linkageType: ''
    returnType: string
    signature: string ASOptions::getOptionErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/geos/tools/astyle/astyle_main.cpp:3762,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3760
    functionDepth: 0
    functionLinenumber: 3760
    functionLinenumberEnd: 3763
    functionName: astyle::ASOptions::getParam
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - substr
    - strlen
    linkageType: ''
    returnType: string
    signature: string ASOptions::getParam(const string& arg, const char* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3767,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3767,1
    - Dst: astyle::ASOptions::getParam
      Src: /src/geos/tools/astyle/astyle_main.cpp:3767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - op1
    - op2
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3765
    functionDepth: 1
    functionLinenumber: 3765
    functionLinenumberEnd: 3768
    functionName: astyle::ASOptions::getParam
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - astyle::ASOptions::isParamOption
    - astyle::ASOptions::getParam
    linkageType: ''
    returnType: string
    signature: string ASOptions::getParam(const string& arg, const char* op1, const
      char* op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:3772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' arg'
    - op
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3773
    functionName: astyle::ASOptions::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isOption(const string& arg, const char* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3777,1
    - Dst: astyle::ASOptions::isOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - op1
    - op2
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3775
    functionDepth: 1
    functionLinenumber: 3775
    functionLinenumberEnd: 3778
    functionName: astyle::ASOptions::isOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 4
    functionsReached:
    - astyle::ASOptions::isOption
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isOption(const string& arg, const char* op1, const
      char* op2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/geos/tools/astyle/astyle_main.cpp:3782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' arg'
    - ' errorInfo'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3785
    functionName: astyle::ASOptions::isOptionError
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached:
    - str
    linkageType: ''
    returnType: void
    signature: void ASOptions::isOptionError(const string& arg, const string& errorInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle_main.cpp:3789,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3789,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle_main.cpp:3791,1
    - Dst: length
      Src: /src/geos/tools/astyle/astyle_main.cpp:3791,1
    - Dst: isdigit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' arg'
    - option
    argTypes:
    - string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3787
    functionDepth: 0
    functionLinenumber: 3787
    functionLinenumberEnd: 3795
    functionName: astyle::ASOptions::isParamOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 5
    functionsReached:
    - length
    - strlen
    - compare
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isParamOption(const string& arg, const char* option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3799,1
    - Dst: astyle::ASOptions::isParamOption
      Src: /src/geos/tools/astyle/astyle_main.cpp:3799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' arg'
    - option1
    - option2
    argTypes:
    - string
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3797
    functionDepth: 1
    functionLinenumber: 3797
    functionLinenumberEnd: 3800
    functionName: astyle::ASOptions::isParamOption
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 6
    functionsReached:
    - astyle::ASOptions::isParamOption
    linkageType: ''
    returnType: bool
    signature: bool ASOptions::isParamOption(const string& arg, const char* option1,
      const char* option2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3812
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3812
    functionName: astyle::ASEncoding::getBigEndian
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASEncoding::getBigEndian() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3818
    functionName: astyle::ASEncoding::swap16bit
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASEncoding::swap16bit(int value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - utf16In
    argTypes:
    - utf16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3822
    functionDepth: 0
    functionLinenumber: 3822
    functionLinenumberEnd: 3828
    functionName: astyle::ASEncoding::utf16len
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf16len(const utf16* utf16In) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char16_t*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3839,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - utf16In
    - inLen
    - isBigEndian
    argTypes:
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3857
      start: 3835
    functionDepth: 1
    functionLinenumber: 3835
    functionLinenumberEnd: 3857
    functionName: astyle::ASEncoding::utf8LengthFromUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char16_t*>
    - astyle::ASEncoding::swap16bit
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf8LengthFromUtf16(const char* utf16In, size_t
      inLen, bool isBigEndian) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ubyte*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3866,1
    - Dst: reinterpret_cast<utf16*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3867,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3922,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3922,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3924,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3924,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3927,1
    - Dst: astyle::ASEncoding::swap16bit
      Src: /src/geos/tools/astyle/astyle_main.cpp:3927,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - utf8In
    - inLen
    - isBigEndian
    - utf16Out
    argTypes:
    - char*
    - size_t
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3863
    functionDepth: 1
    functionLinenumber: 3863
    functionLinenumberEnd: 3932
    functionName: astyle::ASEncoding::utf8ToUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ubyte*>
    - astyle::ASEncoding::swap16bit
    - static_cast<utf16>
    - reinterpret_cast<utf16*>
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf8ToUtf16(char* utf8In, size_t inLen, bool isBigEndian,
      char* utf16Out) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - utf8In
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3939
    functionDepth: 0
    functionLinenumber: 3939
    functionLinenumberEnd: 3962
    functionName: astyle::ASEncoding::utf16LengthFromUtf8
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: size_t
    signature: size_t ASEncoding::utf16LengthFromUtf8(const char* utf8In, size_t len)
      const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ubyte*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3973,1
    - Dst: reinterpret_cast<ubyte*>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3974,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3994,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:3995,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4000,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4008,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4009,1
    - Dst: static_cast<utf16>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4014,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4022,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4027,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4032,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4037,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4042,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4046,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4050,1
    - Dst: static_cast<ubyte>
      Src: /src/geos/tools/astyle/astyle_main.cpp:4055,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 5
    argNames:
    - utf16In
    - inLen
    - isBigEndian
    - firstBlock
    - utf8Out
    argTypes:
    - char*
    - size_t
    - bool
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 3968
    functionDepth: 0
    functionLinenumber: 3968
    functionLinenumberEnd: 4058
    functionName: astyle::ASEncoding::utf16ToUtf8
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ubyte*>
    - static_cast<utf16>
    - static_cast<ubyte>
    linkageType: ''
    returnType: size_t
    signature: "size_t ASEncoding::utf16ToUtf8(char* utf16In, size_t inLen, bool isBigEndian,\n
      \                              bool firstBlock, char* utf8Out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/geos/tools/astyle/astyle_main.cpp:4079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - JNIEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 4076
    functionDepth: 0
    functionLinenumber: 4076
    functionLinenumberEnd: 4080
    functionName: Java_AStyleInterface_AStyleGetVersion
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - JNIEnv*::NewStringUTF
    linkageType: ''
    returnType: EXPORT
    signature: EXPORT Java_AStyleInterface_AStyleGetVersion(JNIEnv* env, jclass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/geos/tools/astyle/astyle_main.cpp:4093,1
    - Dst: JNIEnv*::GetObjectClass
      Src: /src/geos/tools/astyle/astyle_main.cpp:4096,1
    - Dst: JNIEnv*::GetMethodID
      Src: /src/geos/tools/astyle/astyle_main.cpp:4097,1
    - Dst: JNIEnv*::GetStringUTFChars
      Src: /src/geos/tools/astyle/astyle_main.cpp:4105,1
    - Dst: JNIEnv*::GetStringUTFChars
      Src: /src/geos/tools/astyle/astyle_main.cpp:4106,1
    - Dst: AStyleMain
      Src: /src/geos/tools/astyle/astyle_main.cpp:4109,1
    - Dst: JNIEnv*::NewStringUTF
      Src: /src/geos/tools/astyle/astyle_main.cpp:4115,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/geos/tools/astyle/astyle_main.cpp:4117,1
    - Dst: JNIEnv*::ReleaseStringUTFChars
      Src: /src/geos/tools/astyle/astyle_main.cpp:4118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - env
    - obj
    - textInJava
    - optionsJava
    argTypes:
    - JNIEnv*
    - jobject
    - jstring
    - jstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4084
    functionDepth: 1
    functionLinenumber: 4084
    functionLinenumberEnd: 4121
    functionName: Java_AStyleInterface_AStyleMain
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - JNIEnv*::GetObjectClass
    - AStyleMain
    - JNIEnv*::ReleaseStringUTFChars
    - JNIEnv*::NewStringUTF
    - JNIEnv*::GetMethodID
    - JNIEnv*::GetStringUTFChars
    linkageType: ''
    returnType: EXPORT
    signature: "EXPORT Java_AStyleInterface_AStyleMain(JNIEnv* env,\n                                                jobject
      obj,\n                                                jstring textInJava,\n
      \                                               jstring optionsJava)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewStringUTF
      Src: /src/geos/tools/astyle/astyle_main.cpp:4126,1
    - Dst: CallVoidMethod
      Src: /src/geos/tools/astyle/astyle_main.cpp:4127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errorNumber
    - errorMessage
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4128
    functionName: javaErrorHandler
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - NewStringUTF
    - CallVoidMethod
    linkageType: ''
    returnType: void
    signature: void javaErrorHandler(int errorNumber, const char* errorMessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/geos/tools/astyle/astyle_main.cpp:4134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memoryNeeded
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4131
    functionDepth: 0
    functionLinenumber: 4131
    functionLinenumberEnd: 4136
    functionName: javaMemoryAlloc
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: char
    signature: char * STDCALL javaMemoryAlloc(unsigned long memoryNeeded)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4166,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4171,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4176,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4184,1
    - Dst: ASLibrary::formatUtf16
      Src: /src/geos/tools/astyle/astyle_main.cpp:4190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pSourceIn
    - pOptions
    - fpErrorHandler
    - fpMemoryAlloc
    argTypes:
    - char16_t*
    - char16_t*
    - fpError
    - fpAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4156
    functionDepth: 0
    functionLinenumber: 4156
    functionLinenumberEnd: 4192
    functionName: AStyleMainUtf16
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - ASLibrary::formatUtf16
    - fpErrorHandler
    linkageType: ''
    returnType: EXPORT
    signature: "EXPORT * STDCALL AStyleMainUtf16(const char16_t* pSourceIn,  // the
      source to be formatted\n                                                    const
      char16_t* pOptions,   // AStyle options\n                                                    fpError
      fpErrorHandler,     // error handler function\n                                                    fpAlloc
      fpMemoryAlloc)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4214,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4219,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4224,1
    - Dst: ASOptions::importOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:4234,1
    - Dst: ASOptions::parseOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:4236,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4238,1
    - Dst: ASOptions::getOptionErrors
      Src: /src/geos/tools/astyle/astyle_main.cpp:4238,1
    - Dst: ASFormatter::init
      Src: /src/geos/tools/astyle/astyle_main.cpp:4243,1
    - Dst: ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:4245,1
    - Dst: ASFormatter::nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:4247,1
    - Dst: ASFormatter::hasMoreLines
      Src: /src/geos/tools/astyle/astyle_main.cpp:4248,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:4249,1
    - Dst: ASFormatter::getIsLineReady
      Src: /src/geos/tools/astyle/astyle_main.cpp:4253,1
    - Dst: ASStreamIterator::getOutputEOL
      Src: /src/geos/tools/astyle/astyle_main.cpp:4255,1
    - Dst: ASFormatter::nextLine
      Src: /src/geos/tools/astyle/astyle_main.cpp:4256,1
    - Dst: ostringstream::str
      Src: /src/geos/tools/astyle/astyle_main.cpp:4261,1
    - Dst: fpMemoryAlloc
      Src: /src/geos/tools/astyle/astyle_main.cpp:4262,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4265,1
    - Dst: strcpy
      Src: /src/geos/tools/astyle/astyle_main.cpp:4269,1
    - Dst: ostringstream::str
      Src: /src/geos/tools/astyle/astyle_main.cpp:4269,1
    - Dst: ASFormatter::getChecksumDiff
      Src: /src/geos/tools/astyle/astyle_main.cpp:4274,1
    - Dst: fpErrorHandler
      Src: /src/geos/tools/astyle/astyle_main.cpp:4275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - pSourceIn
    - pOptions
    - fpErrorHandler
    - fpMemoryAlloc
    argTypes:
    - char*
    - char*
    - fpError
    - fpAlloc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4204
    functionDepth: 0
    functionLinenumber: 4204
    functionLinenumberEnd: 4280
    functionName: AStyleMain
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 3
    functionsReached:
    - fpMemoryAlloc
    - ostringstream::str
    - ASFormatter::hasMoreLines
    - ASFormatter::getIsLineReady
    - ASOptions::getOptionErrors
    - ASOptions::importOptions
    - ASOptions::parseOptions
    - ASFormatter::init
    - ASFormatter::nextLine
    - strcpy
    - fpErrorHandler
    - ASFormatter::getChecksumDiff
    - ASStreamIterator::getOutputEOL
    linkageType: ''
    returnType: EXPORT
    signature: "EXPORT * STDCALL AStyleMain(const char* pSourceIn,       // the source
      to be formatted\n                                           const char* pOptions,
      \       // AStyle options\n                                           fpError
      fpErrorHandler,      // error handler function\n                                           fpAlloc
      fpMemoryAlloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4282
    functionDepth: 0
    functionLinenumber: 4282
    functionLinenumberEnd: 4285
    functionName: AStyleGetVersion
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EXPORT
    signature: EXPORT * STDCALL AStyleGetVersion(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASConsole::ASConsole
      Src: /src/geos/tools/astyle/astyle_main.cpp:4298,1
    - Dst: unique_ptr::getArgvOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:4303,1
    - Dst: unique_ptr::processOptions
      Src: /src/geos/tools/astyle/astyle_main.cpp:4304,1
    - Dst: unique_ptr::fileNameVectorIsEmpty
      Src: /src/geos/tools/astyle/astyle_main.cpp:4307,1
    - Dst: unique_ptr::processFiles
      Src: /src/geos/tools/astyle/astyle_main.cpp:4308,1
    - Dst: unique_ptr::formatCinToCout
      Src: /src/geos/tools/astyle/astyle_main.cpp:4310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4313
      start: 4294
    functionDepth: 0
    functionLinenumber: 4294
    functionLinenumberEnd: 4313
    functionName: main
    functionSourceFile: /src/geos/tools/astyle/astyle_main.cpp
    functionUses: 0
    functionsReached:
    - unique_ptr::getArgvOptions
    - unique_ptr::processFiles
    - ASConsole::ASConsole
    - unique_ptr::fileNameVectorIsEmpty
    - unique_ptr::formatCinToCout
    - unique_ptr::processOptions
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: astyle::ASEnhancer::ASEnhancer
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::ASEnhancer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ASEnhancer::~ASEnhancer()
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::~ASEnhancer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::init
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:54,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 11
    argNames:
    - _fileType
    - _indentLength
    - _tabLength
    - _useTabs
    - _forceTab
    - _namespaceIndent
    - _caseIndent
    - _preprocBlockIndent
    - _preprocDefineIndent
    - _emptyLineFill
    - _indentableMacros
    argTypes:
    - int
    - int
    - int
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - vector<const pair<const string, const string>* >*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 90
    functionName: astyle::ASEnhancer::init
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASBase::init
    - clear
    linkageType: ''
    returnType: void
    signature: "void ASEnhancer::init(int  _fileType,\n                      int  _indentLength,\n
      \                     int  _tabLength,\n                      bool _useTabs,\n
      \                     bool _forceTab,\n                      bool _namespaceIndent,\n
      \                     bool _caseIndent,\n                      bool _preprocBlockIndent,\n
      \                     bool _preprocDefineIndent,\n                      bool
      _emptyLineFill,\n                      vector<const pair<const string, const
      string>* >* _indentableMacros)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:121,1
    - Dst: astyle::ASEnhancer::parseCurrentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:136,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:141,1
    - Dst: astyle::ASEnhancer::indentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:143,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:151,1
    - Dst: astyle::ASEnhancer::indentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:153,1
    - Dst: astyle::ASEnhancer::unindentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:157,1
    - Dst: astyle::ASEnhancer::unindentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:159,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 4
    argNames:
    - ' line'
    - isInNamespace
    - isInPreprocessor
    - isInSQL
    argTypes:
    - string
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 160
    functionName: astyle::ASEnhancer::enhance
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASEnhancer::unindentLine
    - find_first_not_of
    - length
    - astyle::ASEnhancer::indentLine
    - astyle::ASEnhancer::parseCurrentLine
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::enhance(string& line, bool isInNamespace, bool isInPreprocessor,
      bool isInSQL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:170,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:172,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:176,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: astyle::ASEnhancer::convertForceTabIndentToSpaces
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - length
    - insert
    - isWhiteSpace
    - erase
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::convertForceTabIndentToSpaces(string& line) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:190,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:193,1
    - Dst: replace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts:
    - condition: (tabLength > 0)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/geos/tools/astyle/ASEnhancer.cpp
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: astyle::ASEnhancer::convertSpaceIndentToForceTab
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - assert
    - find_first_not_of
    - replace
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::convertSpaceIndentToForceTab(string& line) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:210,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:231,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - ' line'
    - caseIndex
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 246
    functionName: astyle::ASEnhancer::findCaseColon
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - length
    - isDigitSeparator
    linkageType: ''
    returnType: size_t
    signature: size_t ASEnhancer::findCaseColon(const string& line, size_t caseIndex)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:258,1
    - Dst: astyle::ASEnhancer::convertForceTabIndentToSpaces
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:267,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:270,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:270,1
    - Dst: astyle::ASEnhancer::convertSpaceIndentToForceTab
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:272,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:277,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:277,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:282,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' line'
    - indent
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 286
    functionName: astyle::ASEnhancer::indentLine
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 1
    functionsReached:
    - insert
    - length
    - astyle::ASEnhancer::convertSpaceIndentToForceTab
    - begin
    - astyle::ASEnhancer::convertForceTabIndentToSpaces
    linkageType: ''
    returnType: int
    signature: int ASEnhancer::indentLine(string& line, int indent) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:301,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:303,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:308,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:310,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:311,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:312,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:315,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:321,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:327,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 335
    functionName: astyle::ASEnhancer::isBeginDeclareSectionSQL
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - toupper
    - find_first_not_of
    - length
    - string::length
    - getCurrentWord
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASEnhancer::isBeginDeclareSectionSQL(const string& line, size_t
      index) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:350,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:352,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:357,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:359,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:360,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:361,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:364,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:370,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:376,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 384
    functionName: astyle::ASEnhancer::isEndDeclareSectionSQL
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - toupper
    - find_first_not_of
    - length
    - string::length
    - getCurrentWord
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASEnhancer::isEndDeclareSectionSQL(const string& line, size_t
      index) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:396,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:401,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:411,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:433,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:440,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:443,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - ' line'
    - startChar
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[startChar] == '{')
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/geos/tools/astyle/ASEnhancer.cpp
    constantsTouched: []
    func_position:
      end: 460
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 460
    functionName: astyle::ASEnhancer::isOneLineBlockReached
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - length
    - assert
    - compare
    - isDigitSeparator
    linkageType: ''
    returnType: bool
    signature: bool ASEnhancer::isOneLineBlockReached(const string& line, int startChar)
      const
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:470,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:475,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:484,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:498,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:517,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:520,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:523,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:529,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:535,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:537,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:542,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:557,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:559,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:577,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:578,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:580,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:584,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:590,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:593,1
    - Dst: at
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:593,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:599,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:602,1
    - Dst: at
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:602,1
    - Dst: astyle::ASEnhancer::isBeginDeclareSectionSQL
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:615,1
    - Dst: astyle::ASEnhancer::isEndDeclareSectionSQL
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:617,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:624,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:627,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:643,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:644,1
    - Dst: astyle::ASEnhancer::processSwitchBlock
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:649,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 108
    argCount: 3
    argNames:
    - ' line'
    - isInPreprocessor
    - isInSQL
    argTypes:
    - string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 652
    functionName: astyle::ASEnhancer::parseCurrentLine
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - compare
    - find
    - isWhiteSpace
    - size
    - findKeyword
    - length
    - at
    - astyle::ASEnhancer::isEndDeclareSectionSQL
    - astyle::ASEnhancer::isBeginDeclareSectionSQL
    - string::length
    - substr
    - astyle::ASEnhancer::processSwitchBlock
    - string::substr
    - getCurrentWord
    - isDigitSeparator
    - emplace_back
    - isCharPotentialHeader
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::parseCurrentLine(string& line, bool isInPreprocessor,
      bool isInSQL)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:664,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:685,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:686,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:687,1
    - Dst: astyle::ASEnhancer::unindentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:691,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:695,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:696,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:702,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:703,1
    - Dst: astyle::ASEnhancer::findCaseColon
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:714,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:716,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:719,1
    - Dst: astyle::ASEnhancer::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:725,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:736,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:737,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 740
    functionName: astyle::ASEnhancer::processSwitchBlock
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASEnhancer::unindentLine
    - find_first_not_of
    - size
    - isCharPotentialHeader
    - pop_back
    - findKeyword
    - astyle::ASEnhancer::findCaseColon
    - length
    - isWhiteSpace
    - string::length
    - back
    - astyle::ASEnhancer::isOneLineBlockReached
    - getCurrentWord
    - empty
    linkageType: ''
    returnType: size_t
    signature: size_t ASEnhancer::processSwitchBlock(string& line, size_t index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:752,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:755,1
    - Dst: astyle::ASEnhancer::convertForceTabIndentToSpaces
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:765,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:767,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:770,1
    - Dst: astyle::ASEnhancer::convertSpaceIndentToForceTab
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:774,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:780,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ' line'
    - unindent
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 794
    functionName: astyle::ASEnhancer::unindentLine
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - length
    - astyle::ASEnhancer::convertSpaceIndentToForceTab
    - astyle::ASEnhancer::convertForceTabIndentToSpaces
    - erase
    linkageType: ''
    returnType: int
    signature: int ASEnhancer::unindentLine(string& line, int unindent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: astyle::ASEnhancer::ASEnhancer
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::ASEnhancer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ASEnhancer::~ASEnhancer()
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::~ASEnhancer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::init
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:54,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 11
    argNames:
    - _fileType
    - _indentLength
    - _tabLength
    - _useTabs
    - _forceTab
    - _namespaceIndent
    - _caseIndent
    - _preprocBlockIndent
    - _preprocDefineIndent
    - _emptyLineFill
    - _indentableMacros
    argTypes:
    - int
    - int
    - int
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - bool
    - vector<const pair<const string, const string>* >*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 90
    functionName: astyle::ASEnhancer::init
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASBase::init
    - clear
    linkageType: ''
    returnType: void
    signature: "void ASEnhancer::init(int  _fileType,\n                      int  _indentLength,\n
      \                     int  _tabLength,\n                      bool _useTabs,\n
      \                     bool _forceTab,\n                      bool _namespaceIndent,\n
      \                     bool _caseIndent,\n                      bool _preprocBlockIndent,\n
      \                     bool _preprocDefineIndent,\n                      bool
      _emptyLineFill,\n                      vector<const pair<const string, const
      string>* >* _indentableMacros)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:121,1
    - Dst: astyle::ASEnhancer::parseCurrentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:136,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:141,1
    - Dst: astyle::ASEnhancer::indentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:143,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:151,1
    - Dst: astyle::ASEnhancer::indentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:153,1
    - Dst: astyle::ASEnhancer::unindentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:157,1
    - Dst: astyle::ASEnhancer::unindentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:159,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 4
    argNames:
    - ' line'
    - isInNamespace
    - isInPreprocessor
    - isInSQL
    argTypes:
    - string
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 160
    functionName: astyle::ASEnhancer::enhance
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASEnhancer::unindentLine
    - find_first_not_of
    - length
    - astyle::ASEnhancer::indentLine
    - astyle::ASEnhancer::parseCurrentLine
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::enhance(string& line, bool isInNamespace, bool isInPreprocessor,
      bool isInSQL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:170,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:172,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:176,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: astyle::ASEnhancer::convertForceTabIndentToSpaces
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 2
    functionsReached:
    - length
    - insert
    - isWhiteSpace
    - erase
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::convertForceTabIndentToSpaces(string& line) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:190,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:193,1
    - Dst: replace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts:
    - condition: (tabLength > 0)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/geos/tools/astyle/ASEnhancer.cpp
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: astyle::ASEnhancer::convertSpaceIndentToForceTab
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 2
    functionsReached:
    - assert
    - find_first_not_of
    - replace
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::convertSpaceIndentToForceTab(string& line) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:210,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:231,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - ' line'
    - caseIndex
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 246
    functionName: astyle::ASEnhancer::findCaseColon
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 1
    functionsReached:
    - length
    - isDigitSeparator
    linkageType: ''
    returnType: size_t
    signature: size_t ASEnhancer::findCaseColon(const string& line, size_t caseIndex)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:258,1
    - Dst: astyle::ASEnhancer::convertForceTabIndentToSpaces
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:267,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:270,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:270,1
    - Dst: astyle::ASEnhancer::convertSpaceIndentToForceTab
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:272,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:277,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:277,1
    - Dst: insert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:282,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' line'
    - indent
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 286
    functionName: astyle::ASEnhancer::indentLine
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 2
    functionsReached:
    - insert
    - length
    - astyle::ASEnhancer::convertSpaceIndentToForceTab
    - begin
    - astyle::ASEnhancer::convertForceTabIndentToSpaces
    linkageType: ''
    returnType: int
    signature: int ASEnhancer::indentLine(string& line, int indent) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:301,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:303,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:308,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:310,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:311,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:312,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:315,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:321,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:327,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 335
    functionName: astyle::ASEnhancer::isBeginDeclareSectionSQL
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 1
    functionsReached:
    - toupper
    - find_first_not_of
    - length
    - string::length
    - getCurrentWord
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASEnhancer::isBeginDeclareSectionSQL(const string& line, size_t
      index) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:350,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:352,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:357,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:359,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:360,1
    - Dst: toupper
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:361,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:364,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:370,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:376,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 384
    functionName: astyle::ASEnhancer::isEndDeclareSectionSQL
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 1
    functionsReached:
    - toupper
    - find_first_not_of
    - length
    - string::length
    - getCurrentWord
    - isCharPotentialHeader
    linkageType: ''
    returnType: bool
    signature: bool ASEnhancer::isEndDeclareSectionSQL(const string& line, size_t
      index) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:396,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:401,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:411,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:433,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:440,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:443,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - ' line'
    - startChar
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[startChar] == '{')
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/geos/tools/astyle/ASEnhancer.cpp
    constantsTouched: []
    func_position:
      end: 460
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 460
    functionName: astyle::ASEnhancer::isOneLineBlockReached
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 1
    functionsReached:
    - length
    - assert
    - compare
    - isDigitSeparator
    linkageType: ''
    returnType: bool
    signature: bool ASEnhancer::isOneLineBlockReached(const string& line, int startChar)
      const
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:470,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:475,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:484,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:498,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:517,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:520,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:523,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:529,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:535,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:537,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:542,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:557,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:559,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:577,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:578,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:580,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:584,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:590,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:593,1
    - Dst: at
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:593,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:599,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:602,1
    - Dst: at
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:602,1
    - Dst: astyle::ASEnhancer::isBeginDeclareSectionSQL
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:615,1
    - Dst: astyle::ASEnhancer::isEndDeclareSectionSQL
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:617,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:624,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:627,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:643,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:644,1
    - Dst: astyle::ASEnhancer::processSwitchBlock
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:649,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 108
    argCount: 3
    argNames:
    - ' line'
    - isInPreprocessor
    - isInSQL
    argTypes:
    - string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 652
    functionName: astyle::ASEnhancer::parseCurrentLine
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - compare
    - find
    - isWhiteSpace
    - size
    - findKeyword
    - length
    - at
    - astyle::ASEnhancer::isEndDeclareSectionSQL
    - astyle::ASEnhancer::isBeginDeclareSectionSQL
    - string::length
    - substr
    - astyle::ASEnhancer::processSwitchBlock
    - string::substr
    - getCurrentWord
    - isDigitSeparator
    - emplace_back
    - isCharPotentialHeader
    linkageType: ''
    returnType: void
    signature: void ASEnhancer::parseCurrentLine(string& line, bool isInPreprocessor,
      bool isInSQL)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:664,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:685,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:686,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:687,1
    - Dst: astyle::ASEnhancer::unindentLine
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:691,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:695,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:696,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:702,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:703,1
    - Dst: astyle::ASEnhancer::findCaseColon
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:714,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:716,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:719,1
    - Dst: astyle::ASEnhancer::isOneLineBlockReached
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:725,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:736,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:737,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 740
    functionName: astyle::ASEnhancer::processSwitchBlock
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASEnhancer::unindentLine
    - find_first_not_of
    - size
    - isCharPotentialHeader
    - pop_back
    - findKeyword
    - astyle::ASEnhancer::findCaseColon
    - length
    - isWhiteSpace
    - string::length
    - back
    - astyle::ASEnhancer::isOneLineBlockReached
    - getCurrentWord
    - empty
    linkageType: ''
    returnType: size_t
    signature: size_t ASEnhancer::processSwitchBlock(string& line, size_t index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:752,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:755,1
    - Dst: astyle::ASEnhancer::convertForceTabIndentToSpaces
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:765,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:767,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:770,1
    - Dst: astyle::ASEnhancer::convertSpaceIndentToForceTab
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:774,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:780,1
    - Dst: erase
      Src: /src/geos/tools/astyle/ASEnhancer.cpp:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ' line'
    - unindent
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 794
    functionName: astyle::ASEnhancer::unindentLine
    functionSourceFile: /src/geos/tools/astyle/ASEnhancer.cpp
    functionUses: 4
    functionsReached:
    - find_first_not_of
    - length
    - astyle::ASEnhancer::convertSpaceIndentToForceTab
    - astyle::ASEnhancer::convertForceTabIndentToSpaces
    - erase
    linkageType: ''
    returnType: int
    signature: int ASEnhancer::unindentLine(string& line, int unindent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:92,1
    - Dst: setlocale
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:96,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:99,1
    - Dst: astyle::ASLocalizer::setTranslationClass
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:100,1
    - Dst: GetUserDefaultLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:105,1
    - Dst: astyle::ASLocalizer::setLanguageFromLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:106,1
    - Dst: astyle::ASLocalizer::setLanguageFromName
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: astyle::ASLocalizer::ASLocalizer
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - GetUserDefaultLCID
    - astyle::ASLocalizer::setLanguageFromName
    - clear
    - astyle::ASLocalizer::setLanguageFromLCID
    - setlocale
    - astyle::ASLocalizer::setTranslationClass
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::ASLocalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ASLocalizer::~ASLocalizer()
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::~ASLocalizer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRIMARYLANGID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:164,1
    - Dst: LANGIDFROMLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:164,1
    - Dst: SUBLANGID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:165,1
    - Dst: LANGIDFROMLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:165,1
    - Dst: astyle::ASLocalizer::setTranslationClass
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - lcid
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: astyle::ASLocalizer::setLanguageFromLCID
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASLocalizer::setTranslationClass
    - PRIMARYLANGID
    - LANGIDFROMLCID
    - SUBLANGID
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::setLanguageFromLCID(size_t lcid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: astyle::ASLocalizer::getLanguageID
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASLocalizer::getLanguageID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_translation)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/geos/tools/astyle/ASLocalizer.cpp
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: astyle::ASLocalizer::getTranslationClass
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: Translation
    signature: Translation * ASLocalizer::getTranslationClass() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:224,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:229,1
    - Dst: astyle::ASLocalizer::setTranslationClass
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - langID
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 236
    functionName: astyle::ASLocalizer::setLanguageFromName
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASLocalizer::setTranslationClass
    - string::substr
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::setLanguageFromName(const char* langID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:241,1
    - Dst: translate
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - textIn
    argTypes:
    - char*
    assertStmts:
    - condition: (m_translation)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/geos/tools/astyle/ASLocalizer.cpp
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: astyle::ASLocalizer::settext
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - assert
    - translate
    linkageType: ''
    returnType: char
    signature: char * ASLocalizer::settext(const char* textIn) const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:251,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:251,1
    - Dst: Bulgarian::Bulgarian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:259,1
    - Dst: ChineseSimplified::ChineseSimplified
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:261,1
    - Dst: ChineseTraditional::ChineseTraditional
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:263,1
    - Dst: Dutch::Dutch
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:265,1
    - Dst: English::English
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:267,1
    - Dst: Estonian::Estonian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:269,1
    - Dst: Finnish::Finnish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:271,1
    - Dst: French::French
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:273,1
    - Dst: German::German
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:275,1
    - Dst: Greek::Greek
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:277,1
    - Dst: Hindi::Hindi
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:279,1
    - Dst: Hungarian::Hungarian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:281,1
    - Dst: Italian::Italian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:283,1
    - Dst: Japanese::Japanese
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:285,1
    - Dst: Korean::Korean
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:287,1
    - Dst: Norwegian::Norwegian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:289,1
    - Dst: Polish::Polish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:291,1
    - Dst: Portuguese::Portuguese
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:293,1
    - Dst: Romanian::Romanian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:295,1
    - Dst: Russian::Russian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:297,1
    - Dst: Spanish::Spanish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:299,1
    - Dst: Swedish::Swedish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:301,1
    - Dst: Ukrainian::Ukrainian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:303,1
    - Dst: English::English
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:305,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_langID.length())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/geos/tools/astyle/ASLocalizer.cpp
    constantsTouched: []
    func_position:
      end: 306
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 306
    functionName: astyle::ASLocalizer::setTranslationClass
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 3
    functionsReached:
    - Ukrainian::Ukrainian
    - Portuguese::Portuguese
    - assert
    - Bulgarian::Bulgarian
    - ChineseSimplified::ChineseSimplified
    - Russian::Russian
    - English::English
    - Hindi::Hindi
    - Japanese::Japanese
    - Italian::Italian
    - Korean::Korean
    - Romanian::Romanian
    - Greek::Greek
    - German::German
    - Swedish::Swedish
    - Spanish::Spanish
    - Dutch::Dutch
    - Finnish::Finnish
    - French::French
    - length
    - Polish::Polish
    - Norwegian::Norwegian
    - ChineseTraditional::ChineseTraditional
    - Hungarian::Hungarian
    - Estonian::Estonian
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::setTranslationClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' english'
    - ' translated'
    argTypes:
    - string
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: astyle::Translation::addPair
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void Translation::addPair(const string& english, const wstring& translated)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wcstombs
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:325,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:325,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:330,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:336,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:341,1
    - Dst: wcstombs
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:346,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' wideStr'
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 351
    functionName: astyle::Translation::convertToMultiByte
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - char::char
    - fprintf
    - c_str
    - wcstombs
    linkageType: ''
    returnType: string
    signature: string Translation::convertToMultiByte(const wstring& wideStr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:356,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: astyle::Translation::getTranslationString
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - string
    - size
    linkageType: ''
    returnType: string
    signature: string Translation::getTranslationString(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: astyle::Translation::getTranslationVectorSize
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Translation::getTranslationVectorSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' stringIn'
    - ' wideOut'
    argTypes:
    - string
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: astyle::Translation::getWideTranslation
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Translation::getWideTranslation(const string& stringIn, wstring&
      wideOut) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:388,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:389,1
    - Dst: convertToMultiByte
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:393,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' stringIn'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: '& Translation::translate(const string& stringIn) const'
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - size
    - clear
    - convertToMultiByte
    - empty
    linkageType: ''
    returnType: string
    signature: string & Translation::translate(const string& stringIn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:411,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:412,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:413,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:414,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:415,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:416,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:417,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:418,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:419,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:420,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:421,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:422,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:423,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:424,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:425,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:426,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:427,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:428,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:429,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:430,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:431,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:432,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:433,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:434,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:435,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:436,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:437,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:438,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 440
    functionName: astyle::Bulgarian::Bulgarian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Bulgarian::Bulgarian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:445,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:446,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:447,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:448,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:449,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:450,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:451,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:452,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:453,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:454,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:455,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:456,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:457,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:458,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:459,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:460,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:461,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:462,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:463,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:464,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:465,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:466,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:467,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:468,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:469,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:470,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:471,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:472,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 474
    functionName: astyle::ChineseSimplified::ChineseSimplified
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void ChineseSimplified::ChineseSimplified()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:479,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:480,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:481,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:482,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:483,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:484,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:485,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:486,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:487,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:488,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:489,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:490,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:491,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:492,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:493,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:494,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:495,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:496,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:497,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:498,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:499,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:500,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:501,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:502,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:503,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:504,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:505,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:506,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 508
    functionName: astyle::ChineseTraditional::ChineseTraditional
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void ChineseTraditional::ChineseTraditional()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:513,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:514,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:515,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:516,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:517,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:518,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:519,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:520,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:521,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:522,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:523,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:524,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:525,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:526,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:527,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:528,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:529,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:530,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:531,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:532,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:533,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:534,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:535,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:536,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:537,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:538,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:539,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:540,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 542
    functionName: astyle::Dutch::Dutch
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Dutch::Dutch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: astyle::English::English
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void English::English()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:551,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:552,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:553,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:554,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:555,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:556,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:557,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:558,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:559,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:560,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:561,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:562,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:563,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:564,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:565,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:566,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:567,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:568,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:569,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:570,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:571,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:572,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:573,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:574,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:575,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:576,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:577,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:578,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 580
    functionName: astyle::Estonian::Estonian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Estonian::Estonian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:585,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:586,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:587,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:588,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:589,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:590,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:591,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:592,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:593,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:594,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:595,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:596,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:597,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:598,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:599,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:600,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:601,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:602,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:603,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:604,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:605,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:606,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:607,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:608,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:609,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:610,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:611,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:612,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 614
    functionName: astyle::Finnish::Finnish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Finnish::Finnish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:619,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:620,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:621,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:622,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:623,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:624,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:625,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:626,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:627,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:628,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:629,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:630,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:631,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:632,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:633,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:634,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:635,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:636,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:637,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:638,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:639,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:640,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:641,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:642,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:643,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:644,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:645,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:646,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 648
    functionName: astyle::French::French
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void French::French()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:653,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:654,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:655,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:656,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:657,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:658,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:659,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:660,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:661,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:662,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:663,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:664,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:665,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:666,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:667,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:668,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:669,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:670,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:671,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:672,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:673,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:674,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:675,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:676,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:677,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:678,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:679,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:680,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 682
    functionName: astyle::German::German
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void German::German()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:687,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:688,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:689,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:690,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:691,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:692,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:693,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:694,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:695,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:696,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:697,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:698,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:699,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:700,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:701,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:702,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:703,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:704,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:705,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:706,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:707,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:708,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:709,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:710,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:711,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:712,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:713,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:714,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 716
    functionName: astyle::Greek::Greek
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Greek::Greek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:723,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:724,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:725,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:726,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:727,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:728,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:729,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:730,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:731,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:732,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:733,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:734,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:735,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:736,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:737,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:738,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:739,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:740,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:741,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:742,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:743,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:744,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:745,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:746,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:747,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:748,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:749,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:750,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 752
    functionName: astyle::Hindi::Hindi
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Hindi::Hindi()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:757,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:758,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:759,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:760,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:761,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:762,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:763,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:764,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:765,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:766,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:767,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:768,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:769,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:770,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:771,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:772,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:773,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:774,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:775,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:776,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:777,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:778,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:779,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:780,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:781,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:782,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:783,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:784,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 786
    functionName: astyle::Hungarian::Hungarian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Hungarian::Hungarian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:791,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:792,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:793,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:794,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:795,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:796,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:797,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:798,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:799,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:800,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:801,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:802,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:803,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:804,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:805,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:806,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:807,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:808,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:809,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:810,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:811,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:812,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:813,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:814,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:815,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:816,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:817,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:818,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 820
    functionName: astyle::Italian::Italian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Italian::Italian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:825,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:826,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:827,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:828,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:829,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:830,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:831,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:832,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:833,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:834,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:835,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:836,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:837,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:838,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:839,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:840,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:841,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:842,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:843,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:844,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:845,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:846,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:847,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:848,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:849,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:850,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:851,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:852,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 854
    functionName: astyle::Japanese::Japanese
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Japanese::Japanese()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:859,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:860,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:861,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:862,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:863,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:864,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:865,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:866,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:867,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:868,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:869,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:870,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:871,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:872,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:873,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:874,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:875,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:876,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:877,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:878,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:879,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:880,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:881,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:882,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:883,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:884,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:885,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:886,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 888
    functionName: astyle::Korean::Korean
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Korean::Korean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:893,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:894,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:895,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:896,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:897,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:898,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:899,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:900,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:901,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:902,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:903,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:904,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:905,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:906,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:907,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:908,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:909,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:910,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:911,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:912,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:913,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:914,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:915,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:916,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:917,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:918,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:919,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:920,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 922
    functionName: astyle::Norwegian::Norwegian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Norwegian::Norwegian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:927,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:928,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:929,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:930,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:931,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:932,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:933,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:934,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:935,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:936,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:937,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:938,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:939,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:940,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:941,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:942,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:943,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:944,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:945,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:946,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:947,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:948,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:949,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:950,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:951,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:952,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:953,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:954,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 956
    functionName: astyle::Polish::Polish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Polish::Polish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:961,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:962,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:963,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:964,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:965,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:966,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:967,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:968,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:969,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:970,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:971,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:972,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:973,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:974,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:975,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:976,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:977,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:978,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:979,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:980,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:981,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:982,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:983,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:984,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:985,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:986,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:987,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:988,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 990
    functionName: astyle::Portuguese::Portuguese
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Portuguese::Portuguese()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:995,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:996,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:997,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:998,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:999,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1000,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1001,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1002,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1003,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1004,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1005,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1006,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1007,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1008,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1009,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1010,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1011,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1012,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1013,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1014,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1015,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1016,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1017,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1018,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1019,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1020,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1021,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1022,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1024
    functionName: astyle::Romanian::Romanian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Romanian::Romanian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1029,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1030,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1031,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1032,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1033,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1034,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1035,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1036,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1037,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1038,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1039,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1040,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1041,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1042,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1043,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1044,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1045,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1046,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1047,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1048,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1049,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1050,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1051,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1052,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1053,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1054,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1055,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1056,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: astyle::Russian::Russian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Russian::Russian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1063,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1064,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1065,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1066,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1067,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1068,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1069,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1070,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1071,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1072,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1073,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1074,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1075,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1076,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1077,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1078,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1079,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1080,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1081,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1082,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1083,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1084,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1085,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1086,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1087,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1088,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1089,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1090,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1092
    functionName: astyle::Spanish::Spanish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Spanish::Spanish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1097,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1098,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1099,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1100,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1101,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1102,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1103,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1104,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1105,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1106,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1107,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1108,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1109,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1110,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1111,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1112,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1113,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1114,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1115,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1116,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1117,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1118,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1119,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1120,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1121,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1122,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1123,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1124,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1126
    functionName: astyle::Swedish::Swedish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Swedish::Swedish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1131,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1132,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1133,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1134,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1135,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1136,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1137,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1138,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1139,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1140,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1141,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1142,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1143,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1144,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1145,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1146,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1147,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1148,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1149,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1150,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1151,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1152,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1153,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1154,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1155,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1156,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1157,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1158,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1160
    functionName: astyle::Ukrainian::Ukrainian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Ukrainian::Ukrainian()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:92,1
    - Dst: setlocale
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:96,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:99,1
    - Dst: astyle::ASLocalizer::setTranslationClass
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:100,1
    - Dst: GetUserDefaultLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:105,1
    - Dst: astyle::ASLocalizer::setLanguageFromLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:106,1
    - Dst: astyle::ASLocalizer::setLanguageFromName
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: astyle::ASLocalizer::ASLocalizer
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - GetUserDefaultLCID
    - astyle::ASLocalizer::setLanguageFromName
    - clear
    - astyle::ASLocalizer::setLanguageFromLCID
    - setlocale
    - astyle::ASLocalizer::setTranslationClass
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::ASLocalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ASLocalizer::~ASLocalizer()
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::~ASLocalizer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRIMARYLANGID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:164,1
    - Dst: LANGIDFROMLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:164,1
    - Dst: SUBLANGID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:165,1
    - Dst: LANGIDFROMLCID
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:165,1
    - Dst: astyle::ASLocalizer::setTranslationClass
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - lcid
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: astyle::ASLocalizer::setLanguageFromLCID
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASLocalizer::setTranslationClass
    - PRIMARYLANGID
    - LANGIDFROMLCID
    - SUBLANGID
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::setLanguageFromLCID(size_t lcid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: astyle::ASLocalizer::getLanguageID
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASLocalizer::getLanguageID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_translation)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/geos/tools/astyle/ASLocalizer.cpp
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: astyle::ASLocalizer::getTranslationClass
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: Translation
    signature: Translation * ASLocalizer::getTranslationClass() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:224,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:229,1
    - Dst: astyle::ASLocalizer::setTranslationClass
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - langID
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 236
    functionName: astyle::ASLocalizer::setLanguageFromName
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASLocalizer::setTranslationClass
    - string::substr
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::setLanguageFromName(const char* langID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:241,1
    - Dst: translate
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - textIn
    argTypes:
    - char*
    assertStmts:
    - condition: (m_translation)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/geos/tools/astyle/ASLocalizer.cpp
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: astyle::ASLocalizer::settext
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - assert
    - translate
    linkageType: ''
    returnType: char
    signature: char * ASLocalizer::settext(const char* textIn) const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:251,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:251,1
    - Dst: Bulgarian::Bulgarian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:259,1
    - Dst: ChineseSimplified::ChineseSimplified
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:261,1
    - Dst: ChineseTraditional::ChineseTraditional
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:263,1
    - Dst: Dutch::Dutch
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:265,1
    - Dst: English::English
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:267,1
    - Dst: Estonian::Estonian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:269,1
    - Dst: Finnish::Finnish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:271,1
    - Dst: French::French
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:273,1
    - Dst: German::German
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:275,1
    - Dst: Greek::Greek
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:277,1
    - Dst: Hindi::Hindi
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:279,1
    - Dst: Hungarian::Hungarian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:281,1
    - Dst: Italian::Italian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:283,1
    - Dst: Japanese::Japanese
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:285,1
    - Dst: Korean::Korean
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:287,1
    - Dst: Norwegian::Norwegian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:289,1
    - Dst: Polish::Polish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:291,1
    - Dst: Portuguese::Portuguese
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:293,1
    - Dst: Romanian::Romanian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:295,1
    - Dst: Russian::Russian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:297,1
    - Dst: Spanish::Spanish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:299,1
    - Dst: Swedish::Swedish
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:301,1
    - Dst: Ukrainian::Ukrainian
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:303,1
    - Dst: English::English
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:305,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_langID.length())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/geos/tools/astyle/ASLocalizer.cpp
    constantsTouched: []
    func_position:
      end: 306
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 306
    functionName: astyle::ASLocalizer::setTranslationClass
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 6
    functionsReached:
    - Ukrainian::Ukrainian
    - Portuguese::Portuguese
    - assert
    - Bulgarian::Bulgarian
    - ChineseSimplified::ChineseSimplified
    - Russian::Russian
    - English::English
    - Hindi::Hindi
    - Japanese::Japanese
    - Italian::Italian
    - Korean::Korean
    - Romanian::Romanian
    - Greek::Greek
    - German::German
    - Swedish::Swedish
    - Spanish::Spanish
    - Dutch::Dutch
    - Finnish::Finnish
    - French::French
    - length
    - Polish::Polish
    - Norwegian::Norwegian
    - ChineseTraditional::ChineseTraditional
    - Hungarian::Hungarian
    - Estonian::Estonian
    linkageType: ''
    returnType: void
    signature: void ASLocalizer::setTranslationClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' english'
    - ' translated'
    argTypes:
    - string
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: astyle::Translation::addPair
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void Translation::addPair(const string& english, const wstring& translated)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wcstombs
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:325,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:325,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:330,1
    - Dst: char::char
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:336,1
    - Dst: fprintf
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:341,1
    - Dst: wcstombs
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:346,1
    - Dst: c_str
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' wideStr'
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 351
    functionName: astyle::Translation::convertToMultiByte
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - char::char
    - fprintf
    - c_str
    - wcstombs
    linkageType: ''
    returnType: string
    signature: string Translation::convertToMultiByte(const wstring& wideStr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:356,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: astyle::Translation::getTranslationString
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - string
    - size
    linkageType: ''
    returnType: string
    signature: string Translation::getTranslationString(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: astyle::Translation::getTranslationVectorSize
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Translation::getTranslationVectorSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' stringIn'
    - ' wideOut'
    argTypes:
    - string
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: astyle::Translation::getWideTranslation
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool Translation::getWideTranslation(const string& stringIn, wstring&
      wideOut) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:388,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:389,1
    - Dst: convertToMultiByte
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:393,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' stringIn'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: '& Translation::translate(const string& stringIn) const'
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - size
    - clear
    - convertToMultiByte
    - empty
    linkageType: ''
    returnType: string
    signature: string & Translation::translate(const string& stringIn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:411,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:412,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:413,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:414,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:415,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:416,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:417,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:418,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:419,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:420,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:421,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:422,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:423,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:424,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:425,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:426,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:427,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:428,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:429,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:430,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:431,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:432,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:433,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:434,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:435,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:436,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:437,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:438,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 440
    functionName: astyle::Bulgarian::Bulgarian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Bulgarian::Bulgarian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:445,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:446,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:447,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:448,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:449,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:450,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:451,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:452,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:453,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:454,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:455,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:456,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:457,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:458,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:459,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:460,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:461,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:462,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:463,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:464,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:465,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:466,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:467,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:468,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:469,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:470,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:471,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:472,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 474
    functionName: astyle::ChineseSimplified::ChineseSimplified
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void ChineseSimplified::ChineseSimplified()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:479,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:480,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:481,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:482,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:483,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:484,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:485,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:486,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:487,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:488,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:489,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:490,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:491,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:492,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:493,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:494,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:495,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:496,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:497,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:498,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:499,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:500,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:501,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:502,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:503,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:504,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:505,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:506,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 508
    functionName: astyle::ChineseTraditional::ChineseTraditional
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void ChineseTraditional::ChineseTraditional()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:513,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:514,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:515,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:516,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:517,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:518,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:519,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:520,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:521,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:522,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:523,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:524,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:525,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:526,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:527,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:528,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:529,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:530,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:531,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:532,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:533,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:534,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:535,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:536,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:537,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:538,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:539,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:540,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 542
    functionName: astyle::Dutch::Dutch
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Dutch::Dutch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: astyle::English::English
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void English::English()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:551,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:552,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:553,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:554,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:555,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:556,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:557,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:558,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:559,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:560,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:561,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:562,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:563,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:564,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:565,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:566,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:567,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:568,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:569,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:570,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:571,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:572,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:573,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:574,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:575,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:576,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:577,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:578,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 580
    functionName: astyle::Estonian::Estonian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Estonian::Estonian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:585,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:586,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:587,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:588,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:589,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:590,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:591,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:592,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:593,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:594,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:595,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:596,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:597,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:598,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:599,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:600,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:601,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:602,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:603,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:604,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:605,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:606,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:607,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:608,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:609,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:610,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:611,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:612,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 614
    functionName: astyle::Finnish::Finnish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Finnish::Finnish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:619,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:620,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:621,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:622,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:623,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:624,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:625,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:626,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:627,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:628,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:629,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:630,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:631,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:632,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:633,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:634,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:635,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:636,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:637,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:638,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:639,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:640,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:641,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:642,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:643,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:644,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:645,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:646,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 648
    functionName: astyle::French::French
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void French::French()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:653,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:654,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:655,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:656,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:657,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:658,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:659,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:660,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:661,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:662,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:663,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:664,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:665,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:666,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:667,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:668,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:669,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:670,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:671,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:672,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:673,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:674,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:675,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:676,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:677,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:678,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:679,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:680,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 682
    functionName: astyle::German::German
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void German::German()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:687,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:688,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:689,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:690,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:691,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:692,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:693,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:694,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:695,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:696,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:697,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:698,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:699,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:700,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:701,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:702,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:703,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:704,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:705,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:706,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:707,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:708,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:709,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:710,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:711,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:712,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:713,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:714,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 716
    functionName: astyle::Greek::Greek
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Greek::Greek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:723,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:724,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:725,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:726,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:727,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:728,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:729,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:730,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:731,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:732,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:733,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:734,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:735,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:736,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:737,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:738,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:739,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:740,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:741,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:742,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:743,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:744,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:745,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:746,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:747,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:748,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:749,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:750,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 752
    functionName: astyle::Hindi::Hindi
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Hindi::Hindi()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:757,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:758,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:759,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:760,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:761,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:762,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:763,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:764,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:765,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:766,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:767,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:768,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:769,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:770,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:771,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:772,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:773,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:774,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:775,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:776,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:777,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:778,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:779,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:780,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:781,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:782,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:783,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:784,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 786
    functionName: astyle::Hungarian::Hungarian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Hungarian::Hungarian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:791,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:792,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:793,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:794,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:795,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:796,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:797,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:798,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:799,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:800,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:801,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:802,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:803,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:804,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:805,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:806,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:807,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:808,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:809,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:810,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:811,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:812,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:813,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:814,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:815,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:816,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:817,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:818,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 820
    functionName: astyle::Italian::Italian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Italian::Italian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:825,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:826,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:827,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:828,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:829,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:830,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:831,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:832,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:833,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:834,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:835,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:836,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:837,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:838,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:839,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:840,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:841,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:842,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:843,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:844,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:845,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:846,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:847,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:848,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:849,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:850,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:851,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:852,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 854
    functionName: astyle::Japanese::Japanese
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Japanese::Japanese()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:859,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:860,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:861,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:862,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:863,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:864,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:865,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:866,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:867,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:868,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:869,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:870,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:871,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:872,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:873,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:874,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:875,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:876,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:877,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:878,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:879,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:880,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:881,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:882,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:883,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:884,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:885,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:886,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 888
    functionName: astyle::Korean::Korean
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Korean::Korean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:893,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:894,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:895,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:896,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:897,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:898,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:899,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:900,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:901,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:902,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:903,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:904,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:905,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:906,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:907,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:908,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:909,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:910,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:911,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:912,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:913,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:914,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:915,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:916,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:917,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:918,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:919,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:920,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 922
    functionName: astyle::Norwegian::Norwegian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Norwegian::Norwegian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:927,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:928,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:929,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:930,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:931,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:932,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:933,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:934,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:935,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:936,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:937,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:938,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:939,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:940,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:941,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:942,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:943,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:944,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:945,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:946,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:947,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:948,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:949,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:950,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:951,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:952,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:953,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:954,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 956
    functionName: astyle::Polish::Polish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Polish::Polish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:961,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:962,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:963,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:964,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:965,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:966,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:967,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:968,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:969,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:970,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:971,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:972,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:973,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:974,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:975,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:976,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:977,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:978,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:979,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:980,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:981,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:982,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:983,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:984,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:985,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:986,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:987,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:988,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 990
    functionName: astyle::Portuguese::Portuguese
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Portuguese::Portuguese()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:995,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:996,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:997,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:998,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:999,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1000,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1001,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1002,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1003,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1004,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1005,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1006,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1007,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1008,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1009,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1010,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1011,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1012,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1013,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1014,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1015,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1016,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1017,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1018,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1019,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1020,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1021,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1022,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1024
    functionName: astyle::Romanian::Romanian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Romanian::Romanian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1029,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1030,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1031,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1032,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1033,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1034,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1035,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1036,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1037,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1038,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1039,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1040,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1041,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1042,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1043,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1044,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1045,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1046,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1047,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1048,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1049,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1050,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1051,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1052,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1053,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1054,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1055,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1056,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: astyle::Russian::Russian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Russian::Russian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1063,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1064,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1065,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1066,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1067,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1068,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1069,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1070,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1071,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1072,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1073,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1074,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1075,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1076,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1077,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1078,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1079,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1080,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1081,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1082,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1083,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1084,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1085,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1086,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1087,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1088,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1089,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1090,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1092
    functionName: astyle::Spanish::Spanish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Spanish::Spanish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1097,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1098,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1099,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1100,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1101,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1102,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1103,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1104,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1105,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1106,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1107,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1108,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1109,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1110,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1111,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1112,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1113,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1114,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1115,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1116,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1117,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1118,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1119,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1120,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1121,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1122,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1123,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1124,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1126
    functionName: astyle::Swedish::Swedish
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Swedish::Swedish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1131,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1132,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1133,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1134,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1135,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1136,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1137,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1138,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1139,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1140,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1141,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1142,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1143,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1144,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1145,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1146,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1147,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1148,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1149,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1150,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1151,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1152,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1153,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1154,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1155,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1156,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1157,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1158,1
    - Dst: addPair
      Src: /src/geos/tools/astyle/ASLocalizer.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1160
    functionName: astyle::Ukrainian::Ukrainian
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.cpp
    functionUses: 0
    functionsReached:
    - addPair
    linkageType: ''
    returnType: void
    signature: void Ukrainian::Ukrainian()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: astyle::Translation::Translation
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Translation()
  - 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: ~Translation()
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Translation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: astyle::Translation::Translation
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Translation()
  - 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: ~Translation()
    functionSourceFile: /src/geos/tools/astyle/ASLocalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Translation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:167,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - string*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: astyle::sortOnLength
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: bool
    signature: bool sortOnLength(const string* a, const string* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - string*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: astyle::sortOnName
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sortOnName(const string* a, const string* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:193,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:197,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:198,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:199,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:200,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:201,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:202,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:203,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:204,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:205,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:208,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:209,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:210,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:213,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:215,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:215,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:216,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:216,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - assignmentOperators
    argTypes:
    - vector<const string*>*
    assertStmts:
    - condition: (assignmentOperators->size() < elements)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 217
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 217
    functionName: astyle::ASResource::buildAssignmentOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildAssignmentOperators(vector<const string*>* assignmentOperators)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:231,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:235,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:236,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:237,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:238,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:240,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:240,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:241,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:241,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - castOperators
    argTypes:
    - vector<const string*>*
    assertStmts:
    - condition: (castOperators->size() < elements)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: astyle::ASResource::buildCastOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildCastOperators(vector<const string*>* castOperators)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:256,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:260,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:261,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:262,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:263,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:264,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:265,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:266,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:267,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:268,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:269,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:270,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:271,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:272,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:273,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:277,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:278,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:279,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:283,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:284,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:289,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:290,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:291,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:292,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:293,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:294,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:295,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:296,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:303,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:308,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:312,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:312,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:313,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:313,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - headers
    - fileType
    - beautifier
    argTypes:
    - vector<const string*>*
    - int
    - bool
    assertStmts:
    - condition: (headers->size() < elements)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 314
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 314
    functionName: astyle::ASResource::buildHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildHeaders(vector<const string*>* headers, int fileType,
      bool beautifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - indentableHeaders
    argTypes:
    - vector<const string*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: astyle::ASResource::buildIndentableHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>*::emplace_back
    linkageType: ''
    returnType: void
    signature: void ASResource::buildIndentableHeaders(vector<const string*>* indentableHeaders)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const pair<const string, const string>* >*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:341,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:350,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:351,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:353,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:354,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:355,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:356,1
    - Dst: vector<const pair<const string, const string>* >*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:361,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:363,1
    - Dst: vector<const pair<const string, const string>* >*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - indentableMacros
    argTypes:
    - vector<const pair<const string, const string>* >*
    assertStmts:
    - condition: (indentableMacros->size() < elements)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 364
    functionName: astyle::ASResource::buildIndentableMacros
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - macro_pair
    - vector<const pair<const string, const string>* >*::size
    - vector<const pair<const string, const string>* >*::reserve
    - vector<const pair<const string, const string>* >*::emplace_back
    - assert
    linkageType: ''
    returnType: void
    signature: void ASResource::buildIndentableMacros(vector<const pair<const string,
      const string>* >* indentableMacros)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:378,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:382,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:383,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:384,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:385,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:386,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:387,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:388,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:389,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:390,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:391,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:392,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:393,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:394,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:395,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:397,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:397,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:398,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:398,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - nonAssignmentOperators
    argTypes:
    - vector<const string*>*
    assertStmts:
    - condition: (nonAssignmentOperators->size() < elements)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 399
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 399
    functionName: astyle::ASResource::buildNonAssignmentOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildNonAssignmentOperators(vector<const string*>*
      nonAssignmentOperators)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:414,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:418,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:419,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:420,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:421,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:422,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:423,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:424,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:425,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:429,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:430,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:434,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:439,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:440,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:441,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:442,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:443,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:450,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:454,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:458,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:458,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:459,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:459,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - nonParenHeaders
    - fileType
    - beautifier
    argTypes:
    - vector<const string*>*
    - int
    - bool
    assertStmts:
    - condition: (nonParenHeaders->size() < elements)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 460
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 460
    functionName: astyle::ASResource::buildNonParenHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildNonParenHeaders(vector<const string*>* nonParenHeaders,
      int fileType, bool beautifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:474,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:479,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:480,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:481,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:482,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:483,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:484,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:485,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:486,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:487,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:488,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:489,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:490,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:491,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:492,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:493,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:494,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:495,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:496,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:497,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:498,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:499,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:500,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:501,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:502,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:503,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:504,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:505,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:506,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:507,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:508,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:509,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:510,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:511,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:512,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:513,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:514,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:515,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:516,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:517,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:518,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:519,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:520,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:521,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:524,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:525,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:528,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:528,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:529,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:529,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 2
    argNames:
    - operators
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (operators->size() < elements)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 530
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 530
    functionName: astyle::ASResource::buildOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildOperators(vector<const string*>* operators, int
      fileType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:545,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:549,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:552,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:553,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:554,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:555,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:556,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:560,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:561,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:565,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:566,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:567,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:568,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:571,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:571,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:572,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:572,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - preBlockStatements
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (preBlockStatements->size() < elements)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 573
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 573
    functionName: astyle::ASResource::buildPreBlockStatements
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildPreBlockStatements(vector<const string*>* preBlockStatements,
      int fileType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:590,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:596,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:597,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:598,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:599,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:600,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:601,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:602,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:603,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:608,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:613,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:616,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:616,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:617,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:617,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - preCommandHeaders
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (preCommandHeaders->size() < elements)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 618
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 618
    functionName: astyle::ASResource::buildPreCommandHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildPreCommandHeaders(vector<const string*>* preCommandHeaders,
      int fileType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:634,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:638,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:641,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:642,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:643,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:644,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:645,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:649,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:653,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:654,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:655,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:658,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:658,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:659,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:659,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - preDefinitionHeaders
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (preDefinitionHeaders->size() < elements)
      pos:
        line_end: 657
        line_start: 657
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 660
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 660
    functionName: astyle::ASResource::buildPreDefinitionHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildPreDefinitionHeaders(vector<const string*>* preDefinitionHeaders,
      int fileType)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:670,1
    - Dst: astyle::ASBase::isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASResource.cpp:670,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:672,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASResource.cpp:676,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:677,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASResource.cpp:679,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASResource.cpp:679,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:685,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:687,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASResource.cpp:689,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 3
    argNames:
    - ' line'
    - i
    - possibleHeaders
    argTypes:
    - string
    - int
    - vector<const string*>*
    assertStmts:
    - condition: (isCharPotentialHeader(line, i))
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: astyle::ASBase::findHeader
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 10
    functionsReached:
    - vector<const string*>*::size
    - compare
    - length
    - astyle::ASBase::peekNextChar
    - astyle::ASBase::isCharPotentialHeader
    - string*::length
    - astyle::ASBase::isLegalNameChar
    - assert
    linkageType: ''
    returnType: string
    signature: "string * ASBase::findHeader(const string& line, int i,\n                                 const
      vector<const string*>* possibleHeaders) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:709,1
    - Dst: astyle::ASBase::isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASResource.cpp:709,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:713,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASResource.cpp:715,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:718,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:720,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASResource.cpp:723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' line'
    - i
    - ' keyword'
    argTypes:
    - string
    - int
    - string
    assertStmts:
    - condition: (isCharPotentialHeader(line, i))
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 727
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 727
    functionName: astyle::ASBase::findKeyword
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - compare
    - length
    - astyle::ASBase::peekNextChar
    - astyle::ASBase::isCharPotentialHeader
    - astyle::ASBase::isLegalNameChar
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASBase::findKeyword(const string& line, int i, const string& keyword)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:733,1
    - Dst: astyle::ASBase::isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASResource.cpp:733,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:737,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:740,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:741,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASResource.cpp:743,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' line'
    - i
    - possibleOperators
    argTypes:
    - string
    - int
    - vector<const string*>*
    assertStmts:
    - condition: (isCharPotentialOperator(line[i]))
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 747
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 747
    functionName: astyle::ASBase::findOperator
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - astyle::ASBase::isCharPotentialOperator
    - compare
    - length
    - assert
    linkageType: ''
    returnType: string
    signature: "string * ASBase::findOperator(const string& line, int i,\n                                   const
      vector<const string*>* possibleOperators) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:753,1
    - Dst: astyle::ASBase::isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASResource.cpp:753,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:754,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:758,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASResource.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (isCharPotentialHeader(line, index))
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 762
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 762
    functionName: astyle::ASBase::getCurrentWord
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - length
    - astyle::ASBase::isCharPotentialHeader
    - substr
    - astyle::ASBase::isLegalNameChar
    - assert
    linkageType: ''
    returnType: string
    signature: string ASBase::getCurrentWord(const string& line, size_t index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::isWhiteSpace
      Src: /src/geos/tools/astyle/ASResource.cpp:767,1
    - Dst: isalnum
      Src: /src/geos/tools/astyle/ASResource.cpp:771,1
    - Dst: astyle::ASBase::isJavaStyle
      Src: /src/geos/tools/astyle/ASResource.cpp:773,1
    - Dst: astyle::ASBase::isSharpStyle
      Src: /src/geos/tools/astyle/ASResource.cpp:774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: astyle::ASBase::isLegalNameChar
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 3
    functionsReached:
    - astyle::ASBase::isJavaStyle
    - isalnum
    - astyle::ASBase::isSharpStyle
    - astyle::ASBase::isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isLegalNameChar(char ch) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:780,1
    - Dst: astyle::ASBase::isWhiteSpace
      Src: /src/geos/tools/astyle/ASResource.cpp:780,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:786,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (!isWhiteSpace(line[i]))
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: astyle::ASBase::isCharPotentialHeader
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 3
    functionsReached:
    - assert
    - astyle::ASBase::isWhiteSpace
    - astyle::ASBase::isLegalNameChar
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isCharPotentialHeader(const string& line, size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:794,1
    - Dst: astyle::ASBase::isWhiteSpace
      Src: /src/geos/tools/astyle/ASResource.cpp:794,1
    - Dst: ispunct
      Src: /src/geos/tools/astyle/ASResource.cpp:797,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts:
    - condition: (!isWhiteSpace(ch))
      pos:
        line_end: 793
        line_start: 793
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: astyle::ASBase::isCharPotentialOperator
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 1
    functionsReached:
    - assert
    - astyle::ASBase::isWhiteSpace
    - ispunct
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isCharPotentialOperator(char ch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: astyle::ASBase::isDigit
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isDigit(char ch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:816,1
    - Dst: isxdigit
      Src: /src/geos/tools/astyle/ASResource.cpp:820,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:821,1
    - Dst: isxdigit
      Src: /src/geos/tools/astyle/ASResource.cpp:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[i] == '\'')
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: astyle::ASBase::isDigitSeparator
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - isxdigit
    - assert
    - length
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isDigitSeparator(const string& line, int i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASResource.cpp:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: astyle::ASBase::peekNextChar
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 6
    functionsReached:
    - find_first_not_of
    linkageType: ''
    returnType: char
    signature: char ASBase::peekNextChar(const string& line, int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:167,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - string*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: astyle::sortOnLength
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: bool
    signature: bool sortOnLength(const string* a, const string* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - string*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: astyle::sortOnName
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sortOnName(const string* a, const string* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:193,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:197,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:198,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:199,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:200,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:201,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:202,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:203,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:204,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:205,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:208,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:209,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:210,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:213,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:215,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:215,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:216,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:216,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - assignmentOperators
    argTypes:
    - vector<const string*>*
    assertStmts:
    - condition: (assignmentOperators->size() < elements)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 217
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 217
    functionName: astyle::ASResource::buildAssignmentOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildAssignmentOperators(vector<const string*>* assignmentOperators)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:231,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:235,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:236,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:237,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:238,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:240,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:240,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:241,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:241,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - castOperators
    argTypes:
    - vector<const string*>*
    assertStmts:
    - condition: (castOperators->size() < elements)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: astyle::ASResource::buildCastOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildCastOperators(vector<const string*>* castOperators)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:256,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:260,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:261,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:262,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:263,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:264,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:265,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:266,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:267,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:268,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:269,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:270,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:271,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:272,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:273,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:277,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:278,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:279,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:283,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:284,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:289,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:290,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:291,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:292,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:293,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:294,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:295,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:296,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:303,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:308,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:312,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:312,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:313,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:313,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - headers
    - fileType
    - beautifier
    argTypes:
    - vector<const string*>*
    - int
    - bool
    assertStmts:
    - condition: (headers->size() < elements)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 314
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 314
    functionName: astyle::ASResource::buildHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildHeaders(vector<const string*>* headers, int fileType,
      bool beautifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - indentableHeaders
    argTypes:
    - vector<const string*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: astyle::ASResource::buildIndentableHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>*::emplace_back
    linkageType: ''
    returnType: void
    signature: void ASResource::buildIndentableHeaders(vector<const string*>* indentableHeaders)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const pair<const string, const string>* >*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:341,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:350,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:351,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:353,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:354,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:355,1
    - Dst: macro_pair
      Src: /src/geos/tools/astyle/ASResource.cpp:356,1
    - Dst: vector<const pair<const string, const string>* >*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:361,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:363,1
    - Dst: vector<const pair<const string, const string>* >*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - indentableMacros
    argTypes:
    - vector<const pair<const string, const string>* >*
    assertStmts:
    - condition: (indentableMacros->size() < elements)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 364
    functionName: astyle::ASResource::buildIndentableMacros
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - macro_pair
    - vector<const pair<const string, const string>* >*::size
    - vector<const pair<const string, const string>* >*::reserve
    - vector<const pair<const string, const string>* >*::emplace_back
    - assert
    linkageType: ''
    returnType: void
    signature: void ASResource::buildIndentableMacros(vector<const pair<const string,
      const string>* >* indentableMacros)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:378,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:382,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:383,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:384,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:385,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:386,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:387,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:388,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:389,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:390,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:391,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:392,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:393,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:394,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:395,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:397,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:397,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:398,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:398,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - nonAssignmentOperators
    argTypes:
    - vector<const string*>*
    assertStmts:
    - condition: (nonAssignmentOperators->size() < elements)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 399
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 399
    functionName: astyle::ASResource::buildNonAssignmentOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildNonAssignmentOperators(vector<const string*>*
      nonAssignmentOperators)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:414,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:418,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:419,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:420,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:421,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:422,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:423,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:424,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:425,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:429,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:430,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:434,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:439,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:440,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:441,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:442,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:443,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:450,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:454,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:458,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:458,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:459,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:459,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - nonParenHeaders
    - fileType
    - beautifier
    argTypes:
    - vector<const string*>*
    - int
    - bool
    assertStmts:
    - condition: (nonParenHeaders->size() < elements)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 460
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 460
    functionName: astyle::ASResource::buildNonParenHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildNonParenHeaders(vector<const string*>* nonParenHeaders,
      int fileType, bool beautifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:474,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:479,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:480,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:481,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:482,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:483,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:484,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:485,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:486,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:487,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:488,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:489,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:490,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:491,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:492,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:493,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:494,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:495,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:496,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:497,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:498,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:499,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:500,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:501,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:502,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:503,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:504,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:505,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:506,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:507,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:508,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:509,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:510,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:511,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:512,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:513,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:514,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:515,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:516,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:517,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:518,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:519,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:520,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:521,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:524,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:525,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:528,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:528,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:529,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:529,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 2
    argNames:
    - operators
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (operators->size() < elements)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 530
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 530
    functionName: astyle::ASResource::buildOperators
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildOperators(vector<const string*>* operators, int
      fileType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:545,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:549,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:552,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:553,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:554,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:555,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:556,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:560,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:561,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:565,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:566,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:567,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:568,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:571,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:571,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:572,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:572,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - preBlockStatements
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (preBlockStatements->size() < elements)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 573
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 573
    functionName: astyle::ASResource::buildPreBlockStatements
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildPreBlockStatements(vector<const string*>* preBlockStatements,
      int fileType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:590,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:596,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:597,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:598,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:599,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:600,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:601,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:602,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:603,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:608,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:613,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:616,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:616,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:617,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:617,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - preCommandHeaders
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (preCommandHeaders->size() < elements)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 618
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 618
    functionName: astyle::ASResource::buildPreCommandHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildPreCommandHeaders(vector<const string*>* preCommandHeaders,
      int fileType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>*::reserve
      Src: /src/geos/tools/astyle/ASResource.cpp:634,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:638,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:641,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:642,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:643,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:644,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:645,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:649,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:653,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:654,1
    - Dst: vector<const string*>*::emplace_back
      Src: /src/geos/tools/astyle/ASResource.cpp:655,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:658,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:658,1
    - Dst: sort
      Src: /src/geos/tools/astyle/ASResource.cpp:659,1
    - Dst: vector<const string*>*::begin
      Src: /src/geos/tools/astyle/ASResource.cpp:659,1
    - Dst: vector<const string*>*::end
      Src: /src/geos/tools/astyle/ASResource.cpp:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - preDefinitionHeaders
    - fileType
    argTypes:
    - vector<const string*>*
    - int
    assertStmts:
    - condition: (preDefinitionHeaders->size() < elements)
      pos:
        line_end: 657
        line_start: 657
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 660
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 660
    functionName: astyle::ASResource::buildPreDefinitionHeaders
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - vector<const string*>*::begin
    - vector<const string*>*::reserve
    - vector<const string*>*::emplace_back
    - vector<const string*>*::end
    - assert
    - sort
    linkageType: ''
    returnType: void
    signature: void ASResource::buildPreDefinitionHeaders(vector<const string*>* preDefinitionHeaders,
      int fileType)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:670,1
    - Dst: astyle::ASBase::isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASResource.cpp:670,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:672,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASResource.cpp:676,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:677,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASResource.cpp:679,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASResource.cpp:679,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:685,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:687,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASResource.cpp:689,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 3
    argNames:
    - ' line'
    - i
    - possibleHeaders
    argTypes:
    - string
    - int
    - vector<const string*>*
    assertStmts:
    - condition: (isCharPotentialHeader(line, i))
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: astyle::ASBase::findHeader
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 10
    functionsReached:
    - vector<const string*>*::size
    - compare
    - length
    - astyle::ASBase::peekNextChar
    - astyle::ASBase::isCharPotentialHeader
    - string*::length
    - astyle::ASBase::isLegalNameChar
    - assert
    linkageType: ''
    returnType: string
    signature: "string * ASBase::findHeader(const string& line, int i,\n                                 const
      vector<const string*>* possibleHeaders) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:709,1
    - Dst: astyle::ASBase::isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASResource.cpp:709,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:713,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASResource.cpp:715,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:718,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:720,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASResource.cpp:723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' line'
    - i
    - ' keyword'
    argTypes:
    - string
    - int
    - string
    assertStmts:
    - condition: (isCharPotentialHeader(line, i))
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 727
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 727
    functionName: astyle::ASBase::findKeyword
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - compare
    - length
    - astyle::ASBase::peekNextChar
    - astyle::ASBase::isCharPotentialHeader
    - astyle::ASBase::isLegalNameChar
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASBase::findKeyword(const string& line, int i, const string& keyword)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:733,1
    - Dst: astyle::ASBase::isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASResource.cpp:733,1
    - Dst: vector<const string*>*::size
      Src: /src/geos/tools/astyle/ASResource.cpp:737,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:740,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:741,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASResource.cpp:743,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' line'
    - i
    - possibleOperators
    argTypes:
    - string
    - int
    - vector<const string*>*
    assertStmts:
    - condition: (isCharPotentialOperator(line[i]))
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 747
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 747
    functionName: astyle::ASBase::findOperator
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - vector<const string*>*::size
    - astyle::ASBase::isCharPotentialOperator
    - compare
    - length
    - assert
    linkageType: ''
    returnType: string
    signature: "string * ASBase::findOperator(const string& line, int i,\n                                   const
      vector<const string*>* possibleOperators) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:753,1
    - Dst: astyle::ASBase::isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASResource.cpp:753,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:754,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:758,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASResource.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (isCharPotentialHeader(line, index))
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 762
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 762
    functionName: astyle::ASBase::getCurrentWord
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - length
    - astyle::ASBase::isCharPotentialHeader
    - substr
    - astyle::ASBase::isLegalNameChar
    - assert
    linkageType: ''
    returnType: string
    signature: string ASBase::getCurrentWord(const string& line, size_t index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::isWhiteSpace
      Src: /src/geos/tools/astyle/ASResource.cpp:767,1
    - Dst: isalnum
      Src: /src/geos/tools/astyle/ASResource.cpp:771,1
    - Dst: astyle::ASBase::isJavaStyle
      Src: /src/geos/tools/astyle/ASResource.cpp:773,1
    - Dst: astyle::ASBase::isSharpStyle
      Src: /src/geos/tools/astyle/ASResource.cpp:774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 775
    functionName: astyle::ASBase::isLegalNameChar
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 7
    functionsReached:
    - astyle::ASBase::isJavaStyle
    - isalnum
    - astyle::ASBase::isSharpStyle
    - astyle::ASBase::isWhiteSpace
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isLegalNameChar(char ch) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:780,1
    - Dst: astyle::ASBase::isWhiteSpace
      Src: /src/geos/tools/astyle/ASResource.cpp:780,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:786,1
    - Dst: astyle::ASBase::isLegalNameChar
      Src: /src/geos/tools/astyle/ASResource.cpp:786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (!isWhiteSpace(line[i]))
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: astyle::ASBase::isCharPotentialHeader
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 6
    functionsReached:
    - assert
    - astyle::ASBase::isWhiteSpace
    - astyle::ASBase::isLegalNameChar
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isCharPotentialHeader(const string& line, size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:794,1
    - Dst: astyle::ASBase::isWhiteSpace
      Src: /src/geos/tools/astyle/ASResource.cpp:794,1
    - Dst: ispunct
      Src: /src/geos/tools/astyle/ASResource.cpp:797,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts:
    - condition: (!isWhiteSpace(ch))
      pos:
        line_end: 793
        line_start: 793
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: astyle::ASBase::isCharPotentialOperator
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 2
    functionsReached:
    - assert
    - astyle::ASBase::isWhiteSpace
    - ispunct
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isCharPotentialOperator(char ch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: astyle::ASBase::isDigit
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isDigit(char ch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASResource.cpp:816,1
    - Dst: isxdigit
      Src: /src/geos/tools/astyle/ASResource.cpp:820,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASResource.cpp:821,1
    - Dst: isxdigit
      Src: /src/geos/tools/astyle/ASResource.cpp:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[i] == '\'')
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/geos/tools/astyle/ASResource.cpp
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: astyle::ASBase::isDigitSeparator
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 0
    functionsReached:
    - isxdigit
    - assert
    - length
    linkageType: ''
    returnType: bool
    signature: bool ASBase::isDigitSeparator(const string& line, int i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASResource.cpp:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: astyle::ASBase::peekNextChar
    functionSourceFile: /src/geos/tools/astyle/ASResource.cpp
    functionUses: 8
    functionsReached:
    - find_first_not_of
    linkageType: ''
    returnType: char
    signature: char ASBase::peekNextChar(const string& line, int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: astyle::ASSourceIterator::ASSourceIterator
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASSourceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ~ASSourceIterator()
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ASSourceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sourceIterator_
    argTypes:
    - ASSourceIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: astyle::ASPeekStream::ASPeekStream
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASPeekStream(ASSourceIterator* sourceIterator_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peekReset
      Src: /src/geos/tools/astyle/astyle.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: ~ASPeekStream()
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached:
    - peekReset
    linkageType: ''
    returnType: void
    signature: void ~ASPeekStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/astyle.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: astyle::ASPeekStream::hasMoreLines
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 1
    functionsReached:
    - astyle::ASPeekStream::hasMoreLines
    linkageType: ''
    returnType: bool
    signature: bool hasMoreLines() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/astyle.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: astyle::ASPeekStream::peekNextLine
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 1
    functionsReached:
    - astyle::ASPeekStream::peekNextLine
    linkageType: ''
    returnType: string
    signature: string peekNextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: astyle::ASBase::ASBase
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fileTypeArg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: astyle::ASBase::init
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int fileTypeArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: astyle::ASBase::isCStyle
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCStyle() 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: astyle::ASBase::isJavaStyle
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isJavaStyle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: astyle::ASBase::isSharpStyle
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSharpStyle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: astyle::ASBase::isWhiteSpace
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWhiteSpace(char ch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/astyle.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1057
    functionName: astyle::ASFormatter::appendCurrentChar
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 22
    functionsReached:
    - astyle::ASFormatter::appendChar
    linkageType: ''
    returnType: void
    signature: void appendCurrentChar(bool canBreakLine = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle.h:1061,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1061
    functionName: astyle::ASFormatter::isSequenceReached
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 18
    functionsReached:
    - strlen
    - compare
    linkageType: ''
    returnType: bool
    signature: bool isSequenceReached(const char* sequence) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/astyle.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - headers_
    argTypes:
    - vector<const string*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1065
    functionName: astyle::ASFormatter::findHeader
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 4
    functionsReached:
    - astyle::ASBase::findHeader
    linkageType: ''
    returnType: string
    signature: string * findHeader(const vector<const string*>* headers_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::findOperator
      Src: /src/geos/tools/astyle/astyle.h:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - operators_
    argTypes:
    - vector<const string*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1069
    functionName: astyle::ASFormatter::findOperator
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached:
    - astyle::ASBase::findOperator
    linkageType: ''
    returnType: string
    signature: string * findOperator(const vector<const string*>* operators_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: astyle::ASSourceIterator::ASSourceIterator
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASSourceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ~ASSourceIterator()
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ASSourceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sourceIterator_
    argTypes:
    - ASSourceIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: astyle::ASPeekStream::ASPeekStream
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASPeekStream(ASSourceIterator* sourceIterator_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peekReset
      Src: /src/geos/tools/astyle/astyle.h:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: ~ASPeekStream()
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached:
    - peekReset
    linkageType: ''
    returnType: void
    signature: void ~ASPeekStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASPeekStream::hasMoreLines
      Src: /src/geos/tools/astyle/astyle.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: astyle::ASPeekStream::hasMoreLines
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached:
    - astyle::ASPeekStream::hasMoreLines
    linkageType: ''
    returnType: bool
    signature: bool hasMoreLines() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASPeekStream::peekNextLine
      Src: /src/geos/tools/astyle/astyle.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: astyle::ASPeekStream::peekNextLine
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached:
    - astyle::ASPeekStream::peekNextLine
    linkageType: ''
    returnType: string
    signature: string peekNextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: astyle::ASBase::ASBase
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fileTypeArg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: astyle::ASBase::init
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(int fileTypeArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: astyle::ASBase::isCStyle
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCStyle() 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: astyle::ASBase::isJavaStyle
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isJavaStyle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: astyle::ASBase::isSharpStyle
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSharpStyle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: astyle::ASBase::isWhiteSpace
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWhiteSpace(char ch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASFormatter::appendChar
      Src: /src/geos/tools/astyle/astyle.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1057
    functionName: astyle::ASFormatter::appendCurrentChar
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 22
    functionsReached:
    - astyle::ASFormatter::appendChar
    linkageType: ''
    returnType: void
    signature: void appendCurrentChar(bool canBreakLine = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/geos/tools/astyle/astyle.h:1061,1
    - Dst: strlen
      Src: /src/geos/tools/astyle/astyle.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1061
    functionName: astyle::ASFormatter::isSequenceReached
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 18
    functionsReached:
    - strlen
    - compare
    linkageType: ''
    returnType: bool
    signature: bool isSequenceReached(const char* sequence) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::findHeader
      Src: /src/geos/tools/astyle/astyle.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - headers_
    argTypes:
    - vector<const string*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1065
    functionName: astyle::ASFormatter::findHeader
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 4
    functionsReached:
    - astyle::ASBase::findHeader
    linkageType: ''
    returnType: string
    signature: string * findHeader(const vector<const string*>* headers_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBase::findOperator
      Src: /src/geos/tools/astyle/astyle.h:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - operators_
    argTypes:
    - vector<const string*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1069
    functionName: astyle::ASFormatter::findOperator
    functionSourceFile: /src/geos/tools/astyle/astyle.h
    functionUses: 2
    functionsReached:
    - astyle::ASBase::findOperator
    linkageType: ''
    returnType: string
    signature: string * findOperator(const vector<const string*>* operators_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::setSpaceIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:52,1
    - Dst: astyle::ASBeautifier::setContinuationIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:53,1
    - Dst: astyle::ASBeautifier::setMinConditionalIndentOption
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:54,1
    - Dst: astyle::ASBeautifier::setMaxContinuationIndentLength
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:55,1
    - Dst: astyle::ASBeautifier::setClassIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:58,1
    - Dst: astyle::ASBeautifier::setModifierIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:59,1
    - Dst: astyle::ASBeautifier::setSwitchIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:60,1
    - Dst: astyle::ASBeautifier::setCaseIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:61,1
    - Dst: astyle::ASBeautifier::setBlockIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:62,1
    - Dst: astyle::ASBeautifier::setBraceIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:63,1
    - Dst: astyle::ASBeautifier::setBraceIndentVtk
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:64,1
    - Dst: astyle::ASBeautifier::setNamespaceIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:65,1
    - Dst: astyle::ASBeautifier::setAfterParenIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:66,1
    - Dst: astyle::ASBeautifier::setLabelIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:67,1
    - Dst: astyle::ASBeautifier::setEmptyLineFill
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:68,1
    - Dst: astyle::ASBeautifier::setCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:69,1
    - Dst: astyle::ASBeautifier::setPreprocDefineIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:70,1
    - Dst: astyle::ASBeautifier::setPreprocConditionalIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:71,1
    - Dst: astyle::ASBeautifier::setAlignMethodColon
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:72,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:76,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:77,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:78,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:79,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:80,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:81,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: astyle::ASBeautifier::ASBeautifier
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASBeautifier::setSpaceIndentation
    - astyle::ASBeautifier::setModifierIndent
    - astyle::ASBeautifier::setAlignMethodColon
    - astyle::ASBeautifier::setPreprocConditionalIndent
    - astyle::ASBeautifier::setCStyle
    - astyle::ASBeautifier::setAfterParenIndent
    - astyle::ASBeautifier::setContinuationIndentation
    - astyle::ASBeautifier::setBraceIndentVtk
    - astyle::ASBeautifier::setBlockIndent
    - astyle::ASBeautifier::setMinConditionalIndentOption
    - astyle::ASBeautifier::setClassIndent
    - astyle::ASBeautifier::setNamespaceIndent
    - astyle::ASBeautifier::setEmptyLineFill
    - astyle::ASBeautifier::setPreprocDefineIndent
    - astyle::ASBeautifier::setLabelIndent
    - astyle::ASBeautifier::setSwitchIndent
    - vector<const string*>::vector<const string*>
    - astyle::ASBeautifier::setBraceIndent
    - astyle::ASBeautifier::setMaxContinuationIndentLength
    - astyle::ASBeautifier::setCaseIndent
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::ASBeautifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:104,1
    - Dst: astyle::ASBeautifier::copyTempStacks
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:107,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:109,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:112,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:115,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:118,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:121,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:124,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:127,1
    - Dst: vector<pair<int, int> >::vector<pair<int, int> >
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 146
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ASBeautifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 264
    functionName: astyle::ASBeautifier::ASBeautifier
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - vector<bool>::vector<bool>
    - astyle::ASBeautifier::copyTempStacks
    - vector<const string*>::vector<const string*>
    - vector<pair<int, int> >::vector<pair<int, int> >
    - vector<int>::vector<int>
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::ASBeautifier(const ASBeautifier& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteBeautifierContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:271,1
    - Dst: deleteBeautifierContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:272,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:273,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:274,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:275,1
    - Dst: deleteTempStacksContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:276,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:277,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:278,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:279,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:280,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:281,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:282,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:283,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: ASBeautifier::~ASBeautifier()
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - deleteTempStacksContainer
    - deleteContainer
    - deleteBeautifierContainer
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::~ASBeautifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::initVectors
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:301,1
    - Dst: astyle::ASBase::init
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:302,1
    - Dst: astyle::ASBeautifier::getFileType
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:302,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:305,1
    - Dst: vector<ASBeautifier*>::vector<ASBeautifier*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:305,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:306,1
    - Dst: vector<ASBeautifier*>::vector<ASBeautifier*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:306,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:308,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:308,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:309,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:309,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:311,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:311,1
    - Dst: astyle::ASBeautifier::initTempStacksContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:313,1
    - Dst: vector<vector<const string*>*>::vector<vector<const string*>*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:313,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:314,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:314,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:316,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:316,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:317,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:317,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:318,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:318,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:319,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:319,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:320,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:321,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:321,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:322,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:322,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:323,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:324,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:324,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:325,1
    - Dst: vector<pair<int, int> >::vector<pair<int, int> >
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 1
    argNames:
    - iter
    argTypes:
    - ASSourceIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 417
    functionName: astyle::ASBeautifier::init
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - vector<bool>::vector<bool>
    - astyle::ASBeautifier::initVectors
    - push_back
    - astyle::ASBase::init
    - astyle::ASBeautifier::initContainer
    - vector<const string*>::vector<const string*>
    - vector<pair<int, int> >::vector<pair<int, int> >
    - vector<int>::vector<int>
    - vector<ASBeautifier*>::vector<ASBeautifier*>
    - astyle::ASBeautifier::getFileType
    - astyle::ASBeautifier::initTempStacksContainer
    - emplace_back
    - vector<vector<const string*>*>::vector<vector<const string*>*>
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::init(ASSourceIterator* iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:429,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:430,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:431,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:432,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:433,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:434,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:435,1
    - Dst: astyle::ASResource::buildHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:437,1
    - Dst: astyle::ASResource::buildNonParenHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:438,1
    - Dst: astyle::ASResource::buildAssignmentOperators
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:439,1
    - Dst: astyle::ASResource::buildNonAssignmentOperators
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:440,1
    - Dst: astyle::ASResource::buildPreBlockStatements
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:441,1
    - Dst: astyle::ASResource::buildPreCommandHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:442,1
    - Dst: astyle::ASResource::buildIndentableHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 444
    functionName: astyle::ASBeautifier::initVectors
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASResource::buildAssignmentOperators
    - astyle::ASResource::buildNonParenHeaders
    - astyle::ASResource::buildPreCommandHeaders
    - astyle::ASResource::buildIndentableHeaders
    - clear
    - astyle::ASResource::buildHeaders
    - astyle::ASResource::buildPreBlockStatements
    - astyle::ASResource::buildNonAssignmentOperators
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::initVectors()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: astyle::ASBeautifier::setCStyle
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setCStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: astyle::ASBeautifier::setJavaStyle
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setJavaStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: astyle::ASBeautifier::setSharpStyle
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setSharpStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: astyle::ASBeautifier::setModeManuallySet
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setModeManuallySet(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: astyle::ASBeautifier::setDefaultTabLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setDefaultTabLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: astyle::ASBeautifier::setForceTabXIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setForceTabXIndentation(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - length
    - forceTabs
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: astyle::ASBeautifier::setTabIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setTabIndentation(int length, bool forceTabs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: astyle::ASBeautifier::setSpaceIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - string
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setSpaceIndentation(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: astyle::ASBeautifier::setContinuationIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setContinuationIndentation(int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: astyle::ASBeautifier::setMaxContinuationIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMaxContinuationIndentLength(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::setMaxContinuationIndentLength
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: astyle::ASBeautifier::setMaxInStatementIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASBeautifier::setMaxContinuationIndentLength
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMaxInStatementIndentLength(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - min
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: astyle::ASBeautifier::setMinConditionalIndentOption
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMinConditionalIndentOption(int min)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: astyle::ASBeautifier::setMinConditionalIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMinConditionalIndentLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: astyle::ASBeautifier::setBraceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setBraceIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::setBraceIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: astyle::ASBeautifier::setBraceIndentVtk
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASBeautifier::setBraceIndent
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setBraceIndentVtk(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: astyle::ASBeautifier::setBlockIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setBlockIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: astyle::ASBeautifier::setClassIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setClassIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: astyle::ASBeautifier::setModifierIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setModifierIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: astyle::ASBeautifier::setSwitchIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setSwitchIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: astyle::ASBeautifier::setCaseIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setCaseIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: astyle::ASBeautifier::setNamespaceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setNamespaceIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: astyle::ASBeautifier::setAfterParenIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setAfterParenIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: astyle::ASBeautifier::setLabelIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setLabelIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: astyle::ASBeautifier::setPreprocDefineIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setPreprocDefineIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: astyle::ASBeautifier::setPreprocConditionalIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setPreprocConditionalIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: astyle::ASBeautifier::setEmptyLineFill
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setEmptyLineFill(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: astyle::ASBeautifier::setAlignMethodColon
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setAlignMethodColon(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: astyle::ASBeautifier::getFileType
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getFileType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: astyle::ASBeautifier::getIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getIndentLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: astyle::ASBeautifier::getIndentString
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::getIndentString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: astyle::ASBeautifier::getModeManuallySet
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getModeManuallySet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: astyle::ASBeautifier::getForceTabIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getForceTabIndentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: astyle::ASBeautifier::getAlignMethodColon
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getAlignMethodColon() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: astyle::ASBeautifier::getBlockIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getBlockIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: astyle::ASBeautifier::getBraceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getBraceIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: astyle::ASBeautifier::getNamespaceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getNamespaceIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: astyle::ASBeautifier::getClassIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getClassIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: astyle::ASBeautifier::getModifierIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getModifierIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 844
    functionName: astyle::ASBeautifier::getSwitchIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getSwitchIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: astyle::ASBeautifier::getCaseIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getCaseIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: astyle::ASBeautifier::getEmptyLineFill
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getEmptyLineFill() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: astyle::ASBeautifier::getPreprocDefineIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getPreprocDefineIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 890
    functionName: astyle::ASBeautifier::getTabLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getTabLength() const
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:924,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:939,1
    - Dst: string::find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:946,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:951,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:952,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:954,1
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:967,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:968,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:976,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:978,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:980,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:986,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:987,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:989,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:992,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:993,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1001,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1004,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1015,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1017,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1018,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1026,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1027,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1028,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1037,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1045,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1046,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1048,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1049,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1054,1
    - Dst: astyle::ASBeautifier::isIndentedPreprocessor
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1055,1
    - Dst: astyle::ASBeautifier::extractPreprocessorStatement
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1060,1
    - Dst: astyle::ASBeautifier::processPreprocessor
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1061,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1065,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1065,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1067,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1073,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1078,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1083,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1084,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1086,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1089,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1089,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1092,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1093,1
    - Dst: astyle::ASBeautifier::computePreprocessorIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1095,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1096,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1097,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1097,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1098,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1099,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1103,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1105,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1105,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1106,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1107,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1112,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1114,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1114,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1115,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1116,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1117,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1124,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1125,1
    - Dst: astyle::ASBeautifier::isInPreprocessorUnterminatedComment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1127,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1137,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1139,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1140,1
    - Dst: ASBeautifier*::beautify
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1142,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1144,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1155,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1157,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1158,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1159,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1160,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1161,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1162,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1163,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1164,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1165,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1166,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1167,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1168,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1169,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1170,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1172,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1178,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1180,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1184,1
    - Dst: astyle::ASBeautifier::computePreliminaryIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1187,1
    - Dst: astyle::ASBeautifier::parseCurrentLine
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1190,1
    - Dst: astyle::ASBeautifier::adjustParsedLineIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1193,1
    - Dst: astyle::ASBeautifier::adjustObjCMethodDefinitionIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1196,1
    - Dst: astyle::ASBeautifier::adjustObjCMethodCallIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1199,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1203,1
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1206,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1206,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1207,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1209,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1210,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1233,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1234,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1243,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 210
    argCount: 1
    argNames:
    - ' originalLine'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 1247
    functionName: astyle::ASBeautifier::beautify
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - string::compare
    - astyle::ASBeautifier::trim
    - astyle::ASBeautifier::isIndentedPreprocessor
    - ASBeautifier*::beautify
    - pop_back
    - size
    - astyle::ASBeautifier::parseCurrentLine
    - string::length
    - astyle::ASBeautifier::preLineWS
    - string::find_last_not_of
    - string::find_first_not_of
    - astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
    - astyle::ASBeautifier::computePreliminaryIndentation
    - astyle::ASBeautifier::adjustObjCMethodCallIndentation
    - astyle::ASBeautifier::processPreprocessor
    - astyle::ASBeautifier::extractPreprocessorStatement
    - getIndentedLineReturn
    - string::substr
    - astyle::ASBeautifier::isInPreprocessorUnterminatedComment
    - astyle::ASBeautifier::adjustObjCMethodDefinitionIndentation
    - emplace_back
    - empty
    - string::find
    - length
    - back
    - astyle::ASBeautifier::computePreprocessorIndent
    - astyle::ASBeautifier::adjustParsedLineIndentation
    - string::erase
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::beautify(const string& originalLine)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' newLine'
    - ' originalLine'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1254
    functionName: '& ASBeautifier::getIndentedLineReturn(const string& newLine, const
      string& originalLine) const'
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string & ASBeautifier::getIndentedLineReturn(const string& newLine,
      const string& originalLine) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - lineIndentCount
    - lineSpaceIndentCount
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1281
    functionName: astyle::ASBeautifier::preLineWS
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - string
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::preLineWS(int lineIndentCount, int lineSpaceIndentCount)
      const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1289,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1290,1
    - Dst: astyle::ASBeautifier::getNextProgramCharDistance
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1291,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1298,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1299,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1303,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1305,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1311,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1312,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1313,1
    - Dst: astyle::ASBeautifier::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1322,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1339,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1340,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1341,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1345,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1345,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1348,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 6
    argNames:
    - ' line'
    - i
    - spaceIndentCount_
    - tabIncrementIn
    - minIndent
    - updateParenStack
    argTypes:
    - string
    - int
    - int
    - int
    - int
    - bool
    assertStmts:
    - condition: (i >= -1)
      pos:
        line_end: 1288
        line_start: 1288
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1349
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1349
    functionName: astyle::ASBeautifier::registerContinuationIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASBeautifier::getNextProgramCharDistance
    - length
    - astyle::ASBeautifier::convertTabToSpaces
    - back
    - assert
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: "void ASBeautifier::registerContinuationIndent(const string& line,
      int i, int spaceIndentCount_,\n                                              int
      tabIncrementIn, int minIndent, bool updateParenStack)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1356,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1357,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1360,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1363,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' line'
    - i
    - tabIncrementIn
    argTypes:
    - string
    - int
    - int
    assertStmts:
    - condition: (line[i] == ':')
      pos:
        line_end: 1355
        line_start: 1355
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    - condition: (isInClassInitializer || isInClassHeaderTab)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1371
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1371
    functionName: astyle::ASBeautifier::registerContinuationIndentColon
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - assert
    - find_first_not_of
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::registerContinuationIndentColon(const string& line,
      int i, int tabIncrementIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::computePreliminaryIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1380,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1382,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1384,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1385,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1386,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1390
    functionName: astyle::ASBeautifier::computePreprocessorIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - back
    - empty
    - astyle::ASBeautifier::computePreliminaryIndentation
    linkageType: ''
    returnType: pair<int, int>
    signature: pair<int, int> ASBeautifier::computePreprocessorIndent()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1399,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1408,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1415,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1419,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1432
    functionName: astyle::ASBeautifier::getNextProgramCharDistance
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - length
    - compare
    - isWhiteSpace
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getNextProgramCharDistance(const string& line, int
      i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1445,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1445,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1445,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1446,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' container'
    - element
    argTypes:
    - vector<const string*>
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1449
    functionName: astyle::ASBeautifier::indexOf
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - find
    - begin
    - end
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::indexOf(const vector<const string*>& container, const
      string* element) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - tabIncrementIn
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1461
    functionName: astyle::ASBeautifier::convertTabToSpaces
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::convertTabToSpaces(int i, int tabIncrementIn) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1472,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1474,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1477,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1486
    functionName: astyle::ASBeautifier::trim
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 3
    functionsReached:
    - length
    - isWhiteSpace
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::trim(const string& str) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1496,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1503
    functionName: astyle::ASBeautifier::rtrim
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - length
    - find_last_not_of
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::rtrim(const string& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<vector<const string*>*>::vector<vector<const string*>*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1511,1
    - Dst: tempStacks::begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1513,1
    - Dst: tempStacks::end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1514,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1517,1
    - Dst: vector*::emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ASBeautifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1522
    functionName: astyle::ASBeautifier::copyTempStacks
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - tempStacks::end
    - vector<const string*>::vector<const string*>
    - tempStacks::begin
    - vector*::emplace_back
    - vector<vector<const string*>*>::vector<vector<const string*>*>
    linkageType: ''
    returnType: vector<vector<const string*>*>
    signature: vector<vector<const string*>*> * ASBeautifier::copyTempStacks(const
      ASBeautifier& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1537
    functionName: astyle::ASBeautifier::deleteBeautifierVectors
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteBeautifierVectors()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1553
    functionName: astyle::ASBeautifier::deleteContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteContainer(T& container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1565,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1566,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - vector<ASBeautifier*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1575
    functionName: astyle::ASBeautifier::deleteBeautifierContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - begin
    - clear
    - end
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteBeautifierContainer(vector<ASBeautifier*>*&
      container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1586,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1587,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - vector<vector<const string*>*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1596
    functionName: astyle::ASBeautifier::deleteTempStacksContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - begin
    - clear
    - end
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteTempStacksContainer(vector<vector<const string*>*>*&
      container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1610
    functionName: astyle::ASBeautifier::initContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASBeautifier::deleteContainer
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::initContainer(T& container, T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::deleteTempStacksContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - vector<vector<const string*>*>*
    - vector<vector<const string*>*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1617
    functionDepth: 2
    functionLinenumber: 1617
    functionLinenumberEnd: 1623
    functionName: astyle::ASBeautifier::initTempStacksContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASBeautifier::deleteTempStacksContainer
    linkageType: ''
    returnType: void
    signature: "void ASBeautifier::initTempStacksContainer(vector<vector<const string*>*>*&
      container,\n                                           vector<vector<const string*>*>*
      value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1634,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1639,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1649,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1671,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1678,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1681,1
    - Dst: astyle::ASBeautifier::isLineEndComment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1683,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1703,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[index] == '=')
      pos:
        line_end: 1633
        line_start: 1633
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1709
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1709
    functionName: astyle::ASBeautifier::statementEndsWithComma
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - compare
    - length
    - astyle::ASBeautifier::isLineEndComment
    - assert
    - find_last_not_of
    - isDigitSeparator
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::statementEndsWithComma(const string& line, int index)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1718,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1718,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1721,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' line'
    - startPos
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line.compare(startPos, 2, "/*") == 0)
      pos:
        line_end: 1717
        line_start: 1717
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1729
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1729
    functionName: astyle::ASBeautifier::isLineEndComment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - assert
    - find
    - compare
    - find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isLineEndComment(const string& line, int startPos)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1738,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1744,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1745,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (line[currPos] == '=')
      pos:
        line_end: 1737
        line_start: 1737
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1757
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1757
    functionName: astyle::ASBeautifier::getContinuationIndentAssign
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - assert
    - find_last_not_of
    - isLegalNameChar
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getContinuationIndentAssign(const string& line, size_t
      currPos) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1766,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1769,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1770,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1776,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1784,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (line[currPos] == ',')
      pos:
        line_end: 1765
        line_start: 1765
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1789
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1789
    functionName: astyle::ASBeautifier::getContinuationIndentComma
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - assert
    - find_first_not_of
    - isLegalNameChar
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getContinuationIndentComma(const string& line, size_t
      currPos) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1799,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1802,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1804,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1805,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1806,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1811,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1815,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1816
    functionName: astyle::ASBeautifier::getNextWord
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 4
    functionsReached:
    - find_first_not_of
    - length
    - isLegalNameChar
    - string
    - substr
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::getNextWord(const string& line, size_t currPos)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1827,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1828,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1835,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1836,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1839,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1841,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1845,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1848,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1853,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1855,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1859,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (line[0] == '#')
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1864
      start: 1825
    functionDepth: 2
    functionLinenumber: 1825
    functionLinenumberEnd: 1864
    functionName: astyle::ASBeautifier::isIndentedPreprocessor
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - find
    - astyle::ASBeautifier::getNextWord
    - find_first_not_of
    - length
    - isLegalNameChar
    - substr
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isIndentedPreprocessor(const string& line, size_t
      currPos) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1873,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1873,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1874,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1874,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1876,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1880,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1881,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1884,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1885,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1888,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1889,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1895
    functionName: astyle::ASBeautifier::isPreprocessorConditionalCplusplus
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - string::compare
    - astyle::ASBeautifier::getNextWord
    - substr
    - astyle::ASBeautifier::trim
    - string::find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isPreprocessorConditionalCplusplus(const string&
      line) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1907,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1903
    functionDepth: 1
    functionLinenumber: 1903
    functionLinenumberEnd: 1919
    functionName: astyle::ASBeautifier::isInPreprocessorUnterminatedComment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isInPreprocessorUnterminatedComment(const string&
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1923,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1923,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1924,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1925,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1926,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1927,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!continuationIndentStackSizeStack->empty())
      pos:
        line_end: 1922
        line_start: 1922
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1929
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1929
    functionName: astyle::ASBeautifier::popLastContinuationIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - size
    - back
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::popLastContinuationIndent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1933
    functionName: astyle::ASBeautifier::getBeautifierFileType
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getBeautifierFileType() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1947,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1956,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1957,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1965,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1965,1
    - Dst: astyle::ASBeautifier::isPreprocessorConditionalCplusplus
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1967,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1970,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1970,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1971,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1971,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1972,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1973,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1973,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1975,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1975,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1975,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1979,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1982,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1982,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1983,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1988,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1991,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1991,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1991,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1999,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2001,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2002,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2003,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2005,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2006,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2011,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2013,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2014,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2015,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2017,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2018,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 2
    argNames:
    - ' preproc'
    - ' line'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1938
    functionDepth: 3
    functionLinenumber: 1938
    functionLinenumberEnd: 2023
    functionName: astyle::ASBeautifier::processPreprocessor
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - pop_back
    - size
    - length
    - ASBeautifier::ASBeautifier
    - push_back
    - substr
    - back
    - astyle::ASBeautifier::isPreprocessorConditionalCplusplus
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::processPreprocessor(const string& preproc, const
      string& line)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2034,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2035,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2037,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2038,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2040,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2061,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2067,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2089,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2095,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2096,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2110,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2113,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2124,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2127,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2128,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2129,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2131,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2138,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2139,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2140,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2149,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2150,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2028
    functionDepth: 1
    functionLinenumber: 2028
    functionLinenumberEnd: 2157
    functionName: astyle::ASBeautifier::computePreliminaryIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - isJavaStyle
    - pop_back
    - size
    - isCStyle
    - back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::computePreliminaryIndentation()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2167,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2181,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2181,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2186,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2190,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2190,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2220,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2226,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2232,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 32
    argCount: 2
    argNames:
    - iPrelim
    - isInExtraHeaderIndent
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2243
    functionName: astyle::ASBeautifier::adjustParsedLineIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::adjustParsedLineIndentation(size_t iPrelim, bool
      isInExtraHeaderIndent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2252,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2252,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2254,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2257,1
    - Dst: vector*::at
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isElseHeaderIndent && !tempStacks->empty())
      pos:
        line_end: 2251
        line_start: 2251
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 2264
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2264
    functionName: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - vector*::at
    - back
    - vector*::size
    - assert
    - empty
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::adjustIndentCountForBreakElseIfComments() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2273,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2276,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2278,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2281
    functionName: astyle::ASBeautifier::extractPreprocessorStatement
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 5
    functionsReached:
    - length
    - find_first_not_of
    - find_first_of
    - substr
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::extractPreprocessorStatement(const string& line)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2286,1
    - Dst: astyle::ASBeautifier::getIndentedSpaceEquivalent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2291,1
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2292,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2297,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2298,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2300,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2308,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - ' line_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2312
    functionName: astyle::ASBeautifier::adjustObjCMethodDefinitionIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASBeautifier::getIndentedSpaceEquivalent
    - length
    - astyle::ASBeautifier::findObjCColonAlignment
    - astyle::ASBeautifier::computeObjCColonAlignment
    - back
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::adjustObjCMethodDefinitionIndentation(const string&
      line_)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::getIndentedSpaceEquivalent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2322,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2323,1
    - Dst: astyle::ASBeautifier::getObjCFollowingKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2325,1
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2326,1
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2338,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2341,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2343,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2345,1
    - Dst: astyle::ASBeautifier::getIndentedSpaceEquivalent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2359,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2360,1
    - Dst: astyle::ASBeautifier::getObjCFollowingKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2362,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - ' line_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2314
    functionDepth: 1
    functionLinenumber: 2314
    functionLinenumberEnd: 2370
    functionName: astyle::ASBeautifier::adjustObjCMethodCallIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - string::find
    - astyle::ASBeautifier::getIndentedSpaceEquivalent
    - astyle::ASBeautifier::getObjCFollowingKeyword
    - astyle::ASBeautifier::findObjCColonAlignment
    - astyle::ASBeautifier::computeObjCColonAlignment
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::adjustObjCMethodCallIndentation(const string& line_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2377,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2383,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isImmediatelyPostObjCMethodDefinition)
      pos:
        line_end: 2376
        line_start: 2376
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 2385
      start: 2375
    functionDepth: 1
    functionLinenumber: 2375
    functionLinenumberEnd: 2385
    functionName: astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - assert
    - pop_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::clearObjCMethodDefinitionAlignment()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2394,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2413
    functionName: astyle::ASBeautifier::findObjCColonAlignment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - length
    - find_first_of
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::findObjCColonAlignment(const string& line) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' line'
    - colonAlignPosition
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2427
    functionName: astyle::ASBeautifier::computeObjCColonAlignment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASBeautifier::findObjCColonAlignment
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::computeObjCColonAlignment(const string& line, int
      colonAlignPosition) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2437,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2438,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2445,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2453,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2458,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ' line'
    - bracePos
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[bracePos] == '[')
      pos:
        line_end: 2436
        line_start: 2436
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 2467
      start: 2435
    functionDepth: 1
    functionLinenumber: 2435
    functionLinenumberEnd: 2467
    functionName: astyle::ASBeautifier::getObjCFollowingKeyword
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - assert
    - find_first_not_of
    - find
    - find_first_of
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getObjCFollowingKeyword(const string& line, int bracePos)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2477,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2479,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2479,1
    - Dst: string::replace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' line_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2489
    functionName: astyle::ASBeautifier::getIndentedSpaceEquivalent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - string::append
    - string::replace
    - string::length
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::getIndentedSpaceEquivalent(const string& line_)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2496,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2498,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2499,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2501,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2502,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2503,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2504,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2505,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2506,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2509,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2510,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2511,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2512,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2513,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2514,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2517
    functionName: astyle::ASBeautifier::isTopLevel
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - back
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isTopLevel() const
  - BBCount: 226
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2540,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2555,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2562,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2573,1
    - Dst: astyle::ASBeautifier::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2576,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2583,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2590,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2592,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2596,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2599,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2602,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2607,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2610,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2611,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2611,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2617,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2619,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2641,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2648,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2649,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2654,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2661,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2662,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2669,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2671,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2681,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2682,1
    - Dst: astyle::ASBeautifier::isIndentedPreprocessor
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2690,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2698,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2710,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2713,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2714,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2729,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2752,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2761,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2766,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2768,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2768,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2773,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2773,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2774,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2778,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2796,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2797,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2799,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2801,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2809,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2816,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2823,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2823,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2826,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2828,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2844,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2846,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2847,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2853,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2855,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2857,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2859,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2860,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2873,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2877,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2882,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2890,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2893,1
    - Dst: astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2900,1
    - Dst: astyle::ASBeautifier::isTopLevel
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2905,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2911,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2919,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2923,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2923,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2924,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2944,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2945,1
    - Dst: astyle::ASBeautifier::getNextProgramCharDistance
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2947,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2948,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2961,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2962,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2963,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2970,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2971,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2973,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2976,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2977,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2979,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2982,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2983,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3009,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3009,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3010,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3017,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3021,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3025,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3025,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3028,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3031,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3034,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3037,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3037,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3041,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3041,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3052,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3053,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3061,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3062,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3070,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3075,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3078,1
    - Dst: vector*::back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3078,1
    - Dst: vector*::pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3079,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3097,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3102,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3105,1
    - Dst: vector*::back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3105,1
    - Dst: vector*::pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3106,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3118,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3120,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3125,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3128,1
    - Dst: vector*::back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3128,1
    - Dst: vector*::pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3129,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3155,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3156,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3157,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3175,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3177,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3186,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3191,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3197,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3197,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3199,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3199,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3202,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3205,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3205,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3216,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3237,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3237,1
    - Dst: astyle::ASBeautifier::registerContinuationIndentColon
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3243,1
    - Dst: astyle::ASBeautifier::registerContinuationIndentColon
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3251,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3257,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3257,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3261,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3268,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3269,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3270,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3271,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3277,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3285,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3291,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3291,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3302,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3303,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3304,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3305,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3307,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3308,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3315,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3318,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3319,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3326,1
    - Dst: astyle::ASBeautifier::getContinuationIndentComma
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3333,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3335,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3351,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3353,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3354,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3357,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3360,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3365,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3367,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3368,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3381,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3382,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3384,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3386,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3387,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3388,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3389,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3401,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3404,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3407,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3408,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3410,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3412,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3416,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3417,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3418,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3422,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3424,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3425,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3442,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3443,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3444,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3445,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3445,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3447,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3447,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3448,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3481,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3483,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3487,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3487,1
    - Dst: isalpha
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3488,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3492,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3493,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3494,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3495,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3497,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3498,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3503,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3504,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3505,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3506,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3508,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3510,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3511,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3512,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3516,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3517,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3520,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3521,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3526,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3530,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3535,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3538,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3544,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3544,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3547,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3554,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3556,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3557,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3560,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3560,1
    - Dst: astyle::ASBeautifier::isTopLevel
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3560,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3565,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3567,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3568,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3572,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3573,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3576,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3579,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3588,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3589,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3596,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3597,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3598,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3600,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3605,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3622,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3627,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3631,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3637,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3638,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3639,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3640,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3651,1
    - Dst: findOperator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3656,1
    - Dst: findOperator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3657,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3673,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3673,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3681,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3682,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3688,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3689,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3694,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3697,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3697,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3706,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3707,1
    - Dst: astyle::ASBeautifier::statementEndsWithComma
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3714,1
    - Dst: astyle::ASBeautifier::getContinuationIndentAssign
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3720,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3722,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3735,1
    CyclomaticComplexity: 470
    EdgeCount: 470
    ICount: 697
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 2522
    functionDepth: 3
    functionLinenumber: 2522
    functionLinenumberEnd: 3742
    functionName: astyle::ASBeautifier::parseCurrentLine
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASBeautifier::popLastContinuationIndent
    - astyle::ASBeautifier::getNextProgramCharDistance
    - astyle::ASBeautifier::statementEndsWithComma
    - astyle::ASBeautifier::getNextWord
    - isWhiteSpace
    - isCharPotentialOperator
    - substr
    - peekNextChar
    - astyle::ASBeautifier::isIndentedPreprocessor
    - astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
    - find
    - size
    - pop_back
    - findKeyword
    - isCStyle
    - astyle::ASBase::peekNextChar
    - astyle::ASBeautifier::getContinuationIndentAssign
    - push_back
    - string::length
    - findHeader
    - findOperator
    - astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
    - astyle::ASBeautifier::getContinuationIndentComma
    - isJavaStyle
    - find_first_not_of
    - isDigit
    - isalpha
    - vector*::back
    - astyle::ASBeautifier::registerContinuationIndent
    - astyle::ASBeautifier::indexOf
    - string*::length
    - getCurrentWord
    - emplace_back
    - vector*::pop_back
    - astyle::ASBeautifier::registerContinuationIndentColon
    - empty
    - isCharPotentialHeader
    - compare
    - length
    - isLegalNameChar
    - isSharpStyle
    - astyle::ASBeautifier::convertTabToSpaces
    - vector<const string*>::vector<const string*>
    - back
    - find_first_of
    - vector*::size
    - astyle::ASBeautifier::isTopLevel
    - isDigitSeparator
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::parseCurrentLine(const string& line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::setSpaceIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:52,1
    - Dst: astyle::ASBeautifier::setContinuationIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:53,1
    - Dst: astyle::ASBeautifier::setMinConditionalIndentOption
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:54,1
    - Dst: astyle::ASBeautifier::setMaxContinuationIndentLength
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:55,1
    - Dst: astyle::ASBeautifier::setClassIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:58,1
    - Dst: astyle::ASBeautifier::setModifierIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:59,1
    - Dst: astyle::ASBeautifier::setSwitchIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:60,1
    - Dst: astyle::ASBeautifier::setCaseIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:61,1
    - Dst: astyle::ASBeautifier::setBlockIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:62,1
    - Dst: astyle::ASBeautifier::setBraceIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:63,1
    - Dst: astyle::ASBeautifier::setBraceIndentVtk
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:64,1
    - Dst: astyle::ASBeautifier::setNamespaceIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:65,1
    - Dst: astyle::ASBeautifier::setAfterParenIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:66,1
    - Dst: astyle::ASBeautifier::setLabelIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:67,1
    - Dst: astyle::ASBeautifier::setEmptyLineFill
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:68,1
    - Dst: astyle::ASBeautifier::setCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:69,1
    - Dst: astyle::ASBeautifier::setPreprocDefineIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:70,1
    - Dst: astyle::ASBeautifier::setPreprocConditionalIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:71,1
    - Dst: astyle::ASBeautifier::setAlignMethodColon
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:72,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:76,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:77,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:78,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:79,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:80,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:81,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: astyle::ASBeautifier::ASBeautifier
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASBeautifier::setSpaceIndentation
    - astyle::ASBeautifier::setModifierIndent
    - astyle::ASBeautifier::setAlignMethodColon
    - astyle::ASBeautifier::setPreprocConditionalIndent
    - astyle::ASBeautifier::setCStyle
    - astyle::ASBeautifier::setAfterParenIndent
    - astyle::ASBeautifier::setContinuationIndentation
    - astyle::ASBeautifier::setBraceIndentVtk
    - astyle::ASBeautifier::setBlockIndent
    - astyle::ASBeautifier::setMinConditionalIndentOption
    - astyle::ASBeautifier::setClassIndent
    - astyle::ASBeautifier::setNamespaceIndent
    - astyle::ASBeautifier::setEmptyLineFill
    - astyle::ASBeautifier::setPreprocDefineIndent
    - astyle::ASBeautifier::setLabelIndent
    - astyle::ASBeautifier::setSwitchIndent
    - vector<const string*>::vector<const string*>
    - astyle::ASBeautifier::setBraceIndent
    - astyle::ASBeautifier::setMaxContinuationIndentLength
    - astyle::ASBeautifier::setCaseIndent
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::ASBeautifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:104,1
    - Dst: astyle::ASBeautifier::copyTempStacks
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:107,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:109,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:112,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:115,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:118,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:121,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:124,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:127,1
    - Dst: vector<pair<int, int> >::vector<pair<int, int> >
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 146
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ASBeautifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 264
    functionName: astyle::ASBeautifier::ASBeautifier
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - vector<bool>::vector<bool>
    - astyle::ASBeautifier::copyTempStacks
    - vector<const string*>::vector<const string*>
    - vector<pair<int, int> >::vector<pair<int, int> >
    - vector<int>::vector<int>
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::ASBeautifier(const ASBeautifier& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteBeautifierContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:271,1
    - Dst: deleteBeautifierContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:272,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:273,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:274,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:275,1
    - Dst: deleteTempStacksContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:276,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:277,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:278,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:279,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:280,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:281,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:282,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:283,1
    - Dst: deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: ASBeautifier::~ASBeautifier()
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - deleteTempStacksContainer
    - deleteContainer
    - deleteBeautifierContainer
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::~ASBeautifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::initVectors
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:301,1
    - Dst: astyle::ASBase::init
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:302,1
    - Dst: astyle::ASBeautifier::getFileType
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:302,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:305,1
    - Dst: vector<ASBeautifier*>::vector<ASBeautifier*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:305,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:306,1
    - Dst: vector<ASBeautifier*>::vector<ASBeautifier*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:306,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:308,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:308,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:309,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:309,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:311,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:311,1
    - Dst: astyle::ASBeautifier::initTempStacksContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:313,1
    - Dst: vector<vector<const string*>*>::vector<vector<const string*>*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:313,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:314,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:314,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:316,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:316,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:317,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:317,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:318,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:318,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:319,1
    - Dst: vector<bool>::vector<bool>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:319,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:320,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:321,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:321,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:322,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:322,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:323,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:324,1
    - Dst: vector<int>::vector<int>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:324,1
    - Dst: astyle::ASBeautifier::initContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:325,1
    - Dst: vector<pair<int, int> >::vector<pair<int, int> >
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 1
    argNames:
    - iter
    argTypes:
    - ASSourceIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 417
    functionName: astyle::ASBeautifier::init
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - vector<bool>::vector<bool>
    - astyle::ASBeautifier::initVectors
    - push_back
    - astyle::ASBase::init
    - astyle::ASBeautifier::initContainer
    - vector<const string*>::vector<const string*>
    - vector<pair<int, int> >::vector<pair<int, int> >
    - vector<int>::vector<int>
    - vector<ASBeautifier*>::vector<ASBeautifier*>
    - astyle::ASBeautifier::getFileType
    - astyle::ASBeautifier::initTempStacksContainer
    - emplace_back
    - vector<vector<const string*>*>::vector<vector<const string*>*>
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::init(ASSourceIterator* iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:429,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:430,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:431,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:432,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:433,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:434,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:435,1
    - Dst: astyle::ASResource::buildHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:437,1
    - Dst: astyle::ASResource::buildNonParenHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:438,1
    - Dst: astyle::ASResource::buildAssignmentOperators
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:439,1
    - Dst: astyle::ASResource::buildNonAssignmentOperators
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:440,1
    - Dst: astyle::ASResource::buildPreBlockStatements
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:441,1
    - Dst: astyle::ASResource::buildPreCommandHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:442,1
    - Dst: astyle::ASResource::buildIndentableHeaders
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 444
    functionName: astyle::ASBeautifier::initVectors
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASResource::buildAssignmentOperators
    - astyle::ASResource::buildNonParenHeaders
    - astyle::ASResource::buildPreCommandHeaders
    - astyle::ASResource::buildIndentableHeaders
    - clear
    - astyle::ASResource::buildHeaders
    - astyle::ASResource::buildPreBlockStatements
    - astyle::ASResource::buildNonAssignmentOperators
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::initVectors()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: astyle::ASBeautifier::setCStyle
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setCStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: astyle::ASBeautifier::setJavaStyle
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setJavaStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: astyle::ASBeautifier::setSharpStyle
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setSharpStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: astyle::ASBeautifier::setModeManuallySet
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setModeManuallySet(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: astyle::ASBeautifier::setDefaultTabLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setDefaultTabLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: astyle::ASBeautifier::setForceTabXIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setForceTabXIndentation(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - length
    - forceTabs
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: astyle::ASBeautifier::setTabIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setTabIndentation(int length, bool forceTabs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: astyle::ASBeautifier::setSpaceIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - string
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setSpaceIndentation(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: astyle::ASBeautifier::setContinuationIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setContinuationIndentation(int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: astyle::ASBeautifier::setMaxContinuationIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMaxContinuationIndentLength(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::setMaxContinuationIndentLength
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: astyle::ASBeautifier::setMaxInStatementIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - astyle::ASBeautifier::setMaxContinuationIndentLength
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMaxInStatementIndentLength(int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - min
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: astyle::ASBeautifier::setMinConditionalIndentOption
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMinConditionalIndentOption(int min)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 575
    functionName: astyle::ASBeautifier::setMinConditionalIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setMinConditionalIndentLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: astyle::ASBeautifier::setBraceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setBraceIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::setBraceIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: astyle::ASBeautifier::setBraceIndentVtk
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASBeautifier::setBraceIndent
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setBraceIndentVtk(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: astyle::ASBeautifier::setBlockIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setBlockIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: astyle::ASBeautifier::setClassIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setClassIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: astyle::ASBeautifier::setModifierIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setModifierIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: astyle::ASBeautifier::setSwitchIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setSwitchIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: astyle::ASBeautifier::setCaseIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setCaseIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: astyle::ASBeautifier::setNamespaceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setNamespaceIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: astyle::ASBeautifier::setAfterParenIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setAfterParenIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: astyle::ASBeautifier::setLabelIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setLabelIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: astyle::ASBeautifier::setPreprocDefineIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setPreprocDefineIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: astyle::ASBeautifier::setPreprocConditionalIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setPreprocConditionalIndent(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: astyle::ASBeautifier::setEmptyLineFill
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setEmptyLineFill(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: astyle::ASBeautifier::setAlignMethodColon
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::setAlignMethodColon(bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: astyle::ASBeautifier::getFileType
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getFileType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: astyle::ASBeautifier::getIndentLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getIndentLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: astyle::ASBeautifier::getIndentString
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::getIndentString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: astyle::ASBeautifier::getModeManuallySet
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getModeManuallySet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: astyle::ASBeautifier::getForceTabIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getForceTabIndentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: astyle::ASBeautifier::getAlignMethodColon
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getAlignMethodColon() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: astyle::ASBeautifier::getBlockIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getBlockIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: astyle::ASBeautifier::getBraceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getBraceIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: astyle::ASBeautifier::getNamespaceIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getNamespaceIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: astyle::ASBeautifier::getClassIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getClassIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: astyle::ASBeautifier::getModifierIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getModifierIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 844
    functionName: astyle::ASBeautifier::getSwitchIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getSwitchIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: astyle::ASBeautifier::getCaseIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getCaseIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: astyle::ASBeautifier::getEmptyLineFill
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getEmptyLineFill() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: astyle::ASBeautifier::getPreprocDefineIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::getPreprocDefineIndent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 890
    functionName: astyle::ASBeautifier::getTabLength
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getTabLength() const
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:924,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:939,1
    - Dst: string::find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:946,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:951,1
    - Dst: string::erase
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:952,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:954,1
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:967,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:968,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:976,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:978,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:980,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:986,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:987,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:989,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:992,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:993,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1001,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1004,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1015,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1017,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1018,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1026,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1027,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1028,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1037,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1045,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1046,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1048,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1049,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1054,1
    - Dst: astyle::ASBeautifier::isIndentedPreprocessor
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1055,1
    - Dst: astyle::ASBeautifier::extractPreprocessorStatement
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1060,1
    - Dst: astyle::ASBeautifier::processPreprocessor
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1061,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1065,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1065,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1067,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1073,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1078,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1083,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1084,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1086,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1089,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1089,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1092,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1093,1
    - Dst: astyle::ASBeautifier::computePreprocessorIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1095,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1096,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1097,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1097,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1098,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1099,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1103,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1105,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1105,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1106,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1107,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1112,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1114,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1114,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1115,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1116,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1117,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1124,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1125,1
    - Dst: astyle::ASBeautifier::isInPreprocessorUnterminatedComment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1127,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1137,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1139,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1140,1
    - Dst: ASBeautifier*::beautify
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1142,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1144,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1155,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1157,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1158,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1159,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1160,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1161,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1162,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1163,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1164,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1165,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1166,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1167,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1168,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1169,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1170,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1172,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1178,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1180,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1184,1
    - Dst: astyle::ASBeautifier::computePreliminaryIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1187,1
    - Dst: astyle::ASBeautifier::parseCurrentLine
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1190,1
    - Dst: astyle::ASBeautifier::adjustParsedLineIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1193,1
    - Dst: astyle::ASBeautifier::adjustObjCMethodDefinitionIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1196,1
    - Dst: astyle::ASBeautifier::adjustObjCMethodCallIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1199,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1203,1
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1206,1
    - Dst: string::substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1206,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1207,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1209,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1210,1
    - Dst: astyle::ASBeautifier::preLineWS
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1233,1
    - Dst: getIndentedLineReturn
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1234,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1243,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 210
    argCount: 1
    argNames:
    - ' originalLine'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 900
    functionDepth: 4
    functionLinenumber: 900
    functionLinenumberEnd: 1247
    functionName: astyle::ASBeautifier::beautify
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - string::compare
    - astyle::ASBeautifier::trim
    - astyle::ASBeautifier::isIndentedPreprocessor
    - ASBeautifier*::beautify
    - pop_back
    - size
    - astyle::ASBeautifier::parseCurrentLine
    - string::length
    - astyle::ASBeautifier::preLineWS
    - string::find_last_not_of
    - string::find_first_not_of
    - astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
    - astyle::ASBeautifier::computePreliminaryIndentation
    - astyle::ASBeautifier::adjustObjCMethodCallIndentation
    - astyle::ASBeautifier::processPreprocessor
    - astyle::ASBeautifier::extractPreprocessorStatement
    - getIndentedLineReturn
    - string::substr
    - astyle::ASBeautifier::isInPreprocessorUnterminatedComment
    - astyle::ASBeautifier::adjustObjCMethodDefinitionIndentation
    - emplace_back
    - empty
    - string::find
    - length
    - back
    - astyle::ASBeautifier::computePreprocessorIndent
    - astyle::ASBeautifier::adjustParsedLineIndentation
    - string::erase
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::beautify(const string& originalLine)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' newLine'
    - ' originalLine'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1254
    functionName: '& ASBeautifier::getIndentedLineReturn(const string& newLine, const
      string& originalLine) const'
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string & ASBeautifier::getIndentedLineReturn(const string& newLine,
      const string& originalLine) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - lineIndentCount
    - lineSpaceIndentCount
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1281
    functionName: astyle::ASBeautifier::preLineWS
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - string
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::preLineWS(int lineIndentCount, int lineSpaceIndentCount)
      const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1289,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1290,1
    - Dst: astyle::ASBeautifier::getNextProgramCharDistance
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1291,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1298,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1299,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1303,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1305,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1311,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1312,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1313,1
    - Dst: astyle::ASBeautifier::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1322,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1339,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1340,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1341,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1345,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1345,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1348,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 6
    argNames:
    - ' line'
    - i
    - spaceIndentCount_
    - tabIncrementIn
    - minIndent
    - updateParenStack
    argTypes:
    - string
    - int
    - int
    - int
    - int
    - bool
    assertStmts:
    - condition: (i >= -1)
      pos:
        line_end: 1288
        line_start: 1288
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1349
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1349
    functionName: astyle::ASBeautifier::registerContinuationIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - astyle::ASBeautifier::getNextProgramCharDistance
    - length
    - astyle::ASBeautifier::convertTabToSpaces
    - back
    - assert
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: "void ASBeautifier::registerContinuationIndent(const string& line,
      int i, int spaceIndentCount_,\n                                              int
      tabIncrementIn, int minIndent, bool updateParenStack)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1356,1
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1357,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1360,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1363,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' line'
    - i
    - tabIncrementIn
    argTypes:
    - string
    - int
    - int
    assertStmts:
    - condition: (line[i] == ':')
      pos:
        line_end: 1355
        line_start: 1355
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    - condition: (isInClassInitializer || isInClassHeaderTab)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1371
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1371
    functionName: astyle::ASBeautifier::registerContinuationIndentColon
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - assert
    - find_first_not_of
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::registerContinuationIndentColon(const string& line,
      int i, int tabIncrementIn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::computePreliminaryIndentation
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1380,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1382,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1384,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1385,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1386,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1390
    functionName: astyle::ASBeautifier::computePreprocessorIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - back
    - empty
    - astyle::ASBeautifier::computePreliminaryIndentation
    linkageType: ''
    returnType: pair<int, int>
    signature: pair<int, int> ASBeautifier::computePreprocessorIndent()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1399,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1408,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1415,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1419,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ' line'
    - i
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1432
    functionName: astyle::ASBeautifier::getNextProgramCharDistance
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 3
    functionsReached:
    - length
    - compare
    - isWhiteSpace
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getNextProgramCharDistance(const string& line, int
      i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1445,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1445,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1445,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1446,1
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' container'
    - element
    argTypes:
    - vector<const string*>
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1449
    functionName: astyle::ASBeautifier::indexOf
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - find
    - begin
    - end
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::indexOf(const vector<const string*>& container, const
      string* element) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - tabIncrementIn
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1461
    functionName: astyle::ASBeautifier::convertTabToSpaces
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::convertTabToSpaces(int i, int tabIncrementIn) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1472,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1474,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1477,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1486
    functionName: astyle::ASBeautifier::trim
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 5
    functionsReached:
    - length
    - isWhiteSpace
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::trim(const string& str) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1496,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1503
    functionName: astyle::ASBeautifier::rtrim
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - length
    - find_last_not_of
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::rtrim(const string& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<vector<const string*>*>::vector<vector<const string*>*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1511,1
    - Dst: tempStacks::begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1513,1
    - Dst: tempStacks::end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1514,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1517,1
    - Dst: vector*::emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ASBeautifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1522
    functionName: astyle::ASBeautifier::copyTempStacks
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - tempStacks::end
    - vector<const string*>::vector<const string*>
    - tempStacks::begin
    - vector*::emplace_back
    - vector<vector<const string*>*>::vector<vector<const string*>*>
    linkageType: ''
    returnType: vector<vector<const string*>*>
    signature: vector<vector<const string*>*> * ASBeautifier::copyTempStacks(const
      ASBeautifier& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1537
    functionName: astyle::ASBeautifier::deleteBeautifierVectors
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteBeautifierVectors()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1553
    functionName: astyle::ASBeautifier::deleteContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteContainer(T& container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1565,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1566,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - vector<ASBeautifier*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1575
    functionName: astyle::ASBeautifier::deleteBeautifierContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached:
    - begin
    - clear
    - end
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteBeautifierContainer(vector<ASBeautifier*>*&
      container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1586,1
    - Dst: end
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1587,1
    - Dst: clear
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - vector<vector<const string*>*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1596
    functionName: astyle::ASBeautifier::deleteTempStacksContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - begin
    - clear
    - end
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::deleteTempStacksContainer(vector<vector<const string*>*>*&
      container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::deleteContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1610
    functionName: astyle::ASBeautifier::initContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASBeautifier::deleteContainer
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::initContainer(T& container, T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::deleteTempStacksContainer
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' container'
    - value
    argTypes:
    - vector<vector<const string*>*>*
    - vector<vector<const string*>*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1617
    functionDepth: 2
    functionLinenumber: 1617
    functionLinenumberEnd: 1623
    functionName: astyle::ASBeautifier::initTempStacksContainer
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASBeautifier::deleteTempStacksContainer
    linkageType: ''
    returnType: void
    signature: "void ASBeautifier::initTempStacksContainer(vector<vector<const string*>*>*&
      container,\n                                           vector<vector<const string*>*>*
      value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1634,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1639,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1649,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1671,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1678,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1681,1
    - Dst: astyle::ASBeautifier::isLineEndComment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1683,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1703,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 2
    argNames:
    - ' line'
    - index
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[index] == '=')
      pos:
        line_end: 1633
        line_start: 1633
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1709
      start: 1632
    functionDepth: 2
    functionLinenumber: 1632
    functionLinenumberEnd: 1709
    functionName: astyle::ASBeautifier::statementEndsWithComma
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - compare
    - length
    - astyle::ASBeautifier::isLineEndComment
    - assert
    - find_last_not_of
    - isDigitSeparator
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::statementEndsWithComma(const string& line, int index)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1718,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1718,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1721,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' line'
    - startPos
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line.compare(startPos, 2, "/*") == 0)
      pos:
        line_end: 1717
        line_start: 1717
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1729
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1729
    functionName: astyle::ASBeautifier::isLineEndComment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - assert
    - find
    - compare
    - find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isLineEndComment(const string& line, int startPos)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1738,1
    - Dst: find_last_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1744,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1745,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (line[currPos] == '=')
      pos:
        line_end: 1737
        line_start: 1737
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1757
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1757
    functionName: astyle::ASBeautifier::getContinuationIndentAssign
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - assert
    - find_last_not_of
    - isLegalNameChar
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getContinuationIndentAssign(const string& line, size_t
      currPos) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1766,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1769,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1770,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1776,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1784,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (line[currPos] == ',')
      pos:
        line_end: 1765
        line_start: 1765
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1789
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1789
    functionName: astyle::ASBeautifier::getContinuationIndentComma
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - assert
    - find_first_not_of
    - isLegalNameChar
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getContinuationIndentComma(const string& line, size_t
      currPos) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1799,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1802,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1804,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1805,1
    - Dst: string
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1806,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1811,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1815,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1816
    functionName: astyle::ASBeautifier::getNextWord
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 7
    functionsReached:
    - find_first_not_of
    - length
    - isLegalNameChar
    - string
    - substr
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::getNextWord(const string& line, size_t currPos)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1827,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1828,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1835,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1836,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1839,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1841,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1845,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1848,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1853,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1855,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1859,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - ' line'
    - currPos
    argTypes:
    - string
    - size_t
    assertStmts:
    - condition: (line[0] == '#')
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1864
      start: 1825
    functionDepth: 2
    functionLinenumber: 1825
    functionLinenumberEnd: 1864
    functionName: astyle::ASBeautifier::isIndentedPreprocessor
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 3
    functionsReached:
    - find
    - astyle::ASBeautifier::getNextWord
    - find_first_not_of
    - length
    - isLegalNameChar
    - substr
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isIndentedPreprocessor(const string& line, size_t
      currPos) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::trim
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1873,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1873,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1874,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1874,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1876,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1880,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1881,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1884,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1885,1
    - Dst: string::find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1888,1
    - Dst: string::compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1889,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1895
    functionName: astyle::ASBeautifier::isPreprocessorConditionalCplusplus
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - string::compare
    - astyle::ASBeautifier::getNextWord
    - substr
    - astyle::ASBeautifier::trim
    - string::find_first_not_of
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isPreprocessorConditionalCplusplus(const string&
      line) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1907,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1903
    functionDepth: 1
    functionLinenumber: 1903
    functionLinenumberEnd: 1919
    functionName: astyle::ASBeautifier::isInPreprocessorUnterminatedComment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - find
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isInPreprocessorUnterminatedComment(const string&
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1923,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1923,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1924,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1925,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1926,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1927,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!continuationIndentStackSizeStack->empty())
      pos:
        line_end: 1922
        line_start: 1922
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 1929
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1929
    functionName: astyle::ASBeautifier::popLastContinuationIndent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - pop_back
    - size
    - back
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::popLastContinuationIndent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1933
    functionName: astyle::ASBeautifier::getBeautifierFileType
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getBeautifierFileType() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1947,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1956,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1957,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1965,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1965,1
    - Dst: astyle::ASBeautifier::isPreprocessorConditionalCplusplus
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1967,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1970,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1970,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1971,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1971,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1972,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1973,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1973,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1975,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1975,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1975,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1979,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1982,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1982,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1983,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1988,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1991,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1991,1
    - Dst: ASBeautifier::ASBeautifier
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1991,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:1999,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2001,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2002,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2003,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2005,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2006,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2011,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2013,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2014,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2015,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2017,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2018,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 2
    argNames:
    - ' preproc'
    - ' line'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1938
    functionDepth: 3
    functionLinenumber: 1938
    functionLinenumberEnd: 2023
    functionName: astyle::ASBeautifier::processPreprocessor
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - pop_back
    - size
    - length
    - ASBeautifier::ASBeautifier
    - push_back
    - substr
    - back
    - astyle::ASBeautifier::isPreprocessorConditionalCplusplus
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::processPreprocessor(const string& preproc, const
      string& line)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2034,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2035,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2037,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2038,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2040,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2061,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2067,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2089,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2095,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2096,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2110,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2113,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2124,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2127,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2128,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2129,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2131,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2138,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2139,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2140,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2149,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2150,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2028
    functionDepth: 1
    functionLinenumber: 2028
    functionLinenumberEnd: 2157
    functionName: astyle::ASBeautifier::computePreliminaryIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 4
    functionsReached:
    - isJavaStyle
    - pop_back
    - size
    - isCStyle
    - back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::computePreliminaryIndentation()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2167,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2181,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2181,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2186,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2190,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2190,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2220,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2226,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2232,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 32
    argCount: 2
    argNames:
    - iPrelim
    - isInExtraHeaderIndent
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2243
    functionName: astyle::ASBeautifier::adjustParsedLineIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::adjustParsedLineIndentation(size_t iPrelim, bool
      isInExtraHeaderIndent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2252,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2252,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2254,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2257,1
    - Dst: vector*::at
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isElseHeaderIndent && !tempStacks->empty())
      pos:
        line_end: 2251
        line_start: 2251
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 2264
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2264
    functionName: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - vector*::at
    - back
    - vector*::size
    - assert
    - empty
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::adjustIndentCountForBreakElseIfComments() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2273,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2276,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2278,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2281
    functionName: astyle::ASBeautifier::extractPreprocessorStatement
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 6
    functionsReached:
    - length
    - find_first_not_of
    - find_first_of
    - substr
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::extractPreprocessorStatement(const string& line)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2286,1
    - Dst: astyle::ASBeautifier::getIndentedSpaceEquivalent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2291,1
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2292,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2297,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2298,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2300,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2308,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - ' line_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2283
    functionDepth: 2
    functionLinenumber: 2283
    functionLinenumberEnd: 2312
    functionName: astyle::ASBeautifier::adjustObjCMethodDefinitionIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASBeautifier::getIndentedSpaceEquivalent
    - length
    - astyle::ASBeautifier::findObjCColonAlignment
    - astyle::ASBeautifier::computeObjCColonAlignment
    - back
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::adjustObjCMethodDefinitionIndentation(const string&
      line_)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::getIndentedSpaceEquivalent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2322,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2323,1
    - Dst: astyle::ASBeautifier::getObjCFollowingKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2325,1
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2326,1
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2338,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2341,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2343,1
    - Dst: astyle::ASBeautifier::computeObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2345,1
    - Dst: astyle::ASBeautifier::getIndentedSpaceEquivalent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2359,1
    - Dst: string::find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2360,1
    - Dst: astyle::ASBeautifier::getObjCFollowingKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2362,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - ' line_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2314
    functionDepth: 2
    functionLinenumber: 2314
    functionLinenumberEnd: 2370
    functionName: astyle::ASBeautifier::adjustObjCMethodCallIndentation
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - string::find
    - astyle::ASBeautifier::getIndentedSpaceEquivalent
    - astyle::ASBeautifier::getObjCFollowingKeyword
    - astyle::ASBeautifier::findObjCColonAlignment
    - astyle::ASBeautifier::computeObjCColonAlignment
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::adjustObjCMethodCallIndentation(const string& line_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2377,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2383,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (isImmediatelyPostObjCMethodDefinition)
      pos:
        line_end: 2376
        line_start: 2376
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 2385
      start: 2375
    functionDepth: 1
    functionLinenumber: 2375
    functionLinenumberEnd: 2385
    functionName: astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 3
    functionsReached:
    - assert
    - pop_back
    - empty
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::clearObjCMethodDefinitionAlignment()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2394,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2413
    functionName: astyle::ASBeautifier::findObjCColonAlignment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 5
    functionsReached:
    - length
    - find_first_of
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::findObjCColonAlignment(const string& line) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: astyle::ASBeautifier::findObjCColonAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' line'
    - colonAlignPosition
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2427
    functionName: astyle::ASBeautifier::computeObjCColonAlignment
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 4
    functionsReached:
    - astyle::ASBeautifier::findObjCColonAlignment
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::computeObjCColonAlignment(const string& line, int
      colonAlignPosition) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2437,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2438,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2445,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2453,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2458,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - ' line'
    - bracePos
    argTypes:
    - string
    - int
    assertStmts:
    - condition: (line[bracePos] == '[')
      pos:
        line_end: 2436
        line_start: 2436
        source_file: /src/geos/tools/astyle/ASBeautifier.cpp
    constantsTouched: []
    func_position:
      end: 2467
      start: 2435
    functionDepth: 1
    functionLinenumber: 2435
    functionLinenumberEnd: 2467
    functionName: astyle::ASBeautifier::getObjCFollowingKeyword
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - assert
    - find_first_not_of
    - find
    - find_first_of
    linkageType: ''
    returnType: int
    signature: int ASBeautifier::getObjCFollowingKeyword(const string& line, int bracePos)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string::append
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2477,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2479,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2479,1
    - Dst: string::replace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' line_'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2489
    functionName: astyle::ASBeautifier::getIndentedSpaceEquivalent
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 4
    functionsReached:
    - string::append
    - string::replace
    - string::length
    linkageType: ''
    returnType: string
    signature: string ASBeautifier::getIndentedSpaceEquivalent(const string& line_)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2496,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2498,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2499,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2501,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2502,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2503,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2504,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2505,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2506,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2509,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2510,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2511,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2512,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2513,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2514,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2517
    functionName: astyle::ASBeautifier::isTopLevel
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 1
    functionsReached:
    - size
    - back
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ASBeautifier::isTopLevel() const
  - BBCount: 226
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2540,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2555,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2562,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2573,1
    - Dst: astyle::ASBeautifier::convertTabToSpaces
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2576,1
    - Dst: isDigitSeparator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2583,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2590,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2592,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2596,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2599,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2602,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2607,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2610,1
    - Dst: substr
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2611,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2611,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2617,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2619,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2641,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2648,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2649,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2654,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2661,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2662,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2669,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2671,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2681,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2682,1
    - Dst: astyle::ASBeautifier::isIndentedPreprocessor
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2690,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2698,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2710,1
    - Dst: astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2711,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2713,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2714,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2729,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2752,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2761,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2766,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2768,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2768,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2773,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2773,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2774,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2778,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2796,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2797,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2799,1
    - Dst: find
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2801,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2809,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2816,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2823,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2823,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2826,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2828,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2844,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2846,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2847,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2853,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2855,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2857,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2859,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2860,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2873,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2877,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2882,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2890,1
    - Dst: isLegalNameChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2893,1
    - Dst: astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2900,1
    - Dst: astyle::ASBeautifier::isTopLevel
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2905,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2911,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2919,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2923,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2923,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2924,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2944,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2945,1
    - Dst: astyle::ASBeautifier::getNextProgramCharDistance
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2947,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2948,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2961,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2962,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2963,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2970,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2971,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2973,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2976,1
    - Dst: push_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2977,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2979,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2982,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:2983,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3009,1
    - Dst: vector<const string*>::vector<const string*>
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3009,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3010,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3017,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3021,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3025,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3025,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3028,1
    - Dst: find_first_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3031,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3034,1
    - Dst: astyle::ASBeautifier::getNextWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3037,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3037,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3041,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3041,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3052,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3053,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3061,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3062,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3070,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3075,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3078,1
    - Dst: vector*::back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3078,1
    - Dst: vector*::pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3079,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3097,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3102,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3105,1
    - Dst: vector*::back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3105,1
    - Dst: vector*::pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3106,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3118,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3120,1
    - Dst: vector*::size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3125,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3128,1
    - Dst: vector*::back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3128,1
    - Dst: vector*::pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3129,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3155,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3156,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3157,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3175,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3177,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3186,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3191,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3197,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3197,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3199,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3199,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3202,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3205,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3205,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3216,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3237,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3237,1
    - Dst: astyle::ASBeautifier::registerContinuationIndentColon
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3243,1
    - Dst: astyle::ASBeautifier::registerContinuationIndentColon
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3251,1
    - Dst: isDigit
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3257,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3257,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3261,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3268,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3269,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3270,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3271,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3277,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3285,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3291,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3291,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3302,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3303,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3304,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3305,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3307,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3308,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3315,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3318,1
    - Dst: compare
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3319,1
    - Dst: isJavaStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3326,1
    - Dst: astyle::ASBeautifier::getContinuationIndentComma
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3333,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3335,1
    - Dst: size
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3351,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3353,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3354,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3357,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3360,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3365,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3367,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3368,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3381,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3382,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3384,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3386,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3387,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3388,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3389,1
    - Dst: astyle::ASBeautifier::indexOf
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3401,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3404,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3407,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3408,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3410,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3412,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3416,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3417,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3418,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3422,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3424,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3425,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3442,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3443,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3444,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3445,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3445,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3447,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3447,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3448,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3481,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3483,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3487,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3487,1
    - Dst: isalpha
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3488,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3492,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3493,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3494,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3495,1
    - Dst: isSharpStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3497,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3498,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3503,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3504,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3505,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3506,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3508,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3510,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3511,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3512,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3516,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3517,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3520,1
    - Dst: pop_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3521,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3526,1
    - Dst: findHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3530,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3535,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3538,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3544,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3544,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3547,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3554,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3556,1
    - Dst: back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3557,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3560,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3560,1
    - Dst: astyle::ASBeautifier::isTopLevel
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3560,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3565,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3567,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3568,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3572,1
    - Dst: findKeyword
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3573,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3576,1
    - Dst: peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3579,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3588,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3589,1
    - Dst: length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3596,1
    - Dst: isWhiteSpace
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3597,1
    - Dst: isCharPotentialHeader
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3598,1
    - Dst: getCurrentWord
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3600,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3605,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3622,1
    - Dst: astyle::ASBeautifier::popLastContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3627,1
    - Dst: string::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3631,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3637,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3638,1
    - Dst: astyle::ASBase::peekNextChar
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3639,1
    - Dst: find_first_not_of
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3640,1
    - Dst: isCharPotentialOperator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3651,1
    - Dst: findOperator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3656,1
    - Dst: findOperator
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3657,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3673,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3673,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3681,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3682,1
    - Dst: empty
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3688,1
    - Dst: isCStyle
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3689,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3694,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3697,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3697,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3706,1
    - Dst: string*::length
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3707,1
    - Dst: astyle::ASBeautifier::statementEndsWithComma
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3714,1
    - Dst: astyle::ASBeautifier::getContinuationIndentAssign
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3720,1
    - Dst: emplace_back
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3722,1
    - Dst: astyle::ASBeautifier::registerContinuationIndent
      Src: /src/geos/tools/astyle/ASBeautifier.cpp:3735,1
    CyclomaticComplexity: 470
    EdgeCount: 470
    ICount: 697
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 2522
    functionDepth: 3
    functionLinenumber: 2522
    functionLinenumberEnd: 3742
    functionName: astyle::ASBeautifier::parseCurrentLine
    functionSourceFile: /src/geos/tools/astyle/ASBeautifier.cpp
    functionUses: 2
    functionsReached:
    - astyle::ASBeautifier::popLastContinuationIndent
    - astyle::ASBeautifier::getNextProgramCharDistance
    - astyle::ASBeautifier::statementEndsWithComma
    - astyle::ASBeautifier::getNextWord
    - isWhiteSpace
    - isCharPotentialOperator
    - substr
    - peekNextChar
    - astyle::ASBeautifier::isIndentedPreprocessor
    - astyle::ASBeautifier::adjustIndentCountForBreakElseIfComments
    - find
    - size
    - pop_back
    - findKeyword
    - isCStyle
    - astyle::ASBase::peekNextChar
    - astyle::ASBeautifier::getContinuationIndentAssign
    - push_back
    - string::length
    - findHeader
    - findOperator
    - astyle::ASBeautifier::clearObjCMethodDefinitionAlignment
    - astyle::ASBeautifier::getContinuationIndentComma
    - isJavaStyle
    - find_first_not_of
    - isDigit
    - isalpha
    - vector*::back
    - astyle::ASBeautifier::registerContinuationIndent
    - astyle::ASBeautifier::indexOf
    - string*::length
    - getCurrentWord
    - emplace_back
    - vector*::pop_back
    - astyle::ASBeautifier::registerContinuationIndentColon
    - empty
    - isCharPotentialHeader
    - compare
    - length
    - isLegalNameChar
    - isSharpStyle
    - astyle::ASBeautifier::convertTabToSpaces
    - vector<const string*>::vector<const string*>
    - back
    - find_first_of
    - vector*::size
    - astyle::ASBeautifier::isTopLevel
    - isDigitSeparator
    linkageType: ''
    returnType: void
    signature: void ASBeautifier::parseCurrentLine(const string& line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:39,1
    - Dst: geos::index::VertexSequencePackedRtree::build
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::index::VertexSequencePackedRtree::VertexSequencePackedRtree
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::build
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::VertexSequencePackedRtree(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::index::VertexSequencePackedRtree::getBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::getBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::computeLevelOffsets
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:60,1
    - Dst: geos::index::VertexSequencePackedRtree::createBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::index::VertexSequencePackedRtree::build
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::VertexSequencePackedRtree::createBounds
    - geos::index::VertexSequencePackedRtree::computeLevelOffsets
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:79,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:80,1
    - Dst: geos::index::VertexSequencePackedRtree::levelNodeCount
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: geos::index::VertexSequencePackedRtree::computeLevelOffsets
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelNodeCount
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> VertexSequencePackedRtree::computeLevelOffsets()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::index::VertexSequencePackedRtree::ceilDivisor
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::ceilDivisor(std::size_t num,
      std::size_t denom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::ceilDivisor
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numNodes
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::VertexSequencePackedRtree::levelNodeCount
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::VertexSequencePackedRtree::ceilDivisor
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelNodeCount(std::size_t numNodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:109,1
    - Dst: geos::index::VertexSequencePackedRtree::fillItemBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:111,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:113,1
    - Dst: geos::index::VertexSequencePackedRtree::fillLevelBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: geos::index::VertexSequencePackedRtree::createBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::fillLevelBounds
    - geos::index::VertexSequencePackedRtree::fillItemBounds
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::createBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: geos::index::VertexSequencePackedRtree::computeItemEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:128,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::index::VertexSequencePackedRtree::fillItemBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeItemEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillItemBounds(std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:144,1
    - Dst: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lvl
    - ' bnds'
    argTypes:
    - std::size_t
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: geos::index::VertexSequencePackedRtree::fillLevelBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillLevelBounds(std::size_t lvl, std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bnds'
    - start
    - end
    argTypes:
    - std::vector<Envelope>
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeNodeEnvelope(const std::vector<Envelope>&
      bnds,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' items'
    - start
    - end
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::index::VertexSequencePackedRtree::computeItemEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeItemEnvelope(const geom::CoordinateSequence&
      items,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:190,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::index::VertexSequencePackedRtree::query
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::query(const Envelope& queryEnv, std::vector<std::size_t>&
      result) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:205,1
    - Dst: intersects
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:207,1
    - Dst: geos::index::VertexSequencePackedRtree::queryItemRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:212,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNodeRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: geos::index::VertexSequencePackedRtree::queryNode
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - Envelope::isNull
    - intersects
    - geos::index::VertexSequencePackedRtree::queryItemRange
    - geos::index::VertexSequencePackedRtree::queryNodeRange
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNode(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::levelSize
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:225,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeStartIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: geos::index::VertexSequencePackedRtree::queryNodeRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelSize
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNodeRange(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeStartIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::index::VertexSequencePackedRtree::levelSize
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelSize(std::size_t level)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:250,1
    - Dst: contains
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:254,1
    - Dst: push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' queryEnv'
    - itemIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: geos::index::VertexSequencePackedRtree::queryItemRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - size
    - contains
    - push_back
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryItemRange(const Envelope& queryEnv,\n
      \   std::size_t itemIndex, std::vector<std::size_t>& result) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:274,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:277,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:279,1
    - Dst: geos::index::VertexSequencePackedRtree::isNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:284,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 291
    functionName: geos::index::VertexSequencePackedRtree::remove
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    - size
    - geos::index::VertexSequencePackedRtree::isNodeEmpty
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:298,1
    - Dst: isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - index
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: geos::index::VertexSequencePackedRtree::isNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - isNull
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isNodeEmpty(std::size_t level, std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nodeIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isItemsNodeEmpty(std::size_t nodeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - max
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: geos::index::VertexSequencePackedRtree::clampMax
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::clampMax(std::size_t x, std::size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:39,1
    - Dst: geos::index::VertexSequencePackedRtree::build
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::index::VertexSequencePackedRtree::VertexSequencePackedRtree
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::build
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::VertexSequencePackedRtree(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::index::VertexSequencePackedRtree::getBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::getBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::computeLevelOffsets
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:60,1
    - Dst: geos::index::VertexSequencePackedRtree::createBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::index::VertexSequencePackedRtree::build
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::VertexSequencePackedRtree::createBounds
    - geos::index::VertexSequencePackedRtree::computeLevelOffsets
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:79,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:80,1
    - Dst: geos::index::VertexSequencePackedRtree::levelNodeCount
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: geos::index::VertexSequencePackedRtree::computeLevelOffsets
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelNodeCount
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> VertexSequencePackedRtree::computeLevelOffsets()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::index::VertexSequencePackedRtree::ceilDivisor
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::ceilDivisor(std::size_t num,
      std::size_t denom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::ceilDivisor
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numNodes
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::VertexSequencePackedRtree::levelNodeCount
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::VertexSequencePackedRtree::ceilDivisor
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelNodeCount(std::size_t numNodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:109,1
    - Dst: geos::index::VertexSequencePackedRtree::fillItemBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:111,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:113,1
    - Dst: geos::index::VertexSequencePackedRtree::fillLevelBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: geos::index::VertexSequencePackedRtree::createBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::fillLevelBounds
    - geos::index::VertexSequencePackedRtree::fillItemBounds
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::createBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: geos::index::VertexSequencePackedRtree::computeItemEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:128,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::index::VertexSequencePackedRtree::fillItemBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeItemEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillItemBounds(std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:144,1
    - Dst: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lvl
    - ' bnds'
    argTypes:
    - std::size_t
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: geos::index::VertexSequencePackedRtree::fillLevelBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillLevelBounds(std::size_t lvl, std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bnds'
    - start
    - end
    argTypes:
    - std::vector<Envelope>
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeNodeEnvelope(const std::vector<Envelope>&
      bnds,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' items'
    - start
    - end
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::index::VertexSequencePackedRtree::computeItemEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeItemEnvelope(const geom::CoordinateSequence&
      items,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:190,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::index::VertexSequencePackedRtree::query
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::query(const Envelope& queryEnv, std::vector<std::size_t>&
      result) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:205,1
    - Dst: intersects
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:207,1
    - Dst: geos::index::VertexSequencePackedRtree::queryItemRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:212,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNodeRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: geos::index::VertexSequencePackedRtree::queryNode
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - Envelope::isNull
    - intersects
    - geos::index::VertexSequencePackedRtree::queryItemRange
    - geos::index::VertexSequencePackedRtree::queryNodeRange
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNode(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::levelSize
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:225,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeStartIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: geos::index::VertexSequencePackedRtree::queryNodeRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelSize
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNodeRange(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeStartIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::index::VertexSequencePackedRtree::levelSize
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelSize(std::size_t level)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:250,1
    - Dst: contains
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:254,1
    - Dst: push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' queryEnv'
    - itemIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: geos::index::VertexSequencePackedRtree::queryItemRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - size
    - contains
    - push_back
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryItemRange(const Envelope& queryEnv,\n
      \   std::size_t itemIndex, std::vector<std::size_t>& result) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:274,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:277,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:279,1
    - Dst: geos::index::VertexSequencePackedRtree::isNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:284,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 291
    functionName: geos::index::VertexSequencePackedRtree::remove
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    - size
    - geos::index::VertexSequencePackedRtree::isNodeEmpty
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:298,1
    - Dst: isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - index
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: geos::index::VertexSequencePackedRtree::isNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isNodeEmpty(std::size_t level, std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nodeIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isItemsNodeEmpty(std::size_t nodeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - max
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: geos::index::VertexSequencePackedRtree::clampMax
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::clampMax(std::size_t x, std::size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:39,1
    - Dst: geos::index::VertexSequencePackedRtree::build
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::index::VertexSequencePackedRtree::VertexSequencePackedRtree
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::build
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::VertexSequencePackedRtree(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::index::VertexSequencePackedRtree::getBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::getBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::computeLevelOffsets
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:60,1
    - Dst: geos::index::VertexSequencePackedRtree::createBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::index::VertexSequencePackedRtree::build
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::VertexSequencePackedRtree::createBounds
    - geos::index::VertexSequencePackedRtree::computeLevelOffsets
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:79,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:80,1
    - Dst: geos::index::VertexSequencePackedRtree::levelNodeCount
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: geos::index::VertexSequencePackedRtree::computeLevelOffsets
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelNodeCount
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> VertexSequencePackedRtree::computeLevelOffsets()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::index::VertexSequencePackedRtree::ceilDivisor
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::ceilDivisor(std::size_t num,
      std::size_t denom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::ceilDivisor
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numNodes
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::VertexSequencePackedRtree::levelNodeCount
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::VertexSequencePackedRtree::ceilDivisor
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelNodeCount(std::size_t numNodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:109,1
    - Dst: geos::index::VertexSequencePackedRtree::fillItemBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:111,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:113,1
    - Dst: geos::index::VertexSequencePackedRtree::fillLevelBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: geos::index::VertexSequencePackedRtree::createBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::fillLevelBounds
    - geos::index::VertexSequencePackedRtree::fillItemBounds
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::createBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: geos::index::VertexSequencePackedRtree::computeItemEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:128,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::index::VertexSequencePackedRtree::fillItemBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeItemEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillItemBounds(std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:144,1
    - Dst: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lvl
    - ' bnds'
    argTypes:
    - std::size_t
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: geos::index::VertexSequencePackedRtree::fillLevelBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillLevelBounds(std::size_t lvl, std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bnds'
    - start
    - end
    argTypes:
    - std::vector<Envelope>
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeNodeEnvelope(const std::vector<Envelope>&
      bnds,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' items'
    - start
    - end
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::index::VertexSequencePackedRtree::computeItemEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeItemEnvelope(const geom::CoordinateSequence&
      items,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:190,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::index::VertexSequencePackedRtree::query
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::query(const Envelope& queryEnv, std::vector<std::size_t>&
      result) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:205,1
    - Dst: intersects
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:207,1
    - Dst: geos::index::VertexSequencePackedRtree::queryItemRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:212,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNodeRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: geos::index::VertexSequencePackedRtree::queryNode
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 5
    functionsReached:
    - Envelope::isNull
    - intersects
    - geos::index::VertexSequencePackedRtree::queryItemRange
    - geos::index::VertexSequencePackedRtree::queryNodeRange
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNode(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::levelSize
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:225,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeStartIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: geos::index::VertexSequencePackedRtree::queryNodeRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelSize
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNodeRange(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeStartIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::index::VertexSequencePackedRtree::levelSize
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelSize(std::size_t level)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:250,1
    - Dst: contains
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:254,1
    - Dst: push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' queryEnv'
    - itemIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: geos::index::VertexSequencePackedRtree::queryItemRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - size
    - contains
    - push_back
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryItemRange(const Envelope& queryEnv,\n
      \   std::size_t itemIndex, std::vector<std::size_t>& result) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:274,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:277,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:279,1
    - Dst: geos::index::VertexSequencePackedRtree::isNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:284,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 291
    functionName: geos::index::VertexSequencePackedRtree::remove
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    - size
    - geos::index::VertexSequencePackedRtree::isNodeEmpty
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:298,1
    - Dst: isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - index
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: geos::index::VertexSequencePackedRtree::isNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - isNull
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isNodeEmpty(std::size_t level, std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nodeIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isItemsNodeEmpty(std::size_t nodeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - max
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: geos::index::VertexSequencePackedRtree::clampMax
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::clampMax(std::size_t x, std::size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:39,1
    - Dst: geos::index::VertexSequencePackedRtree::build
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::index::VertexSequencePackedRtree::VertexSequencePackedRtree
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::build
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::VertexSequencePackedRtree(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::index::VertexSequencePackedRtree::getBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::getBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::computeLevelOffsets
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:60,1
    - Dst: geos::index::VertexSequencePackedRtree::createBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::index::VertexSequencePackedRtree::build
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::VertexSequencePackedRtree::createBounds
    - geos::index::VertexSequencePackedRtree::computeLevelOffsets
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:79,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:80,1
    - Dst: geos::index::VertexSequencePackedRtree::levelNodeCount
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: geos::index::VertexSequencePackedRtree::computeLevelOffsets
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelNodeCount
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> VertexSequencePackedRtree::computeLevelOffsets()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::index::VertexSequencePackedRtree::ceilDivisor
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::ceilDivisor(std::size_t num,
      std::size_t denom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::ceilDivisor
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numNodes
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::VertexSequencePackedRtree::levelNodeCount
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::VertexSequencePackedRtree::ceilDivisor
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelNodeCount(std::size_t numNodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:109,1
    - Dst: geos::index::VertexSequencePackedRtree::fillItemBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:111,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:113,1
    - Dst: geos::index::VertexSequencePackedRtree::fillLevelBounds
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: geos::index::VertexSequencePackedRtree::createBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::fillLevelBounds
    - geos::index::VertexSequencePackedRtree::fillItemBounds
    linkageType: ''
    returnType: std::vector<Envelope>
    signature: std::vector<Envelope> VertexSequencePackedRtree::createBounds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:127,1
    - Dst: geos::index::VertexSequencePackedRtree::computeItemEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:128,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::index::VertexSequencePackedRtree::fillItemBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeItemEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillItemBounds(std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:144,1
    - Dst: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lvl
    - ' bnds'
    argTypes:
    - std::size_t
    - std::vector<Envelope>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: geos::index::VertexSequencePackedRtree::fillLevelBounds
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::fillLevelBounds(std::size_t lvl, std::vector<Envelope>&
      bnds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' bnds'
    - start
    - end
    argTypes:
    - std::vector<Envelope>
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: geos::index::VertexSequencePackedRtree::computeNodeEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeNodeEnvelope(const std::vector<Envelope>&
      bnds,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' items'
    - start
    - end
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::index::VertexSequencePackedRtree::computeItemEnvelope
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope VertexSequencePackedRtree::computeItemEnvelope(const geom::CoordinateSequence&
      items,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:190,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::index::VertexSequencePackedRtree::query
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::query(const Envelope& queryEnv, std::vector<std::size_t>&
      result) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:205,1
    - Dst: intersects
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:207,1
    - Dst: geos::index::VertexSequencePackedRtree::queryItemRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:212,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNodeRange
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: geos::index::VertexSequencePackedRtree::queryNode
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 7
    functionsReached:
    - Envelope::isNull
    - intersects
    - geos::index::VertexSequencePackedRtree::queryItemRange
    - geos::index::VertexSequencePackedRtree::queryNodeRange
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNode(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::levelSize
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:225,1
    - Dst: geos::index::VertexSequencePackedRtree::queryNode
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' queryEnv'
    - level
    - nodeStartIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: geos::index::VertexSequencePackedRtree::queryNodeRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::VertexSequencePackedRtree::levelSize
    - geos::index::VertexSequencePackedRtree::queryNode
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryNodeRange(const Envelope& queryEnv,\n
      \   std::size_t level, std::size_t nodeStartIndex,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::index::VertexSequencePackedRtree::levelSize
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::levelSize(std::size_t level)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:250,1
    - Dst: contains
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:254,1
    - Dst: push_back
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' queryEnv'
    - itemIndex
    - ' result'
    argTypes:
    - Envelope
    - std::size_t
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: geos::index::VertexSequencePackedRtree::queryItemRange
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - size
    - contains
    - push_back
    linkageType: ''
    returnType: void
    signature: "void VertexSequencePackedRtree::queryItemRange(const Envelope& queryEnv,\n
      \   std::size_t itemIndex, std::vector<std::size_t>& result) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:274,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:277,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:279,1
    - Dst: geos::index::VertexSequencePackedRtree::isNodeEmpty
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:284,1
    - Dst: setToNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 291
    functionName: geos::index::VertexSequencePackedRtree::remove
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    - size
    - geos::index::VertexSequencePackedRtree::isNodeEmpty
    linkageType: ''
    returnType: void
    signature: void VertexSequencePackedRtree::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:298,1
    - Dst: isNull
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - index
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: geos::index::VertexSequencePackedRtree::isNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - isNull
    - geos::index::VertexSequencePackedRtree::clampMax
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isNodeEmpty(std::size_t level, std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::VertexSequencePackedRtree::clampMax
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    - Dst: size
      Src: /src/geos/src/index/VertexSequencePackedRtree.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nodeIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: geos::index::VertexSequencePackedRtree::isItemsNodeEmpty
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::VertexSequencePackedRtree::clampMax
    - size
    linkageType: ''
    returnType: bool
    signature: bool VertexSequencePackedRtree::isItemsNodeEmpty(std::size_t nodeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - max
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: geos::index::VertexSequencePackedRtree::clampMax
    functionSourceFile: /src/geos/src/index/VertexSequencePackedRtree.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VertexSequencePackedRtree::clampMax(std::size_t x, std::size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 1
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 1
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 1
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 2
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 2
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 2
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 2
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 3
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 3
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 3
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 4
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 4
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 4
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 5
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 5
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 5
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 6
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 6
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 6
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 7
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 7
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:49,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Key::getLevel
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Node::createNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 7
    functionsReached:
    - Node::Node
    - Envelope::Envelope
    - Key::getEnvelope
    - Key::getLevel
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createNode(const Envelope& env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:61,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:62,1
    - Dst: Envelope::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:66,1
    - Dst: geos::index::quadtree::Node::createNode
      Src: /src/geos/src/index/quadtree/Node.cpp:69,1
    - Dst: std::unique_ptr<Node>::get
      Src: /src/geos/src/index/quadtree/Node.cpp:70,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - ' addEnv'
    argTypes:
    - std::unique_ptr<Node>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - Envelope::toString
    - std::unique_ptr::insertNode
    - Envelope::expandToInclude
    - geos::index::quadtree::Node::createNode
    - std::unique_ptr<Node>::get
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createExpanded(std::unique_ptr<Node> node,
      const Envelope& addEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:81,1
    - Dst: geos::index::quadtree::Node::getSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:85,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Node.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: geos::index::quadtree::Node::getNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - geos::index::quadtree::Node::getSubnode
    - Node*::getNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(const Envelope* searchEnv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:98,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:102,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Node.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: geos::index::quadtree::Node::find
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(const Envelope* searchEnv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:114,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: std::unique_ptr<Node>::getEnvelope
      Src: /src/geos/src/index/quadtree/Node.cpp:116,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:117,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:121,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr<Node>::release
      Src: /src/geos/src/index/quadtree/Node.cpp:122,1
    - Dst: std::unique_ptr::insertNode
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:132,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:135,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Node.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - std::unique_ptr<Node>
    assertStmts:
    - condition: (env->contains(node->getEnvelope()))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/index/quadtree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: geos::index::quadtree::Node::insertNode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<Node>::getEnvelope
    - getSubnodeIndex
    - std::move
    - std::unique_ptr<Node>::release
    - std::unique_ptr::insertNode
    - contains
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insertNode(std::unique_ptr<Node> node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Node.cpp:143,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:144,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: geos::index::quadtree::Node::createSubnode
      Src: /src/geos/src/index/quadtree/Node.cpp:145,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Node.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index >= 0 && index < 4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/geos/src/index/quadtree/Node.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::index::quadtree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 8
    functionsReached:
    - assert
    - geos::index::quadtree::Node::createSubnode
    - static_cast<std::size_t>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:161,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:163,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:168,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Node.cpp:169,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Node.cpp:173,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:176,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Node.cpp:180,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Node.cpp:182,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Node.cpp:185,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    - Dst: Node::Node
      Src: /src/geos/src/index/quadtree/Node.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 188
    functionName: geos::index::quadtree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 8
    functionsReached:
    - Node::Node
    - std::move
    - Envelope::Envelope
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Node>
    signature: std::unique_ptr<Node> Node::createSubnode(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::Node::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:194,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/Node.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/Node.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: geos::index::quadtree::Node::toString
    functionSourceFile: /src/geos/src/index/quadtree/Node.cpp
    functionUses: 8
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - std::ostringstream::str
    - geos::index::quadtree::Node::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Node::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 1
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 2
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 2
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 4
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 3
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 6
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 4
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 12
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 8
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 5
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 10
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 11
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 11
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 6
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 18
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 12
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 7
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 21
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:49,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:52,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - itemEnv
    - minExtent
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: geos::index::quadtree::Quadtree::ensureExtent
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 14
    functionsReached:
    - Envelope::Envelope
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Quadtree::ensureExtent(const Envelope* itemEnv, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Quadtree::depth
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::quadtree::Quadtree::depth
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::quadtree::Quadtree::size
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: size_t
    signature: size_t Quadtree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::collectStats
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:88,1
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:90,1
    - Dst: emplace_back
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:92,1
    - Dst: geos::index::quadtree::Quadtree::insert
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:94,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:96,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:97,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: geos::index::quadtree::Quadtree::insert
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::ensureExtent
    - Envelope*::toString
    - emplace_back
    - geos::index::quadtree::Quadtree::collectStats
    - geos::index::quadtree::Quadtree::insert
    linkageType: ''
    returnType: void
    signature: void Quadtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:112,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:114,1
    - Dst: geos::index::quadtree::Quadtree::size
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:115,1
    - Dst: geos::index::quadtree::Quadtree::depth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:116,1
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' foundItems'
    argTypes:
    - Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: geos::index::quadtree::Quadtree::query
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - addAllItemsFromOverlapping
    - geos::index::quadtree::Quadtree::depth
    - geos::index::quadtree::Quadtree::toString
    - geos::index::quadtree::Quadtree::size
    linkageType: ''
    returnType: void
    signature: "void Quadtree::query(const Envelope* searchEnv,\n                std::vector<void*>&
      foundItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:125,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::quadtree::Quadtree::queryAll
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Quadtree::queryAll()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::ensureExtent
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:134,1
    - Dst: geos::index::quadtree::Quadtree::remove
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: geos::index::quadtree::Quadtree::remove
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::quadtree::Quadtree::remove
    - geos::index::quadtree::Quadtree::ensureExtent
    linkageType: ''
    returnType: bool
    signature: bool Quadtree::remove(const Envelope* itemEnv, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:146,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: geos::index::quadtree::Quadtree::collectStats
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 8
    functionsReached:
    - getHeight
    - getWidth
    linkageType: ''
    returnType: void
    signature: void Quadtree::collectStats(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Quadtree::toString
      Src: /src/geos/src/index/quadtree/Quadtree.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: geos::index::quadtree::Quadtree::toString
    functionSourceFile: /src/geos/src/index/quadtree/Quadtree.cpp
    functionUses: 24
    functionsReached:
    - geos::index::quadtree::Quadtree::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Quadtree::toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 10
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 12
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 14
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 10
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 16
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 13
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 18
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 16
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 20
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 19
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 22
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:50,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:51,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:54,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:58,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:59,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:62,1
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - env
    - ' centre'
    argTypes:
    - Envelope*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: geos::index::quadtree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::toString
    - Envelope*::toString
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(const Envelope* env, const Coordinate&
      centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::index::quadtree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '&

      NodeBase::getItems()'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::index::quadtree::NodeBase::add
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:111,1
    - Dst: addAllItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' resultItems'
    argTypes:
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: '&

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - insert
    - begin
    - addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> &

      NodeBase::addAllItems(std::vector<void*>& resultItems) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:131,1
    - Dst: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' resultItems'
    argTypes:
    - Envelope
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - geos::index::quadtree::NodeBase::addAllItemsFromOverlapping
    - insert
    - isSearchMatch
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodeBase::addAllItemsFromOverlapping(const Envelope& searchEnv,\n
      \                                    std::vector<void*>& resultItems) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::depth
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: geos::index::quadtree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - geos::index::quadtree::NodeBase::depth
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int NodeBase::depth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:165,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: geos::index::quadtree::NodeBase::size
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 22
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: geos::index::quadtree::NodeBase::getNodeCount
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    linkageType: ''
    returnType: size_t
    signature: size_t NodeBase::getNodeCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:188,1
    - Dst: geos::index::quadtree::NodeBase::size
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:189,1
    - Dst: geos::index::quadtree::NodeBase::toString
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:195,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: geos::index::quadtree::NodeBase::toString
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 24
    functionsReached:
    - geos::index::quadtree::NodeBase::size
    - std::ostringstream::str
    - geos::index::quadtree::NodeBase::toString
    linkageType: ''
    returnType: std::string
    signature: std::string NodeBase::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:206,1
    - Dst: geos::index::quadtree::NodeBase::visitItems
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:212,1
    - Dst: geos::index::quadtree::NodeBase::visit
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: geos::index::quadtree::NodeBase::visit
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - geos::index::quadtree::NodeBase::visitItems
    - geos::index::quadtree::NodeBase::visit
    - isSearchMatch
    linkageType: ''
    returnType: void
    signature: void NodeBase::visit(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: geos::index::quadtree::NodeBase::visitItems
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - geos::ignore_unused_variable_warning
    - visitItem
    linkageType: ''
    returnType: void
    signature: void NodeBase::visitItems(const Envelope* searchEnv, ItemVisitor& visitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:239,1
    - Dst: geos::index::quadtree::NodeBase::remove
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:246,1
    - Dst: geos::index::quadtree::NodeBase::isPrunable
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:249,1
    - Dst: find
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:264,1
    - Dst: end
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:265,1
    - Dst: erase
      Src: /src/geos/src/index/quadtree/NodeBase.cpp:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: geos::index::quadtree::NodeBase::remove
    functionSourceFile: /src/geos/src/index/quadtree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - find
    - erase
    - geos::index::quadtree::NodeBase::isPrunable
    - isSearchMatch
    - begin
    - geos::index::quadtree::NodeBase::remove
    - end
    linkageType: ''
    returnType: bool
    signature: bool NodeBase::remove(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: std::fabs
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:40,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/IntervalSize.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mn
    - mx
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: geos::index::quadtree::IntervalSize::isZeroWidth
    functionSourceFile: /src/geos/src/index/quadtree/IntervalSize.cpp
    functionUses: 0
    functionsReached:
    - std::fabs
    - frexp
    - std::max
    linkageType: ''
    returnType: bool
    signature: bool IntervalSize::isZeroWidth(double mn, double mx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 1
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 2
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 3
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 4
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 5
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 6
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 7
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::toString
      Src: /src/geos/src/index/quadtree/Root.cpp:53,1
    - Dst: Envelope*::isfinite
      Src: /src/geos/src/index/quadtree/Root.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/quadtree/Root.cpp:56,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/quadtree/Root.cpp:58,1
    - Dst: add
      Src: /src/geos/src/index/quadtree/Root.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:72,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:82,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:85,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/index/quadtree/Root.cpp:88,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/quadtree/Root.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:96,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/quadtree/Root.cpp:97,1
    - Dst: geos::index::quadtree::Root::insertContained
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/quadtree/Root.cpp:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts:
    - condition: (!subnodes[static_cast<std::size_t>(index)])
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: geos::index::quadtree::Root::insert
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - std::move
    - std::unique_ptr::get
    - Node*::getEnvelope
    - add
    - assert
    - geos::index::quadtree::Node::createExpanded
    - geos::util::IllegalArgumentException
    - Envelope*::toString
    - std::unique_ptr::release
    - static_cast<std::size_t>
    - Envelope*::isfinite
    - geos::index::quadtree::Root::insertContained
    linkageType: ''
    returnType: void
    signature: void Root::insert(const Envelope* itemEnv, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: Node*::getEnvelope
      Src: /src/geos/src/index/quadtree/Root.cpp:121,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/index/quadtree/Root.cpp:128,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/index/quadtree/Root.cpp:129,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/index/quadtree/Root.cpp:130,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/index/quadtree/Root.cpp:131,1
    - Dst: Node*::find
      Src: /src/geos/src/index/quadtree/Root.cpp:136,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/quadtree/Root.cpp:139,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/quadtree/Root.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemEnv
    - item
    argTypes:
    - Node*
    - Envelope*
    - void*
    assertStmts:
    - condition: (tree->getEnvelope()->contains(itemEnv))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/geos/src/index/quadtree/Root.cpp
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: geos::index::quadtree::Root::insertContained
    functionSourceFile: /src/geos/src/index/quadtree/Root.cpp
    functionUses: 8
    functionsReached:
    - Node*::getNode
    - Node*::getEnvelope
    - Node*::find
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, const Envelope* itemEnv, void*
      item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 2
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 2
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 1
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 4
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 4
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 2
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 6
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 6
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 3
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 8
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 8
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 4
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 10
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 10
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 5
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 12
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 12
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 6
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 14
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 14
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/geos/src/index/quadtree/Key.cpp:45,1
    - Dst: getHeight
      Src: /src/geos/src/index/quadtree/Key.cpp:46,1
    - Dst: frexp
      Src: /src/geos/src/index/quadtree/Key.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: geos::index::quadtree::Key::computeQuadLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 7
    functionsReached:
    - frexp
    - getHeight
    - getWidth
    linkageType: ''
    returnType: int
    signature: int Key::computeQuadLevel(const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: geos::index::quadtree::Key::Key
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::quadtree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&

      Key::getPoint() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Key::getPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::index::quadtree::Key::getLevel
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '&

      Key::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      Key::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMaxX
      Src: /src/geos/src/index/quadtree/Key.cpp:87,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/index/quadtree/Key.cpp:88,1
    - Dst: Coordinate::Coordinate
      Src: /src/geos/src/index/quadtree/Key.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::index::quadtree::Key::getCentre
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - Coordinate::Coordinate
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate *

      Key::getCentre() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::quadtree::Key::computeQuadLevel
      Src: /src/geos/src/index/quadtree/Key.cpp:96,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:97,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:98,1
    - Dst: contains
      Src: /src/geos/src/index/quadtree/Key.cpp:100,1
    - Dst: geos::index::quadtree::Key::computeKey
      Src: /src/geos/src/index/quadtree/Key.cpp:102,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:106,1
    - Dst: toString
      Src: /src/geos/src/index/quadtree/Key.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' itemEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 16
    functionsReached:
    - geos::index::quadtree::Key::computeQuadLevel
    - geos::index::quadtree::Key::computeKey
    - toString
    - contains
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(const Envelope& itemEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/quadtree/Key.cpp:116,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: getMinX
      Src: /src/geos/src/index/quadtree/Key.cpp:117,1
    - Dst: std::floor
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: getMinY
      Src: /src/geos/src/index/quadtree/Key.cpp:118,1
    - Dst: init
      Src: /src/geos/src/index/quadtree/Key.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_level
    - ' itemEnv'
    argTypes:
    - int
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::index::quadtree::Key::computeKey
    functionSourceFile: /src/geos/src/index/quadtree/Key.cpp
    functionUses: 16
    functionsReached:
    - getMinX
    - getMinY
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(int p_level, const Envelope& itemEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - newInsertEvent
    - newSweepInt
    argTypes:
    - double
    - SweepLineEvent*
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(double x, SweepLineEvent* newInsertEvent,\n
      \                              SweepLineInterval* newSweepInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineEvent::isInsert
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isInsert()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineEvent::isDelete
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEvent::isDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::sweepline::SweepLineEvent::getInsertEvent
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineEvent
    signature: 'SweepLineEvent *

      SweepLineEvent::getInsertEvent()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::sweepline::SweepLineEvent::getDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SweepLineEvent::getDeleteEventIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newDeleteEventIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::sweepline::SweepLineEvent::setDeleteEventIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineEvent::setDeleteEventIndex(std::size_t newDeleteEventIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::index::sweepline::SweepLineEvent::getInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SweepLineInterval
    signature: 'SweepLineInterval *

      SweepLineEvent::getInterval()'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pe
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(const SweepLineEvent* pe) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - o
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: geos::index::sweepline::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(void* o) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::compareTo
      Src: /src/geos/src/index/sweepline/SweepLineEvent.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - SweepLineEvent*
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - SweepLineEvent*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool SweepLineEventLessThen::operator()(const SweepLineEvent* first,
      const SweepLineEvent* second) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 1
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 1
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 2
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 2
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 3
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 3
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 4
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 4
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 5
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 5
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 6
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 6
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 7
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::index::sweepline::SweepLineIndex::SweepLineIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: SweepLineIndex::~SweepLineIndex()
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::~SweepLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineInterval*::getMin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:42,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:43,1
    - Dst: push_back
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineInterval*::getMax
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sweepInt
    argTypes:
    - SweepLineInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineIndex::add
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - SweepLineInterval*::getMin
    - push_back
    - SweepLineEvent::SweepLineEvent
    - SweepLineInterval*::getMax
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::add(SweepLineInterval* sweepInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: begin
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: end
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:53,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:56,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: geos::index::sweepline::SweepLineIndex::buildIndex
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 7
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::buildIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::sweepline::SweepLineIndex::buildIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:69,1
    - Dst: size
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:71,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:74,1
    - Dst: geos::index::sweepline::SweepLineIndex::processOverlaps
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:75,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:76,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - action
    argTypes:
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: geos::index::sweepline::SweepLineIndex::computeOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getInterval
    - SweepLineEvent*::getDeleteEventIndex
    - geos::index::sweepline::SweepLineIndex::processOverlaps
    - geos::index::sweepline::SweepLineIndex::buildIndex
    linkageType: ''
    returnType: void
    signature: void SweepLineIndex::computeOverlaps(SweepLineOverlapAction* action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:93,1
    - Dst: SweepLineEvent*::getInterval
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:94,1
    - Dst: SweepLineOverlapAction*::overlap
      Src: /src/geos/src/index/sweepline/SweepLineIndex.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - s0
    - action
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineInterval*
    - SweepLineOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: geos::index::sweepline::SweepLineIndex::processOverlaps
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineIndex.cpp
    functionUses: 8
    functionsReached:
    - SweepLineEvent*::getInterval
    - SweepLineOverlapAction*::overlap
    - SweepLineEvent*::isInsert
    linkageType: ''
    returnType: void
    signature: "void SweepLineIndex::processOverlaps(std::size_t start, std::size_t
      end,\n                                SweepLineInterval* s0, SweepLineOverlapAction*
      action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - newMin
    - newMax
    - newItem
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: geos::index::sweepline::SweepLineInterval::SweepLineInterval
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SweepLineInterval::SweepLineInterval(double newMin, double newMax,
      void* newItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::index::sweepline::SweepLineInterval::getMin
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::index::sweepline::SweepLineInterval::getMax
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SweepLineInterval::getMax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::index::sweepline::SweepLineInterval::getItem
    functionSourceFile: /src/geos/src/index/sweepline/SweepLineInterval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      SweepLineInterval::getItem()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 1
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 2
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 3
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 4
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 5
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 6
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 7
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:33,1
    - Dst: geos::index::chain::MonotoneChainSelectAction::select
      Src: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mc'
    - start
    argTypes:
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::index::chain::MonotoneChainSelectAction::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainSelectAction.cpp
    functionUses: 8
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainSelectAction::select
    linkageType: ''
    returnType: void
    signature: void MonotoneChainSelectAction::select(const MonotoneChain& mc, std::size_t
      start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 2
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 1
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 2
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 3
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 1
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 4
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 4
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 5
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 6
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 2
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 2
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 6
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 7
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 8
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 9
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 3
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 3
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 8
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 10
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 11
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 12
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 4
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 4
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 10
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 13
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 14
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 15
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 5
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 5
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 12
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 16
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 17
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 18
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 6
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 6
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 14
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 19
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 20
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 21
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 7
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' newPts'
    - nstart
    - nend
    - nContext
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    - std::size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: geos::index::chain::MonotoneChain::MonotoneChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::MonotoneChain(const geom::CoordinateSequence&
      newPts,\n                             std::size_t nstart, std::size_t nend,
      void* nContext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      MonotoneChain::getEnvelope() const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:52,1
    - Dst: init
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:53,1
    - Dst: expandBy
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - expansionDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '&

      MonotoneChain::getEnvelope(double expansionDistance) const'
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandBy
    - init
    - getAt
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope &

      MonotoneChain::getEnvelope(double expansionDistance) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::chain::MonotoneChain::getCoordinates
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> MonotoneChain::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' searchEnv'
    - ' mcs'
    argTypes:
    - Envelope
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::chain::MonotoneChain::select
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 7
    functionsReached:
    - geos::index::chain::MonotoneChain::computeSelect
    linkageType: ''
    returnType: void
    signature: void MonotoneChain::select(const Envelope& searchEnv, MonotoneChainSelectAction&
      mcs) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:79,1
    - Dst: geos::index::chain::MonotoneChain::select
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:83,1
    - Dst: intersects
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:87,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:96,1
    - Dst: geos::index::chain::MonotoneChain::computeSelect
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ' searchEnv'
    - start0
    - end0
    - ' mcs'
    argTypes:
    - Envelope
    - std::size_t
    - std::size_t
    - MonotoneChainSelectAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: geos::index::chain::MonotoneChain::computeSelect
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 16
    functionsReached:
    - intersects
    - geos::index::chain::MonotoneChain::computeSelect
    - geos::index::chain::MonotoneChain::select
    - getAt
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeSelect(const Envelope& searchEnv,\n                             std::size_t
      start0, std::size_t end0,\n                             MonotoneChainSelectAction&
      mcs) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mc
    - mco
    argTypes:
    - MonotoneChain*
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 22
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mc
    - overlapTolerance
    - mco
    argTypes:
    - MonotoneChain*
    - double
    - MonotoneChainOverlapAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 23
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(const MonotoneChain* mc, double
      overlapTolerance,\n                               MonotoneChainOverlapAction*
      mco) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: overlap
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:130,1
    - Dst: geos::index::chain::MonotoneChain::overlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:135,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:148,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:151,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:157,1
    - Dst: geos::index::chain::MonotoneChain::computeOverlaps
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - start0
    - end0
    - ' mc'
    - start1
    - end1
    - overlapTolerance
    - ' mco'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChain
    - std::size_t
    - std::size_t
    - double
    - MonotoneChainOverlapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: geos::index::chain::MonotoneChain::computeOverlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 24
    functionsReached:
    - geos::index::chain::MonotoneChain::computeOverlaps
    - geos::index::chain::MonotoneChain::overlaps
    - overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChain::computeOverlaps(std::size_t start0, std::size_t
      end0,\n                               const MonotoneChain& mc,\n                               std::size_t
      start1, std::size_t end1,\n                               double overlapTolerance,\n
      \                              MonotoneChainOverlapAction& mco) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:172,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:176,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:177,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:181,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:182,1
    - Dst: std::min
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:186,1
    - Dst: std::max
      Src: /src/geos/src/index/chain/MonotoneChain.cpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - overlapTolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: geos::index::chain::MonotoneChain::overlaps
    functionSourceFile: /src/geos/src/index/chain/MonotoneChain.cpp
    functionUses: 8
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: "bool MonotoneChain::overlaps(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                        const CoordinateXY& q1, const CoordinateXY& q2,\n
      \                       double overlapTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 1
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 5
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 3
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 7
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 4
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 9
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 5
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 11
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 13
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 7
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pts
    - context
    - ' list'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::index::chain::ChainBuilder::ChainBuilder
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChainBuilder(const CoordinateSequence* pts, void* context, std::vector<MonotoneChain>
      & list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::process
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::index::chain::ChainBuilder::filter_ro
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::process
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: geos::index::chain::ChainBuilder::finish
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::index::chain::ChainBuilder::finishChain
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 15
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void finishChain()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:80,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:84,1
    - Dst: geos::index::chain::ChainBuilder::finishChain
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: geos::index::chain::ChainBuilder::process
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 8
    functionsReached:
    - CoordinateXY*::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::index::chain::ChainBuilder::finishChain
    linkageType: ''
    returnType: void
    signature: void process(const CoordinateXY* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:111,1
    - Dst: ChainBuilder::finish
      Src: /src/geos/src/index/chain/MonotoneChainBuilder.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pts
    - context
    - ' mcList'
    argTypes:
    - CoordinateSequence*
    - void*
    - std::vector<MonotoneChain>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::chain::MonotoneChainBuilder::getChains
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::apply_ro
    - ChainBuilder::finish
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainBuilder::getChains(const CoordinateSequence* pts,
      void* context,\n                                std::vector<MonotoneChain>&
      mcList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 1
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 2
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 3
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 4
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 5
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 6
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 7
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:35,1
    - Dst: getLineSegment
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:36,1
    - Dst: geos::index::chain::MonotoneChainOverlapAction::overlap
      Src: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: geos::index::chain::MonotoneChainOverlapAction::overlap
    functionSourceFile: /src/geos/src/index/chain/MonotoneChainOverlapAction.cpp
    functionUses: 8
    functionsReached:
    - getLineSegment
    - geos::index::chain::MonotoneChainOverlapAction::overlap
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainOverlapAction::overlap(const MonotoneChain& mc1,
      std::size_t start1,\n                                    const MonotoneChain&
      mc2, std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 1
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 1
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 1
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 2
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 3
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 4
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 10
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 10
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 10
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 10
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 10
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 5
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 11
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 12
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 12
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 12
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 9
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 12
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 12
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 6
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 14
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 14
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 14
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::toCoordinates
      Src: /src/geos/src/index/kdtree/KdTree.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' kdnodes'
    argTypes:
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 10
    functionsReached:
    - geos::index::kdtree::KdTree::toCoordinates
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>::vector<Coordinate>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:40,1
    - Dst: getCount
      Src: /src/geos/src/index/kdtree/KdTree.cpp:42,1
    - Dst: std::unique_ptr::emplace_back
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:44,1
    - Dst: std::unique_ptr::erase
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kdnodes'
    - includeRepeated
    argTypes:
    - std::vector<KdNode*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: geos::index::kdtree::KdTree::toCoordinates
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 10
    functionsReached:
    - getCoordinate
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - std::unique_ptr::emplace_back
    - std::unique_ptr::erase
    - getCount
    - std::vector<Coordinate>::vector<Coordinate>
    - std::unique
    linkageType: ''
    returnType: std::unique_ptr<std::vector<Coordinate>>
    signature: std::unique_ptr<std::vector<Coordinate>> KdTree::toCoordinates(std::vector<KdNode*>&
      kdnodes, bool includeRepeated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    - Dst: end
      Src: /src/geos/src/index/kdtree/KdTree.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::index::kdtree::KdTree::createNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 14
    functionsReached:
    - end
    - emplace
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::createNode(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::insert
      Src: /src/geos/src/index/kdtree/KdTree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::kdtree::KdTree::insert
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:74,1
    - Dst: geos::index::kdtree::KdTree::findBestMatchNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:83,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:86,1
    - Dst: geos::index::kdtree::KdTree::insertExact
      Src: /src/geos/src/index/kdtree/KdTree.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: geos::index::kdtree::KdTree::insert
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - geos::index::kdtree::KdTree::insertExact
    - geos::index::kdtree::KdTree::findBestMatchNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insert(const Coordinate& p, void* data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::queryEnvelope
      Src: /src/geos/src/index/kdtree/KdTree.cpp:98,1
    - Dst: BestMatchVisitor::getNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::index::kdtree::KdTree::findBestMatchNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - BestMatchVisitor::queryEnvelope
    - geos::index::kdtree::KdTree::query
    - BestMatchVisitor::getNode
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::findBestMatchNode(const Coordinate& p)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:117,1
    - Dst: KdNode*::increment
      Src: /src/geos/src/index/kdtree/KdTree.cpp:122,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:127,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:129,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:133,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:135,1
    - Dst: geos::index::kdtree::KdTree::createNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:143,1
    - Dst: KdNode*::setLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:145,1
    - Dst: KdNode*::setRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' p'
    - data
    argTypes:
    - geom::Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: geos::index::kdtree::KdTree::insertExact
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 8
    functionsReached:
    - KdNode*::getRight
    - KdNode*::setLeft
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - distance
    - geos::index::kdtree::KdTree::createNode
    - KdNode*::increment
    - KdNode*::setRight
    - KdNode*::getY
    - KdNode*::getX
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::insertExact(const geom::Coordinate& p, void* data)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getMinX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:170,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:171,1
    - Dst: getMinY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:173,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:174,1
    - Dst: std::stack::emplace
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: Pair
      Src: /src/geos/src/index/kdtree/KdTree.cpp:178,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:183,1
    - Dst: std::stack::empty
      Src: /src/geos/src/index/kdtree/KdTree.cpp:192,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:194,1
    - Dst: std::stack::top
      Src: /src/geos/src/index/kdtree/KdTree.cpp:195,1
    - Dst: std::stack::pop
      Src: /src/geos/src/index/kdtree/KdTree.cpp:196,1
    - Dst: contains
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:198,1
    - Dst: visit
      Src: /src/geos/src/index/kdtree/KdTree.cpp:199,1
    - Dst: getMaxX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:206,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:207,1
    - Dst: getMaxY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:209,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:210,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - currentNode
    - ' queryEnv'
    - odd
    - ' visitor'
    argTypes:
    - KdNode*
    - geom::Envelope
    - bool
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 227
    functionName: geos::index::kdtree::KdTree::queryNode
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 14
    functionsReached:
    - KdNode*::getRight
    - KdNode*::getCoordinate
    - getMinX
    - std::stack::emplace
    - visit
    - KdNode*::getLeft
    - std::stack::pop
    - Pair
    - getMaxX
    - std::stack::empty
    - contains
    - std::stack::top
    - KdNode*::getY
    - getMinY
    - KdNode*::getX
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void KdTree::queryNode(KdNode* currentNode, const geom::Envelope& queryEnv,
      bool odd, KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:235,1
    - Dst: KdNode*::getX
      Src: /src/geos/src/index/kdtree/KdTree.cpp:242,1
    - Dst: KdNode*::getY
      Src: /src/geos/src/index/kdtree/KdTree.cpp:246,1
    - Dst: KdNode*::getLeft
      Src: /src/geos/src/index/kdtree/KdTree.cpp:252,1
    - Dst: KdNode*::getRight
      Src: /src/geos/src/index/kdtree/KdTree.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - currentNode
    - ' queryPt'
    - odd
    argTypes:
    - KdNode*
    - geom::Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: geos::index::kdtree::KdTree::queryNodePoint
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 7
    functionsReached:
    - KdNode*::getCoordinate
    - KdNode*::getLeft
    - KdNode*::getY
    - KdNode*::getX
    - KdNode*::getRight
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::queryNodePoint(KdNode* currentNode, const geom::Coordinate& queryPt,
      bool odd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' visitor'
    argTypes:
    - geom::Envelope
    - KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<KdNode*>::vector<KdNode*>
      Src: /src/geos/src/index/kdtree/KdTree.cpp:273,1
    - Dst: geos::index::kdtree::KdTree::query
      Src: /src/geos/src/index/kdtree/KdTree.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 16
    functionsReached:
    - std::vector<KdNode*>::vector<KdNode*>
    - geos::index::kdtree::KdTree::query
    linkageType: ''
    returnType: std::unique_ptr<std::vector<KdNode*>>
    signature: std::unique_ptr<std::vector<KdNode*>> KdTree::query(const geom::Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNode
      Src: /src/geos/src/index/kdtree/KdTree.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' result'
    argTypes:
    - geom::Envelope
    - std::vector<KdNode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 16
    functionsReached:
    - geos::index::kdtree::KdTree::queryNode
    linkageType: ''
    returnType: void
    signature: void KdTree::query(const geom::Envelope& queryEnv, std::vector<KdNode*>&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::kdtree::KdTree::queryNodePoint
      Src: /src/geos/src/index/kdtree/KdTree.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' queryPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: geos::index::kdtree::KdTree::query
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 16
    functionsReached:
    - geos::index::kdtree::KdTree::queryNodePoint
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::query(const geom::Coordinate& queryPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_tolerance
    argTypes:
    - geom::Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::BestMatchVisitor(const geom::Coordinate&
      p_p, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandBy
      Src: /src/geos/src/index/kdtree/KdTree.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: KdTree::BestMatchVisitor::queryEnvelope()
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope::expandBy
    linkageType: ''
    returnType: Envelope
    signature: Envelope KdTree::BestMatchVisitor::queryEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '*

      KdTree::BestMatchVisitor::getNode()'
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdNode
    signature: 'KdNode *

      KdTree::BestMatchVisitor::getNode()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:319,1
    - Dst: KdNode*::getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    - Dst: getCoordinate
      Src: /src/geos/src/index/kdtree/KdTree.cpp:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: KdTree::BestMatchVisitor::visit(KdNode* node)
    functionSourceFile: /src/geos/src/index/kdtree/KdTree.cpp
    functionUses: 0
    functionsReached:
    - distance
    - getCoordinate
    - KdNode*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void KdTree::BestMatchVisitor::visit(KdNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_x
    - p_y
    - p_data
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(double p_x, double p_y, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p'
    - p_data
    argTypes:
    - Coordinate
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::index::kdtree::KdNode::KdNode
    functionSourceFile: /src/geos/src/index/kdtree/KdNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KdNode::KdNode(const Coordinate& p_p, void* p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 1
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 2
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 3
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 4
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 5
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 6
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 7
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRnode::toString
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - indentLevel
    argTypes:
    - std::ostream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::index::strtree::SimpleSTRnode::toString
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::toString
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::toString(std::ostream& os, int indentLevel) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:44,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:45,1
    - Dst: expandToInclude
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - childNode
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRnode::addChildNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - expandToInclude
    - SimpleSTRnode*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void SimpleSTRnode::addChildNode(SimpleSTRnode* childNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:57,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:60,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: geos::index::strtree::SimpleSTRnode::getNumNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::SimpleSTRnode::getNumNodes
    - isLeaf
    - getChildNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumNodes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:70,1
    - Dst: getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:71,1
    - Dst: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 8
    functionsReached:
    - isLeaf
    - getChildNodes
    - geos::index::strtree::SimpleSTRnode::getNumLeafNodes
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleSTRnode::getNumLeafNodes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:79,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:80,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - itemToRemove
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::SimpleSTRnode::removeItem
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeItem(void *itemToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:91,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/SimpleSTRnode.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - child
    argTypes:
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::index::strtree::SimpleSTRnode::removeChild
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRnode.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRnode::removeChild(SimpleSTRnode *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 2
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 1
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 4
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 2
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 2
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 2
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 2
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 6
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 3
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 8
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 4
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 4
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 4
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 4
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 9
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 9
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 10
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 10
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 9
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 5
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 11
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 11
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 12
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 12
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 11
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 6
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 6
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 6
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 13
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 13
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 14
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 14
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 13
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 7
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - root1
    - root2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::SimpleSTRdistance::SimpleSTRdistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::createPair
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::SimpleSTRdistance(SimpleSTRnode* root1,\n
      \   SimpleSTRnode* root2, ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:44,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_node1
    - p_node2
    - p_itemDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::index::strtree::SimpleSTRdistance::createPair
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 15
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRpair
    signature: "SimpleSTRpair *\nSimpleSTRdistance::createPair(SimpleSTRnode* p_node1,
      SimpleSTRnode* p_node2,\n    ItemDistance* p_itemDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 15
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_initPair
    argTypes:
    - SimpleSTRpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 16
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:74,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:76,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:77,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:78,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:93,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:102,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:112,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:117,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:118,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:122,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:125,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:126,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 129
    functionName: geos::index::strtree::SimpleSTRdistance::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 16
    functionsReached:
    - std::pair<const void*, const void*>
    - STRpairQueue::push
    - SimpleSTRpair*::getNode
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - geos::io::util::GEOSException
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRdistance::nearestNeighbour(SimpleSTRpair*
      p_initPair, double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:136,1
    - Dst: SimpleSTRpair*::getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:137,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:139,1
    - Dst: SimpleSTRnode*::isComposite
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:140,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: SimpleSTRnode*::area
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:148,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:149,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:153,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:158,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expand
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:162,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pair
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRpair*
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: geos::index::strtree::SimpleSTRdistance::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 15
    functionsReached:
    - SimpleSTRnode*::isComposite
    - geos::util::IllegalArgumentException
    - geos::index::strtree::SimpleSTRdistance::expand
    - SimpleSTRpair*::getNode
    - SimpleSTRnode*::area
    linkageType: ''
    returnType: void
    signature: void SimpleSTRdistance::expandToQueue(SimpleSTRpair* pair, STRpairQueue&
      priQ, double minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:174,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:178,1
    - Dst: geos::index::strtree::SimpleSTRdistance::createPair
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:181,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:185,1
    - Dst: push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodeComposite
    - nodeOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    - bool
    - STRpairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRdistance::expand
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 8
    functionsReached:
    - push
    - SimpleSTRnode*::getChildNodes
    - geos::index::strtree::SimpleSTRdistance::createPair
    - SimpleSTRpair*::getDistance
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRdistance::expand(SimpleSTRnode* nodeComposite, SimpleSTRnode*
      nodeOther,\n    bool isFlipped, STRpairQueue& priQ, double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STRpairQueue::push
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:206,1
    - Dst: STRpairQueue::empty
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:208,1
    - Dst: STRpairQueue::top
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:210,1
    - Dst: SimpleSTRpair*::getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:211,1
    - Dst: STRpairQueue::pop
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:223,1
    - Dst: SimpleSTRpair*::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:235,1
    - Dst: SimpleSTRpair*::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:242,1
    - Dst: geos::index::strtree::SimpleSTRdistance::expandToQueue
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_initPair
    - maxDistance
    argTypes:
    - SimpleSTRpair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: geos::index::strtree::SimpleSTRdistance::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 8
    functionsReached:
    - SimpleSTRpair*::maximumDistance
    - STRpairQueue::push
    - SimpleSTRpair*::getDistance
    - STRpairQueue::empty
    - STRpairQueue::pop
    - SimpleSTRpair*::isLeaves
    - geos::index::strtree::SimpleSTRdistance::expandToQueue
    - STRpairQueue::top
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRdistance::isWithinDistance(SimpleSTRpair* p_initPair,
      double maxDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: geos::index::strtree::SimpleSTRpair::getNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRpair::getNode(int i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRpair::isLeaves
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:282,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:283,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:287,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:288,1
    - Dst: geos::index::strtree::SimpleSTRpair::distance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: geos::index::strtree::SimpleSTRpair::distance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 8
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRpair::isLeaves
    - geos::index::strtree::SimpleSTRpair::distance
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: geos::index::strtree::SimpleSTRpair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: geos::index::strtree::SimpleSTRpair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 8
    functionsReached:
    - isLeaf
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRpair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: geos::index::strtree::SimpleSTRpair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getEnvelope
    linkageType: ''
    returnType: double
    signature: double SimpleSTRpair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:315,1
    - Dst: getNode
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:316,1
    - Dst: getDistance
      Src: /src/geos/src/index/strtree/SimpleSTRdistance.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' pair'
    argTypes:
    - std::ostream
    - SimpleSTRpair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '&

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRdistance.cpp
    functionUses: 0
    functionsReached:
    - getNode
    - getDistance
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, SimpleSTRpair& pair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 1
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 1
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 2
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 3
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 1
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 1
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 2
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 6
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 7
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 2
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 2
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 3
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 3
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 10
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 11
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 12
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 12
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 3
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 3
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 4
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 4
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 14
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 15
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 16
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 16
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 4
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 4
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 5
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 5
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 17
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 18
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 19
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 20
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 20
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 5
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 5
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 6
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 6
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 21
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 22
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 23
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 24
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 24
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 6
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 6
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 7
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 7
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 25
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 26
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 27
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 28
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 28
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 7
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 7
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::STRtree::STRtree
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRtree::STRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Envelope*>
    linkageType: ''
    returnType: bool
    signature: bool STRtree::STRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:55,1
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/STRtree.cpp:56,1
    - Dst: geos::index::strtree::STRtree::verticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: static_cast<double>
      Src: /src/geos/src/index/strtree/STRtree.cpp:61,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/STRtree.cpp:65,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: geos::index::strtree::STRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - BoundableList*::empty
    - std::ceil
    - BoundableList*::size
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    - static_cast<double>
    - std::sqrt
    - geos::index::strtree::STRtree::verticalSlices
    - static_cast<std::size_t>
    - getNodeCapacity
    - assert
    - std::unique_ptr::size
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: std::vector<BoundableList*>*::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:79,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:80,1
    - Dst: std::vector<BoundableList*>*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:82,1
    - Dst: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
      Src: /src/geos/src/index/strtree/STRtree.cpp:84,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:87,1
    - Dst: std::unique_ptr::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:89,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:90,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:91,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_verticalSlices
    - newLevel
    argTypes:
    - std::vector<BoundableList*>*
    - int
    assertStmts:
    - condition: (!p_verticalSlices->empty())
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (!toAdd->empty())
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 8
    functionsReached:
    - BoundableList::BoundableList
    - geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    - std::unique_ptr::empty
    - std::unique_ptr::end
    - std::unique_ptr::begin
    - std::vector<BoundableList*>*::size
    - std::vector<BoundableList*>*::empty
    - assert
    - std::unique_ptr::insert
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlices(std::vector<BoundableList*>*
      p_verticalSlices, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::index::strtree::STRtree::createParentBoundablesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::createParentBoundablesFromVerticalSlice(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:108,1
    - Dst: std::vector<BoundableList*>::vector<BoundableList*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:109,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:111,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:114,1
    - Dst: reserve
      Src: /src/geos/src/index/strtree/STRtree.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - childBoundables
    - sliceCount
    argTypes:
    - BoundableList*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: geos::index::strtree::STRtree::verticalSlices
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 8
    functionsReached:
    - reserve
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::vector<BoundableList*>::vector<BoundableList*>
    - push_back
    - ceil
    linkageType: ''
    returnType: std::vector<BoundableList*>
    signature: 'std::vector<BoundableList*> *

      STRtree::verticalSlices(BoundableList* childBoundables, std::size_t sliceCount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:131,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 29
    functionsReached:
    - geos::index::strtree::STRtree::getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/geos/src/index/strtree/STRtree.cpp:139,1
    - Dst: ItemBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:141,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:142,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - env
    - item
    - itemDist
    argTypes:
    - Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 30
    functionsReached:
    - ItemBoundable
    - build
    - const_cast<void*>
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: void
    signature: 'void *

      STRtree::nearestNeighbour(const Envelope* env, const void* item, ItemDistance*
      itemDist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:151,1
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - itemDist
    argTypes:
    - STRtree*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 31
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::nearestNeighbour
    - STRtree*::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(STRtree*
      tree, ItemDistance* itemDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::STRtree::nearestNeighbour
      Src: /src/geos/src/index/strtree/STRtree.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - initBndPair
    argTypes:
    - BoundablePair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 32
    functionsReached:
    - geos::index::strtree::STRtree::nearestNeighbour
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:170,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:172,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:173,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:174,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:187,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:196,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:206,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:215,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:216,1
    - Dst: BoundablePair::BoundablePairQueue::pop
      Src: /src/geos/src/index/strtree/STRtree.cpp:217,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/STRtree.cpp:224,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:227,1
    - Dst: dynamic_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: BoundablePair*::getBoundable
      Src: /src/geos/src/index/strtree/STRtree.cpp:228,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: geos::index::strtree::STRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 32
    functionsReached:
    - dynamic_cast<const ItemBoundable*>
    - std::pair<const void*, const void*>
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::getBoundable
    - BoundablePair::BoundablePairQueue::pop
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair::BoundablePairQueue::empty
    - geos::io::util::GEOSException
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> STRtree::nearestNeighbour(BoundablePair*
      initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: STRtree*::getRoot
      Src: /src/geos/src/index/strtree/STRtree.cpp:240,1
    - Dst: geos::index::strtree::STRtree::isWithinDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - itemDist
    - maxDistance
    argTypes:
    - STRtree*
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 8
    functionsReached:
    - getRoot
    - geos::index::strtree::STRtree::isWithinDistance
    - STRtree*::getRoot
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(STRtree* tree, ItemDistance* itemDist,
      double maxDistance)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BoundablePair::BoundablePairQueue::push
      Src: /src/geos/src/index/strtree/STRtree.cpp:251,1
    - Dst: BoundablePair::BoundablePairQueue::empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:253,1
    - Dst: BoundablePair::BoundablePairQueue::top
      Src: /src/geos/src/index/strtree/STRtree.cpp:254,1
    - Dst: BoundablePair*::getDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:255,1
    - Dst: BoundablePair*::maximumDistance
      Src: /src/geos/src/index/strtree/STRtree.cpp:275,1
    - Dst: BoundablePair*::isLeaves
      Src: /src/geos/src/index/strtree/STRtree.cpp:283,1
    - Dst: BoundablePair*::expandToQueue
      Src: /src/geos/src/index/strtree/STRtree.cpp:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - initBndPair
    - maxDistance
    argTypes:
    - BoundablePair*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 301
    functionName: geos::index::strtree::STRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 8
    functionsReached:
    - BoundablePair::BoundablePairQueue::push
    - BoundablePair::BoundablePairQueue::top
    - BoundablePair*::isLeaves
    - BoundablePair*::getDistance
    - BoundablePair*::maximumDistance
    - BoundablePair::BoundablePairQueue::empty
    - BoundablePair*::expandToQueue
    linkageType: ''
    returnType: bool
    signature: bool STRtree::isWithinDistance(BoundablePair* initBndPair, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::STRAbstractNode::STRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ~STRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Envelope*>
    linkageType: ''
    returnType: void
    signature: void ~STRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/STRtree.cpp:323,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/STRtree.cpp:325,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:329,1
    - Dst: end
      Src: /src/geos/src/index/strtree/STRtree.cpp:330,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope::Envelope
      Src: /src/geos/src/index/strtree/STRtree.cpp:332,1
    - Dst: Envelope*::expandToInclude
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: static_cast<const Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: geos::index::strtree::STRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - Boundable*::getBounds
    - Envelope::Envelope
    - Envelope*::expandToInclude
    - static_cast<const Envelope*>
    - getChildBoundables
    - begin
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STRAbstractNode::STRAbstractNode
      Src: /src/geos/src/index/strtree/STRtree.cpp:346,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/STRtree.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: geos::index::strtree::STRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - STRAbstractNode::STRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      STRtree::createNode(int level)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/index/strtree/STRtree.cpp:355,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/STRtree.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: geos::index::strtree::STRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::isNull
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void STRtree::insert(const Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:411,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:412,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:413,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: geos::index::strtree::STRtree::sortBoundablesX
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - geom::Envelope*::getMaxX
    - std::unique_ptr::size
    - sort
    - assert
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesX(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:418,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:419,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:420,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/STRtree.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMaxX
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:434,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/STRtree.cpp:435,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/STRtree.cpp:436,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/STRtree.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/geos/src/index/strtree/STRtree.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: geos::index::strtree::STRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> STRtree::sortBoundablesY(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:441,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/STRtree.cpp:442,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:443,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/STRtree.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/STRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/index/strtree/GeometryItemDistance.cpp:29,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/GeometryItemDistance.cpp:29,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/index/strtree/GeometryItemDistance.cpp:30,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/GeometryItemDistance.cpp:30,1
    - Dst: Geometry*::distance
      Src: /src/geos/src/index/strtree/GeometryItemDistance.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item1
    - item2
    argTypes:
    - ItemBoundable*
    - ItemBoundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: GeometryItemDistance::distance
    functionSourceFile: /src/geos/src/index/strtree/GeometryItemDistance.cpp
    functionUses: 0
    functionsReached:
    - ItemBoundable*::getItem
    - Geometry*::distance
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: double
    signature: double GeometryItemDistance::distance(const ItemBoundable* item1, const
      ItemBoundable* item2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 8
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 9
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 10
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 11
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 12
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 9
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 10
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 3
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 9
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 13
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 14
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 15
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 16
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 8
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 12
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 4
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 12
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 17
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 18
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 19
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 20
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 10
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 15
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 16
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 5
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 11
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 15
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 21
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 22
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 23
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 24
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 11
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 12
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 18
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 19
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 6
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 18
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 25
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 26
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 27
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 28
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 14
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:40,1
    - Dst: back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - newLevel
    - itemEnv
    - item
    argTypes:
    - int
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 21
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel, const geom::Envelope* itemEnv, void*
      item)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLevel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::index::strtree::SimpleSTRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 22
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    linkageType: ''
    returnType: SimpleSTRnode
    signature: 'SimpleSTRnode *

      SimpleSTRtree::createNode(int newLevel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::insert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geos::index::strtree::SimpleSTRtree::insert
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(geom::Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::isNull
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:63,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:65,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - itemEnv
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::index::strtree::SimpleSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 8
    functionsReached:
    - push_back
    - geos::index::strtree::SimpleSTRtree::createNode
    - geom::Envelope*::isNull
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::insert(const geom::Envelope* itemEnv, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesY
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - getEnvelope
    - getMaxY
    - getMinY
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesY(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:76,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:77,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:78,1
    - Dst: getMinY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    - Dst: getMaxY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRnode*::getEnvelope
    - getMaxY
    - getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: std::sort
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    - Dst: end
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nodeList'
    argTypes:
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: geos::index::strtree::SimpleSTRtree::sortNodesX
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - getEnvelope
    - getMinX
    - getMaxX
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::sortNodesX(std::vector<SimpleSTRnode*>& nodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:94,1
    - Dst: SimpleSTRnode*::getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:95,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:96,1
    - Dst: getMinX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    - Dst: getMaxX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SimpleSTRnode*
    - SimpleSTRnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - SimpleSTRnode*::getEnvelope
    - getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator()(SimpleSTRnode* a, SimpleSTRnode* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:111,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:113,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:114,1
    - Dst: std::ceil
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:115,1
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesX
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:117,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:120,1
    - Dst: std::vector::clear
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:124,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:127,1
    - Dst: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' childNodes'
    - newLevel
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts:
    - condition: (!childNodes.empty())
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: geos::index::strtree::SimpleSTRtree::createParentNodes
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 7
    functionsReached:
    - size
    - std::ceil
    - std::vector::clear
    - std::vector::push_back
    - std::sqrt
    - geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    - assert
    - geos::index::strtree::SimpleSTRtree::sortNodesX
    - empty
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createParentNodes(\n    std::vector<SimpleSTRnode*>&
      childNodes,\n    int newLevel)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::sortNodesY
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:142,1
    - Dst: geos::index::strtree::SimpleSTRtree::createNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:147,1
    - Dst: SimpleSTRnode*::addChildNode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:149,1
    - Dst: SimpleSTRnode*::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:150,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' verticalSlice'
    - newLevel
    - ' parentNodes'
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    - std::vector<SimpleSTRnode*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: geos::index::strtree::SimpleSTRtree::addParentNodesFromVerticalSlice
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createNode
    - push_back
    - SimpleSTRnode*::size
    - SimpleSTRnode*::addChildNode
    - geos::index::strtree::SimpleSTRtree::sortNodesY
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::addParentNodesFromVerticalSlice(\n    std::vector<SimpleSTRnode*>&
      verticalSlice,\n    int newLevel,\n    std::vector<SimpleSTRnode*>& parentNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::createParentNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:167,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:168,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' nodesOfALevel'
    - level
    argTypes:
    - std::vector<SimpleSTRnode*>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::index::strtree::SimpleSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::createParentNodes
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - std::vector::size
    linkageType: ''
    returnType: std::vector<SimpleSTRnode*>
    signature: "std::vector<SimpleSTRnode*> SimpleSTRtree::createHigherLevels(\n    std::vector<SimpleSTRnode*>&
      nodesOfALevel, int level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:180,1
    - Dst: geos::index::strtree::SimpleSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:184,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodeTree.size()==1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: geos::index::strtree::SimpleSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 21
    functionsReached:
    - assert
    - std::vector::size
    - geos::index::strtree::SimpleSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::index::strtree::SimpleSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - visitItem
    - getItem
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:203,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:205,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:209,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 29
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:219,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:221,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:225,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:226,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' visitor'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 30
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - visitItem
    - getItem
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, ItemVisitor& visitor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:237,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:239,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:243,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - searchEnv
    - ' matches'
    argTypes:
    - geom::Envelope*
    - std::vector<void*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 31
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::query
    - empty
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: void
    signature: void SimpleSTRtree::query(const geom::Envelope* searchEnv, std::vector<void*>&
      matches)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:253,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:255,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:257,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:261,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: getItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:262,1
    - Dst: geos::index::strtree::SimpleSTRtree::query
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchEnv
    - node
    - ' matches'
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - std::vector<void*>
    assertStmts:
    - condition: (node)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: geos::index::strtree::SimpleSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 32
    functionsReached:
    - getEnvelope
    - isLeaf
    - geos::index::strtree::SimpleSTRtree::query
    - push_back
    - getItem
    - assert
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: void
    signature: "void SimpleSTRtree::query(const geom::Envelope* searchEnv,\n    const
      SimpleSTRnode* node, std::vector<void*>& matches)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::build
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:273,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:274,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - geom::Envelope*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::strtree::SimpleSTRtree::remove
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::build
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::remove(const geom::Envelope* searchBounds, void*
      item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SimpleSTRnode*::removeItem
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:285,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:290,1
    - Dst: geom::Envelope*::intersects
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: getEnvelope
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:292,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:295,1
    - Dst: geos::index::strtree::SimpleSTRtree::remove
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:296,1
    - Dst: SimpleSTRnode*::getChildNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:305,1
    - Dst: SimpleSTRnode*::removeChild
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - searchBounds
    - node
    - item
    argTypes:
    - geom::Envelope*
    - SimpleSTRnode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: geos::index::strtree::SimpleSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 16
    functionsReached:
    - getEnvelope
    - geos::index::strtree::SimpleSTRtree::remove
    - isLeaf
    - SimpleSTRnode*::removeItem
    - geom::Envelope*::intersects
    - SimpleSTRnode*::removeChild
    - SimpleSTRnode*::getChildNodes
    linkageType: ''
    returnType: bool
    signature: "bool SimpleSTRtree::remove(const geom::Envelope* searchBounds,\n    SimpleSTRnode*
      node, void* item)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeCapacity
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:317,1
    - Dst: getNumLeafNodes
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:318,1
    - Dst: getBuilt
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:319,1
    - Dst: root::toString
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' os'
    - ' tree'
    argTypes:
    - std::ostream
    - SimpleSTRtree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 329
    functionName: '&

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getNodeCapacity
    - getBuilt
    - getNumLeafNodes
    - root::toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const SimpleSTRtree& tree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:337,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:338,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:340,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - itemDist
    argTypes:
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(ItemDistance*
      itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:349,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: SimpleSTRnode::SimpleSTRnode
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:352,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:353,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_env
    - p_item
    - itemDist
    argTypes:
    - geom::Envelope*
    - void*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::nearestNeighbour
    - const_cast<void*>
    - getRoot
    - SimpleSTRnode::SimpleSTRnode
    linkageType: ''
    returnType: void
    signature: 'void *

      SimpleSTRtree::nearestNeighbour(const geom::Envelope* p_env, const void* p_item,
      ItemDistance* itemDist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:363,1
    - Dst: std::pair<const void*, const void*>
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:364,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:366,1
    - Dst: SimpleSTRdistance::nearestNeighbour
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' tree'
    - itemDist
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: geos::index::strtree::SimpleSTRtree::nearestNeighbour
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - SimpleSTRdistance::nearestNeighbour
    - std::pair<const void*, const void*>
    - geos::index::strtree::SimpleSTRtree::getRoot
    linkageType: ''
    returnType: std::pair<const void*, const void*>
    signature: std::pair<const void*, const void*> SimpleSTRtree::nearestNeighbour(SimpleSTRtree&
      tree, ItemDistance* itemDist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:374,1
    - Dst: geos::index::strtree::SimpleSTRtree::getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: getRoot
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:377,1
    - Dst: SimpleSTRdistance::isWithinDistance
      Src: /src/geos/src/index/strtree/SimpleSTRtree.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' tree'
    - itemDist
    - maxDistance
    argTypes:
    - SimpleSTRtree
    - ItemDistance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: geos::index::strtree::SimpleSTRtree::isWithinDistance
    functionSourceFile: /src/geos/src/index/strtree/SimpleSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    - geos::index::strtree::SimpleSTRtree::getRoot
    - SimpleSTRdistance::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool SimpleSTRtree::isWithinDistance(SimpleSTRtree& tree, ItemDistance*
      itemDist, double maxDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 1
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 2
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 3
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 4
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 5
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 6
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 7
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:34,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::index::strtree::compareSIRBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    - Boundable*::getBounds
    linkageType: ''
    returnType: bool
    signature: bool compareSIRBoundables(const Boundable* a, const Boundable* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/SIRtree.cpp:42,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:43,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:44,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:49,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:50,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:54,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:55,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: geos::index::strtree::SIRtree::createNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:56,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/SIRtree.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/geos/src/index/strtree/SIRtree.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: geos::index::strtree::SIRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - geos::index::strtree::SIRtree::createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::createParentBoundables(BoundableList*
      childBoundables, int newLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aBounds
    - bBounds
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Interval*>
    linkageType: ''
    returnType: bool
    signature: bool SIRtree::SIRIntersectsOp::intersects(const void* aBounds, const
      void* bBounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRIntersectsOp::SIRIntersectsOp
      Src: /src/geos/src/index/strtree/SIRtree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_nodeCapacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::index::strtree::SIRtree::SIRtree
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - SIRIntersectsOp::SIRIntersectsOp
    linkageType: ''
    returnType: void
    signature: void SIRtree::SIRtree(std::size_t p_nodeCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: SIRtree::~SIRtree()
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRtree::~SIRtree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_level
    - capacity
    argTypes:
    - int
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: geos::index::strtree::SIRAbstractNode::SIRAbstractNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SIRAbstractNode(int p_level, std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:98,1
    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: ~SIRAbstractNode() override
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Interval*>
    linkageType: ''
    returnType: void
    signature: void ~SIRAbstractNode() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/SIRtree.cpp:107,1
    - Dst: size
      Src: /src/geos/src/index/strtree/SIRtree.cpp:108,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:111,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: static_cast<const Interval*>
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/SIRtree.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: geos::index::strtree::SIRAbstractNode::computeBounds
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - Boundable*::getBounds
    - size
    - Interval::Interval
    - Interval*::expandToInclude
    - getChildBoundables
    - static_cast<const Interval*>
    linkageType: ''
    returnType: void
    signature: "void *\n    computeBounds() const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIRAbstractNode::SIRAbstractNode
      Src: /src/geos/src/index/strtree/SIRtree.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: geos::index::strtree::SIRtree::createNode
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 8
    functionsReached:
    - SIRAbstractNode::SIRAbstractNode
    - push_back
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      SIRtree::createNode(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/strtree/SIRtree.cpp:136,1
    - Dst: geos::index::strtree::AbstractSTRtree::insert
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/SIRtree.cpp:137,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    - Dst: std::move
      Src: /src/geos/src/index/strtree/SIRtree.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x1
    - x2
    - item
    argTypes:
    - double
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: geos::index::strtree::SIRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - push_back
    - Interval::Interval
    - std::max
    - std::min
    - std::move
    - geos::index::strtree::AbstractSTRtree::insert
    linkageType: ''
    returnType: void
    signature: void SIRtree::insert(double x1, double x2, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/SIRtree.cpp:144,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/SIRtree.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: geos::index::strtree::SIRtree::sortBoundables
    functionSourceFile: /src/geos/src/index/strtree/SIRtree.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::begin
    - BoundableList::BoundableList
    - std::unique_ptr::end
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> SIRtree::sortBoundables(const BoundableList*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 1
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 1
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 2
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 3
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 1
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 2
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 5
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 2
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 3
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 4
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 7
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 3
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 4
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 10
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 9
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 4
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 5
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 12
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 6
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 11
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 5
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 6
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 14
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 13
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 6
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 7
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_boundable1
    - p_boundable2
    - p_itemDistance
    argTypes:
    - Boundable*
    - Boundable*
    - ItemDistance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::index::strtree::BoundablePair::BoundablePair
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::BoundablePair(const Boundable* p_boundable1, const
      Boundable* p_boundable2,\n                             ItemDistance* p_itemDistance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: geos::index::strtree::BoundablePair::getBoundable
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boundable
    signature: 'Boundable *

      BoundablePair::getBoundable(int i) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isLeaves
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:52,1
    - Dst: geos::index::strtree::BoundablePair::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:53,1
    - Dst: detail::down_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:54,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:58,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:59,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:62,1
    - Dst: geom::Envelope*::distance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: geos::index::strtree::BoundablePair::distance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 16
    functionsReached:
    - geos::index::strtree::BoundablePair::distance
    - getBounds
    - detail::down_cast<const ItemBoundable*>
    - geos::index::strtree::BoundablePair::isLeaves
    - static_cast<const geom::Envelope*>
    - geos::io::util::GEOSException
    - geom::Envelope*::distance
    linkageType: ''
    returnType: double
    signature: double BoundablePair::distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::strtree::BoundablePair::getDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double BoundablePair::getDistance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::index::strtree::BoundablePair::isLeaves
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 8
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isLeaves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::index::strtree::BoundablePair::isComposite
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 15
    functionsReached:
    - Boundable*::isLeaf
    linkageType: ''
    returnType: bool
    signature: bool BoundablePair::isComposite(const Boundable* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    - Dst: getArea
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::index::strtree::BoundablePair::area
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 7
    functionsReached:
    - getArea
    - Boundable*::getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::area(const Boundable* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:95,1
    - Dst: geos::index::strtree::BoundablePair::isComposite
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:96,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::area
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:104,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:105,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:109,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:114,1
    - Dst: geos::index::strtree::BoundablePair::expand
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' priQ'
    - minDistance
    argTypes:
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: geos::index::strtree::BoundablePair::expandToQueue
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - geos::index::strtree::BoundablePair::isComposite
    - geos::index::strtree::BoundablePair::expand
    - geos::index::strtree::BoundablePair::area
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void BoundablePair::expandToQueue(BoundablePairQueue& priQ, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:130,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:135,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: BoundablePair::BoundablePair
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:138,1
    - Dst: std::unique_ptr::getDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:141,1
    - Dst: push
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - bndComposite
    - bndOther
    - isFlipped
    - ' priQ'
    - minDistance
    argTypes:
    - Boundable*
    - Boundable*
    - bool
    - BoundablePairQueue
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: geos::index::strtree::BoundablePair::expand
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 8
    functionsReached:
    - detail::down_cast<const AbstractNode*>
    - BoundablePair::BoundablePair
    - std::unique_ptr::reset
    - std::unique_ptr::getDistance
    - std::unique_ptr::release
    - push
    linkageType: ''
    returnType: void
    signature: "void BoundablePair::expand(const Boundable* bndComposite, const Boundable*
      bndOther,\n                      bool isFlipped, BoundablePairQueue& priQ,\n
      \                     double minDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::EnvelopeUtil::maximumDistance
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:151,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:152,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/BoundablePair.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: geos::index::strtree::BoundablePair::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/BoundablePair.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const geom::Envelope*>
    - geos::index::strtree::EnvelopeUtil::maximumDistance
    - getBounds
    linkageType: ''
    returnType: double
    signature: double BoundablePair::maximumDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: geos::index::strtree::distance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:39,1
    - Dst: std::min
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:40,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: geom::Envelope*::getMaxX
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:41,1
    - Dst: std::max
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:42,1
    - Dst: distance
      Src: /src/geos/src/index/strtree/EnvelopeUtil.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env1
    - env2
    argTypes:
    - geom::Envelope*
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: geos::index::strtree::EnvelopeUtil::maximumDistance
    functionSourceFile: /src/geos/src/index/strtree/EnvelopeUtil.cpp
    functionUses: 16
    functionsReached:
    - distance
    - geom::Envelope*::getMaxX
    - std::max
    - std::min
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: double
    signature: double EnvelopeUtil::maximumDistance(const geom::Envelope* env1, const
      geom::Envelope* env2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 2
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 1
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 2
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 3
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 1
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 2
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 1
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 2
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 1
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 1
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 9
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 5
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 6
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 7
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 3
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 2
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 2
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 2
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 10
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 6
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 9
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 10
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 11
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 5
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 6
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 3
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 12
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 6
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 3
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 3
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 12
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 11
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 13
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 14
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 15
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 7
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 4
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 12
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 10
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 17
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 18
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 19
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 9
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 10
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 5
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 20
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 10
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 5
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 5
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 20
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 13
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 12
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 21
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 22
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 23
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 11
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 12
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 6
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 24
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 11
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 12
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 6
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 6
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 24
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 14
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 14
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 25
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 26
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 27
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 13
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 14
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 7
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 28
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 14
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 7
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 7
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:37,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:38,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:39,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:46,1
    - Dst: size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != itemBoundables)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (nullptr != nodes)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AbstractSTRtree::~AbstractSTRtree()
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::~AbstractSTRtree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: geos::index::strtree::AbstractSTRtree::build
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 28
    functionsReached:
    - createNode
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:70,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:71,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:72,1
    - Dst: lastNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:78,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:79,1
    - Dst: createNode
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:80,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:81,1
    - Dst: AbstractNode*::addChildBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - childBoundables
    - newLevel
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!childBoundables->empty())
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: geos::index::strtree::AbstractSTRtree::createParentBoundables
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 15
    functionsReached:
    - AbstractNode*::getChildBoundables
    - std::unique_ptr::get
    - BoundableList::BoundableList
    - BoundableList*::empty
    - createNode
    - assert
    - AbstractNode*::addChildBoundable
    - lastNode
    - std::unique_ptr::push_back
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: "std::unique_ptr<BoundableList> AbstractSTRtree::createParentBoundables(BoundableList*
      childBoundables,\n                                        int newLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: BoundableList*::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:92,1
    - Dst: geos::index::strtree::AbstractSTRtree::createParentBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:94,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:97,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: std::unique_ptr::front
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:99,1
    - Dst: geos::index::strtree::AbstractSTRtree::createHigherLevels
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - boundablesOfALevel
    - level
    argTypes:
    - BoundableList*
    - int
    assertStmts:
    - condition: (!boundablesOfALevel->empty())
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: geos::index::strtree::AbstractSTRtree::createHigherLevels
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - static_cast<AbstractNode*>
    - std::unique_ptr::get
    - BoundableList*::empty
    - geos::index::strtree::AbstractSTRtree::createHigherLevels
    - std::unique_ptr::front
    - geos::index::strtree::AbstractSTRtree::createParentBoundables
    - std::unique_ptr::size
    - assert
    linkageType: ''
    returnType: AbstractNode
    signature: 'AbstractNode *

      AbstractSTRtree::createHigherLevels(BoundableList* boundablesOfALevel, int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:111,1
    - Dst: push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    - Dst: ItemBoundable::ItemBoundable
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (!built)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::index::strtree::AbstractSTRtree::insert
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - assert
    - push_back
    - ItemBoundable::ItemBoundable
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::insert(const void* bounds, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:120,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:124,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:128,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' matches'
    argTypes:
    - void*
    - std::vector<void*>
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 29
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, std::vector<void*>&
      matches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:138,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:141,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:142,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:146,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - ' visitor'
    argTypes:
    - void*
    - ItemVisitor
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 30
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::query(const void* searchBounds, ItemVisitor&
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:157,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:160,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:164,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:165,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - ' visitor'
    argTypes:
    - void*
    - AbstractNode
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 31
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - getIntersectsOp
    - getChildBoundables
    - visitItem
    - static_cast<const AbstractNode*>
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds, const AbstractNode&
      node,\n                       ItemVisitor& visitor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:177,1
    - Dst: empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:179,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:180,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:182,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - searchBounds
    - item
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (root->getBounds() == nullptr)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 15
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::remove
    - geos::index::strtree::AbstractSTRtree::build
    - getIntersectsOp
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, void* item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::removeItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:193,1
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:197,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:200,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:202,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:206,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:207,1
    - Dst: geos::index::strtree::AbstractSTRtree::remove
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:210,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:211,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - searchBounds
    - ' node'
    - item
    argTypes:
    - void*
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: geos::index::strtree::AbstractSTRtree::remove
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - static_cast<AbstractNode*>
    - Boundable*::getBounds
    - AbstractNode*::getChildBoundables
    - geos::index::strtree::AbstractSTRtree::remove
    - erase
    - geos::index::strtree::AbstractSTRtree::removeItem
    - getIntersectsOp
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::remove(const void* searchBounds, AbstractNode&
      node, void* item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:226,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:228,1
    - Dst: begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:230,1
    - Dst: Boundable*::isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:232,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:233,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:234,1
    - Dst: end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:240,1
    - Dst: erase
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - item
    argTypes:
    - AbstractNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: geos::index::strtree::AbstractSTRtree::removeItem
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - erase
    - ItemBoundable*::getItem
    - static_cast<ItemBoundable*>
    - getChildBoundables
    - Boundable*::isLeaf
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool AbstractSTRtree::removeItem(AbstractNode& node, void* item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:254,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:256,1
    - Dst: getIntersectsOp
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:258,1
    - Dst: IntersectsOp*::intersects
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:261,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:265,1
    - Dst: std::vector<void*>*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:266,1
    - Dst: geos::index::strtree::AbstractSTRtree::query
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    - Dst: static_cast<const AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - searchBounds
    - node
    - matches
    argTypes:
    - void*
    - AbstractNode*
    - std::vector<void*>*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: geos::index::strtree::AbstractSTRtree::query
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 32
    functionsReached:
    - getBounds
    - geos::index::strtree::AbstractSTRtree::query
    - isLeaf
    - static_cast<const ItemBoundable*>
    - std::vector<void*>*::push_back
    - getIntersectsOp
    - static_cast<const AbstractNode*>
    - assert
    - AbstractNode*::getChildBoundables
    - IntersectsOp*::intersects
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::query(const void* searchBounds,\n                       const
      AbstractNode* node, std::vector<void*>* matches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:277,1
    - Dst: visitItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    - Dst: ItemBoundable*::getItem
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' visitor'
    argTypes:
    - ItemVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: geos::index::strtree::AbstractSTRtree::iterate
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const ItemBoundable*>
    - visitItem
    - ItemBoundable*::getItem
    linkageType: ''
    returnType: void
    signature: void AbstractSTRtree::iterate(ItemVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:286,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - std::unique_ptr::get
    - BoundableList::BoundableList
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::boundablesAtLevel(int
      level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:296,1
    - Dst: AbstractNode*::getLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:297,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:302,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:304,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:307,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:308,1
    - Dst: BoundableList*::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:310,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: typeid
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:313,1
    - Dst: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:314,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - level
    - top
    - boundables
    argTypes:
    - int
    - AbstractNode*
    - BoundableList*
    assertStmts:
    - condition: (level > -2)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (top)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(ItemBoundable))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (typeid(*boundable) == typeid(AbstractNode))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 16
    functionsReached:
    - AbstractNode*::getLevel
    - static_cast<AbstractNode*>
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::boundablesAtLevel
    - typeid
    - assert
    - AbstractNode*::getChildBoundables
    - BoundableList*::push_back
    linkageType: ''
    returnType: void
    signature: "void AbstractSTRtree::boundablesAtLevel(int level, AbstractNode* top,\n
      \                                  BoundableList* boundables)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:325,1
    - Dst: AbstractNode*::getChildBoundables
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:327,1
    - Dst: isLeaf
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:328,1
    - Dst: std::unique_ptr::push_back
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:329,1
    - Dst: static_cast<ItemBoundable*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:330,1
    - Dst: geos::index::strtree::AbstractSTRtree::itemsTree
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: static_cast<AbstractNode*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:333,1
    - Dst: std::unique_ptr::push_back_owned
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:336,1
    - Dst: std::unique_ptr::empty
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:340,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - AbstractNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - ItemsList::ItemsList
    - static_cast<AbstractNode*>
    - std::unique_ptr::empty
    - std::unique_ptr::push_back
    - isLeaf
    - geos::index::strtree::AbstractSTRtree::itemsTree
    - static_cast<ItemBoundable*>
    - std::unique_ptr::release
    - std::unique_ptr::push_back_owned
    - AbstractNode*::getChildBoundables
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree(AbstractNode* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::strtree::AbstractSTRtree::build
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:351,1
    - Dst: ItemsList::ItemsList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::index::strtree::AbstractSTRtree::itemsTree
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 8
    functionsReached:
    - ItemsList::ItemsList
    - geos::index::strtree::AbstractSTRtree::build
    linkageType: ''
    returnType: ItemsList
    signature: 'ItemsList *

      AbstractSTRtree::itemsTree()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:366,1
    - Dst: BoundableList::BoundableList
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: BoundableList*::size
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:368,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: sort
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::begin
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    - Dst: std::unique_ptr::end
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - BoundableList*
    assertStmts:
    - condition: (input)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    - condition: (output->size() == input->size())
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: geos::index::strtree::AbstractSTRtree::sortBoundablesY
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - getBounds
    - BoundableList::BoundableList
    - BoundableList*::size
    - std::unique_ptr::begin
    - std::unique_ptr::end
    - static_cast<const geom::Envelope*>
    - std::unique_ptr::size
    - geom::Envelope*::getMinY
    - geom::Envelope*::getMaxY
    - assert
    - sort
    linkageType: ''
    returnType: std::unique_ptr<BoundableList>
    signature: std::unique_ptr<BoundableList> AbstractSTRtree::sortBoundablesY(const
      BoundableList* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:373,1
    - Dst: static_cast<const geom::Envelope*>
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: Boundable*::getBounds
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:374,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:375,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    - Dst: geom::Envelope*::getMaxY
      Src: /src/geos/src/index/strtree/AbstractSTRtree.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Boundable*
    - Boundable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: operator()(Boundable* a, Boundable* b) const
    functionSourceFile: /src/geos/src/index/strtree/AbstractSTRtree.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getMaxY
    - static_cast<const geom::Envelope*>
    - Boundable*::getBounds
    - geom::Envelope*::getMinY
    linkageType: ''
    returnType: bool
    signature: bool operator()(Boundable* a, Boundable* b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 2
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 1
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 4
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 2
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 6
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 3
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 8
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 4
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 10
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 5
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 12
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 6
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 14
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Key::Key
      Src: /src/geos/src/index/bintree/Node.cpp:30,1
    - Dst: Key*::getInterval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Key*::getLevel
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::index::bintree::Node::createNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 7
    functionsReached:
    - Key::Key
    - Node::Node
    - Interval::Interval
    - Key*::getLevel
    - Key*::getInterval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createNode(Interval* itemInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:40,1
    - Dst: Interval*::expandToInclude
      Src: /src/geos/src/index/bintree/Node.cpp:42,1
    - Dst: geos::index::bintree::Node::createNode
      Src: /src/geos/src/index/bintree/Node.cpp:44,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - addInterval
    argTypes:
    - Node*
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::Node::createExpanded
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::expandToInclude
    - Node*::insert
    - geos::index::bintree::Node::createNode
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createExpanded(Node* node, Interval* addInterval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - newInterval
    - newLevel
    argTypes:
    - Interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Node::Node
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getMin
    - getMax
    linkageType: ''
    returnType: void
    signature: void Node::Node(Interval* newInterval, int newLevel)
  - 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: Node::~Node()
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::index::bintree::Node::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Node::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::overlaps
      Src: /src/geos/src/index/bintree/Node.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::index::bintree::Node::isSearchMatch
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - Interval*::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Node::isSearchMatch(Interval* itemInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:84,1
    - Dst: geos::index::bintree::Node::getSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:88,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Node.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::index::bintree::Node::getNode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::getNode
    - geos::index::bintree::Node::getSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getNode(Interval* searchInterval)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:104,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Node.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - searchInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Node::find
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::find
    linkageType: ''
    returnType: NodeBase
    signature: 'NodeBase *

      Node::find(Interval* searchInterval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Node.cpp:120,1
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Node.cpp:121,1
    - Dst: assert
      Src: /src/geos/src/index/bintree/Node.cpp:122,1
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:129,1
    - Dst: Node*::insert
      Src: /src/geos/src/index/bintree/Node.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (interval == nullptr || interval->contains(node->interval))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/index/bintree/Node.cpp
    - condition: (index >= 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/geos/src/index/bintree/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: geos::index::bintree::Node::insert
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 0
    functionsReached:
    - getSubnodeIndex
    - Node*::insert
    - contains
    - geos::index::bintree::Node::createSubnode
    - assert
    linkageType: ''
    returnType: void
    signature: void Node::insert(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Node::createSubnode
      Src: /src/geos/src/index/bintree/Node.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: geos::index::bintree::Node::getSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::Node::createSubnode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::getSubnode(int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMin
      Src: /src/geos/src/index/bintree/Node.cpp:156,1
    - Dst: getMax
      Src: /src/geos/src/index/bintree/Node.cpp:161,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Node.cpp:164,1
    - Dst: Node::Node
      Src: /src/geos/src/index/bintree/Node.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: geos::index::bintree::Node::createSubnode
    functionSourceFile: /src/geos/src/index/bintree/Node.cpp
    functionUses: 16
    functionsReached:
    - Node::Node
    - getMin
    - getMax
    - Interval::Interval
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Node::createSubnode(int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::Interval()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::init
      Src: /src/geos/src/index/bintree/Interval.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: geos::index::bintree::Interval::Interval
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Interval::init
    linkageType: ''
    returnType: void
    signature: void Interval::Interval(const Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: geos::index::bintree::Interval::init
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::init(double nmin, double nmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Interval::getMin
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::index::bintree::Interval::getMax
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::Interval::getWidth
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interval::getWidth() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: geos::index::bintree::Interval::expandToInclude
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interval::expandToInclude(Interval* interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::overlaps
      Src: /src/geos/src/index/bintree/Interval.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::Interval::overlaps
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(const Interval* interval) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::index::bintree::Interval::overlaps
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::overlaps(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Interval::contains
      Src: /src/geos/src/index/bintree/Interval.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::Interval::contains
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(const Interval* interval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - nmin
    - nmax
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double nmin, double nmax) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::index::bintree::Interval::contains
    functionSourceFile: /src/geos/src/index/bintree/Interval.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interval::contains(double p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 1
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 1
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 2
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 3
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 3
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 8
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 8
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 4
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 9
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 10
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 10
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 5
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 5
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 11
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 12
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 12
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 6
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 13
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 14
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 14
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 7
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Bintree.cpp:31,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Bintree.cpp:32,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:37,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - itemInterval
    - minExtent
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: geos::index::bintree::Bintree::ensureExtent
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 7
    functionsReached:
    - Interval*::getMin
    - Interval*::getMax
    - Interval::Interval
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Bintree::ensureExtent(const Interval* itemInterval, double minExtent)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Root::Root
      Src: /src/geos/src/index/bintree/Bintree.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::index::bintree::Bintree::Bintree
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - Root::Root
    linkageType: ''
    returnType: void
    signature: void Bintree::Bintree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/index/bintree/Bintree.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: Bintree::~Bintree()
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Bintree::~Bintree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::depth
      Src: /src/geos/src/index/bintree/Bintree.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::index::bintree::Bintree::depth
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::Bintree::depth
    linkageType: ''
    returnType: int
    signature: int Bintree::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::size
      Src: /src/geos/src/index/bintree/Bintree.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::index::bintree::Bintree::size
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::Bintree::size
    linkageType: ''
    returnType: int
    signature: int Bintree::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::nodeSize
      Src: /src/geos/src/index/bintree/Bintree.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: geos::index::bintree::Bintree::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::Bintree::nodeSize
    linkageType: ''
    returnType: int
    signature: int Bintree::nodeSize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::collectStats
      Src: /src/geos/src/index/bintree/Bintree.cpp:98,1
    - Dst: geos::index::bintree::Bintree::ensureExtent
      Src: /src/geos/src/index/bintree/Bintree.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/index/bintree/Bintree.cpp:101,1
    - Dst: geos::index::bintree::Bintree::insert
      Src: /src/geos/src/index/bintree/Bintree.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: geos::index::bintree::Bintree::insert
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::Bintree::insert
    - geos::index::bintree::Bintree::collectStats
    - geos::index::bintree::Bintree::ensureExtent
    - push_back
    linkageType: ''
    returnType: void
    signature: void Bintree::insert(Interval* itemInterval, void* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:120,1
    - Dst: addAllItems
      Src: /src/geos/src/index/bintree/Bintree.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: geos::index::bintree::Bintree::iterator
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    - addAllItems
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::iterator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Bintree.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 15
    functionsReached:
    - geos::index::bintree::Bintree::query
    - Interval::Interval
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(double x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/Bintree.cpp:141,1
    - Dst: geos::index::bintree::Bintree::query
      Src: /src/geos/src/index/bintree/Bintree.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 16
    functionsReached:
    - std::vector<void*>::vector<void*>
    - geos::index::bintree::Bintree::query
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      Bintree::query(Interval* interval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/Bintree.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interval
    - foundItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::index::bintree::Bintree::query
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 16
    functionsReached:
    - addAllItemsFromOverlapping
    linkageType: ''
    returnType: void
    signature: void Bintree::query(Interval* interval, std::vector<void*>* foundItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Bintree.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: geos::index::bintree::Bintree::collectStats
    functionSourceFile: /src/geos/src/index/bintree/Bintree.cpp
    functionUses: 8
    functionsReached:
    - Interval*::getWidth
    linkageType: ''
    returnType: void
    signature: void Bintree::collectStats(Interval* interval)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 1
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 2
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 3
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 4
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 5
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 6
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 7
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - centre
    argTypes:
    - Interval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: geos::index::bintree::NodeBase::getSubnodeIndex
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NodeBase::getSubnodeIndex(Interval* interval, double centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<void*>::vector<void*>
      Src: /src/geos/src/index/bintree/NodeBase.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: geos::index::bintree::NodeBase::NodeBase
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - std::vector<void*>::vector<void*>
    linkageType: ''
    returnType: void
    signature: void NodeBase::NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: NodeBase::~NodeBase()
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeBase::~NodeBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::index::bintree::NodeBase::getItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::getItems()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/index/bintree/NodeBase.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::index::bintree::NodeBase::add
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeBase::add(void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:76,1
    - Dst: geos::index::bintree::NodeBase::addAllItems
      Src: /src/geos/src/index/bintree/NodeBase.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - newItems
    argTypes:
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: geos::index::bintree::NodeBase::addAllItems
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - insert
    - std::vector<void*>*::begin
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItems
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItems(std::vector<void*>* newItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSearchMatch
      Src: /src/geos/src/index/bintree/NodeBase.cpp:88,1
    - Dst: std::vector<void*>*::insert
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: std::vector<void*>*::end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: begin
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: end
      Src: /src/geos/src/index/bintree/NodeBase.cpp:91,1
    - Dst: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
      Src: /src/geos/src/index/bintree/NodeBase.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - interval
    - resultItems
    argTypes:
    - Interval*
    - std::vector<void*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - std::vector<void*>*::insert
    - isSearchMatch
    - std::vector<void*>*::end
    - geos::index::bintree::NodeBase::addAllItemsFromOverlapping
    - begin
    - end
    linkageType: ''
    returnType: std::vector<void*>
    signature: 'std::vector<void*> *

      NodeBase::addAllItemsFromOverlapping(Interval* interval, std::vector<void*>*
      resultItems)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::depth
      Src: /src/geos/src/index/bintree/NodeBase.cpp:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: geos::index::bintree::NodeBase::depth
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::NodeBase::depth
    linkageType: ''
    returnType: int
    signature: int NodeBase::depth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:121,1
    - Dst: geos::index::bintree::NodeBase::size
      Src: /src/geos/src/index/bintree/NodeBase.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::index::bintree::NodeBase::size
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::NodeBase::size
    linkageType: ''
    returnType: int
    signature: int NodeBase::size()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::NodeBase::nodeSize
      Src: /src/geos/src/index/bintree/NodeBase.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: geos::index::bintree::NodeBase::nodeSize
    functionSourceFile: /src/geos/src/index/bintree/NodeBase.cpp
    functionUses: 8
    functionsReached:
    - geos::index::bintree::NodeBase::nodeSize
    linkageType: ''
    returnType: int
    signature: int NodeBase::nodeSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 1
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 2
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 3
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 4
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 5
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 6
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 7
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSubnodeIndex
      Src: /src/geos/src/index/bintree/Root.cpp:33,1
    - Dst: add
      Src: /src/geos/src/index/bintree/Root.cpp:36,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:50,1
    - Dst: geos::index::quadtree::Node::createExpanded
      Src: /src/geos/src/index/bintree/Root.cpp:51,1
    - Dst: geos::index::bintree::Root::insertContained
      Src: /src/geos/src/index/bintree/Root.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - itemInterval
    - item
    argTypes:
    - Interval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: geos::index::bintree::Root::insert
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::index::quadtree::Node::createExpanded
    - Node*::getInterval
    - geos::index::bintree::Root::insertContained
    - getSubnodeIndex
    linkageType: ''
    returnType: void
    signature: void Root::insert(Interval* itemInterval, void* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: Node*::getInterval
      Src: /src/geos/src/index/bintree/Root.cpp:68,1
    - Dst: geos::index::quadtree::IntervalSize::isZeroWidth
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Root.cpp:75,1
    - Dst: Interval*::getMax
      Src: /src/geos/src/index/bintree/Root.cpp:76,1
    - Dst: Node*::find
      Src: /src/geos/src/index/bintree/Root.cpp:79,1
    - Dst: Node*::getNode
      Src: /src/geos/src/index/bintree/Root.cpp:82,1
    - Dst: NodeBase*::add
      Src: /src/geos/src/index/bintree/Root.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tree
    - itemInterval
    - item
    argTypes:
    - Node*
    - Interval*
    - void*
    assertStmts:
    - condition: (tree->getInterval()->contains(itemInterval))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/geos/src/index/bintree/Root.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::index::bintree::Root::insertContained
    functionSourceFile: /src/geos/src/index/bintree/Root.cpp
    functionUses: 8
    functionsReached:
    - Interval*::getMax
    - Node*::getNode
    - Node*::find
    - Interval*::getMin
    - Node*::getInterval
    - NodeBase*::add
    - geos::index::quadtree::IntervalSize::isZeroWidth
    - assert
    linkageType: ''
    returnType: void
    signature: void Root::insertContained(Node* tree, Interval* itemInterval, void*
      item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 1
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 1
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 1
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 2
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 2
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 2
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 3
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 3
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 3
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 4
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 4
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 4
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 5
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 5
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 5
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 6
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 6
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 6
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 7
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 7
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interval*::getWidth
      Src: /src/geos/src/index/bintree/Key.cpp:28,1
    - Dst: frexp
      Src: /src/geos/src/index/bintree/Key.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: geos::index::bintree::Key::computeLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 7
    functionsReached:
    - Interval*::getWidth
    - frexp
    linkageType: ''
    returnType: int
    signature: int Key::computeLevel(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeKey
      Src: /src/geos/src/index/bintree/Key.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: geos::index::bintree::Key::Key
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached:
    - geos::index::bintree::Key::computeKey
    linkageType: ''
    returnType: void
    signature: void Key::Key(Interval* newInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Key::~Key()
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key::~Key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::index::bintree::Key::getPoint
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Key::getPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::index::bintree::Key::getLevel
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Key::getLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::index::bintree::Key::getInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interval
    signature: 'Interval *

      Key::getInterval()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::bintree::Key::computeLevel
      Src: /src/geos/src/index/bintree/Key.cpp:72,1
    - Dst: Interval::Interval
      Src: /src/geos/src/index/bintree/Key.cpp:74,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:75,1
    - Dst: contains
      Src: /src/geos/src/index/bintree/Key.cpp:77,1
    - Dst: geos::index::bintree::Key::computeInterval
      Src: /src/geos/src/index/bintree/Key.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - itemInterval
    argTypes:
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: geos::index::bintree::Key::computeKey
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 8
    functionsReached:
    - contains
    - geos::index::bintree::Key::computeInterval
    - Interval::Interval
    - geos::index::bintree::Key::computeLevel
    linkageType: ''
    returnType: void
    signature: void Key::computeKey(Interval* itemInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/geos/src/index/bintree/Key.cpp:86,1
    - Dst: std::floor
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: Interval*::getMin
      Src: /src/geos/src/index/bintree/Key.cpp:87,1
    - Dst: init
      Src: /src/geos/src/index/bintree/Key.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_level
    - itemInterval
    argTypes:
    - int
    - Interval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::index::bintree::Key::computeInterval
    functionSourceFile: /src/geos/src/index/bintree/Key.cpp
    functionUses: 8
    functionsReached:
    - Interval*::getMin
    - std::floor
    - exp2
    - init
    linkageType: ''
    returnType: void
    signature: void Key::computeInterval(int p_level, Interval* itemInterval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 0
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 1
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 1
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 1
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 2
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 2
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 3
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 3
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 3
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 4
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 4
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 4
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 5
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 5
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 5
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 6
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 6
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 6
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 7
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 7
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:44,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::init
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 7
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    - empty
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:52,1
    - Dst: std::sort
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:55,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:57,1
    - Dst: getMin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: getMax
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:58,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:64,1
    - Dst: std::transform
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: end
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: std::vector::begin
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:66,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:71,1
    - Dst: std::vector::size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:73,1
    - Dst: swap
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildTree
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 8
    functionsReached:
    - reserve
    - size
    - geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    - getMin
    - std::vector::begin
    - swap
    - std::transform
    - getMax
    - std::vector::size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: IntervalRTreeNode
    signature: 'IntervalRTreeNode *

      SortedPackedIntervalRTree::buildTree()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:86,1
    - Dst: size
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:88,1
    - Dst: emplace_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:95,1
    - Dst: push_back
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' src'
    - ' dest'
    argTypes:
    - IntervalRTreeNode::ConstVect
    - IntervalRTreeNode::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::buildLevel
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 8
    functionsReached:
    - size
    - push_back
    - clear
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::buildLevel(IntervalRTreeNode::ConstVect&
      src, IntervalRTreeNode::ConstVect& dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::init
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:115,1
    - Dst: geos::index::intervalrtree::SortedPackedIntervalRTree::query
      Src: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - min
    - max
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: geos::index::intervalrtree::SortedPackedIntervalRTree::query
    functionSourceFile: /src/geos/src/index/intervalrtree/SortedPackedIntervalRTree.cpp
    functionUses: 8
    functionsReached:
    - geos::index::intervalrtree::SortedPackedIntervalRTree::init
    - geos::index::intervalrtree::SortedPackedIntervalRTree::query
    linkageType: ''
    returnType: void
    signature: void SortedPackedIntervalRTree::query(double min, double max, index::ItemVisitor*
      visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 1
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 2
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 3
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 4
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 5
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 6
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 7
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:38,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:43,1
    - Dst: geos::index::intervalrtree::IntervalRTreeBranchNode::query
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: geos::index::intervalrtree::IntervalRTreeBranchNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeBranchNode.cpp
    functionUses: 8
    functionsReached:
    - geos::index::intervalrtree::IntervalRTreeBranchNode::query
    - intersects
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeBranchNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:36,1
    - Dst: index::ItemVisitor*::visitItem
      Src: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queryMin
    - queryMax
    - visitor
    argTypes:
    - double
    - double
    - index::ItemVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: geos::index::intervalrtree::IntervalRTreeLeafNode::query
    functionSourceFile: /src/geos/src/index/intervalrtree/IntervalRTreeLeafNode.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - index::ItemVisitor*::visitItem
    linkageType: ''
    returnType: void
    signature: void IntervalRTreeLeafNode::query(double queryMin, double queryMax,
      index::ItemVisitor* visitor) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: geos::io::Writer::Writer
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::Writer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/src/io/Writer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::io::Writer::reserve
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 7
    functionsReached:
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: void Writer::reserve(std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/geos/src/io/Writer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::io::Writer::write
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void Writer::write(const std::string& txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      Writer::toString()'
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      Writer::toString()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: geos::io::Writer::Writer
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::Writer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/src/io/Writer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::io::Writer::reserve
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached:
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: void Writer::reserve(std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/geos/src/io/Writer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::io::Writer::write
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void Writer::write(const std::string& txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      Writer::toString()'
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      Writer::toString()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: geos::io::Writer::Writer
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::Writer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/src/io/Writer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::io::Writer::reserve
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 9
    functionsReached:
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: void Writer::reserve(std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/geos/src/io/Writer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::io::Writer::write
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void Writer::write(const std::string& txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      Writer::toString()'
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      Writer::toString()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: geos::io::Writer::Writer
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Writer::Writer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::Writer::reserve
      Src: /src/geos/src/io/Writer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: geos::io::Writer::reserve
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 10
    functionsReached:
    - geos::io::Writer::reserve
    linkageType: ''
    returnType: void
    signature: void Writer::reserve(std::size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/geos/src/io/Writer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::io::Writer::write
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 8
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void Writer::write(const std::string& txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      Writer::toString()'
    functionSourceFile: /src/geos/src/io/Writer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      Writer::toString()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTFileReader::WKTFileReader
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::WKTFileReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTFileReader::~WKTFileReader()
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::~WKTFileReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTFileReader::readGeom
      Src: /src/geos/src/io/WKTFileReader.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::ifstream::close
      Src: /src/geos/src/io/WKTFileReader.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: geos::io::WKTFileReader::read
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::close
    - std::vector::push_back
    - std::move
    - geos::io::WKTFileReader::readGeom
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> WKTFileReader::read(std::string
      fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTFileReader.cpp:71,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: geos::io::WKTFileReader::read
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' f'
    - ' rdr'
    argTypes:
    - std::ifstream
    - geos::io::WKTReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: geos::io::WKTFileReader::readGeom
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTFileReader::read
    - std::string::begin
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTFileReader::readGeom(std::ifstream& f,
      geos::io::WKTReader& rdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTFileReader::WKTFileReader
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::WKTFileReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTFileReader::~WKTFileReader()
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::~WKTFileReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTFileReader::readGeom
      Src: /src/geos/src/io/WKTFileReader.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::ifstream::close
      Src: /src/geos/src/io/WKTFileReader.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: geos::io::WKTFileReader::read
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::close
    - std::vector::push_back
    - std::move
    - geos::io::WKTFileReader::readGeom
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> WKTFileReader::read(std::string
      fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTFileReader.cpp:71,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: geos::io::WKTFileReader::read
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' f'
    - ' rdr'
    argTypes:
    - std::ifstream
    - geos::io::WKTReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: geos::io::WKTFileReader::readGeom
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTFileReader::read
    - std::string::begin
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTFileReader::readGeom(std::ifstream& f,
      geos::io::WKTReader& rdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTFileReader::WKTFileReader
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::WKTFileReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTFileReader::~WKTFileReader()
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::~WKTFileReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTFileReader::readGeom
      Src: /src/geos/src/io/WKTFileReader.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::ifstream::close
      Src: /src/geos/src/io/WKTFileReader.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: geos::io::WKTFileReader::read
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::close
    - std::vector::push_back
    - std::move
    - geos::io::WKTFileReader::readGeom
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> WKTFileReader::read(std::string
      fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTFileReader.cpp:71,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: geos::io::WKTFileReader::read
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' f'
    - ' rdr'
    argTypes:
    - std::ifstream
    - geos::io::WKTReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: geos::io::WKTFileReader::readGeom
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTFileReader::read
    - std::string::begin
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTFileReader::readGeom(std::ifstream& f,
      geos::io::WKTReader& rdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTFileReader::WKTFileReader
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::WKTFileReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTFileReader::~WKTFileReader()
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTFileReader::~WKTFileReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTFileReader::readGeom
      Src: /src/geos/src/io/WKTFileReader.cpp:48,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTFileReader.cpp:52,1
    - Dst: std::ifstream::close
      Src: /src/geos/src/io/WKTFileReader.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: geos::io::WKTFileReader::read
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::close
    - std::vector::push_back
    - std::move
    - geos::io::WKTFileReader::readGeom
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> WKTFileReader::read(std::string
      fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTFileReader.cpp:71,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:76,1
    - Dst: count
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTFileReader.cpp:77,1
    - Dst: geos::io::WKTFileReader::read
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTFileReader.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' f'
    - ' rdr'
    argTypes:
    - std::ifstream
    - geos::io::WKTReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: geos::io::WKTFileReader::readGeom
    functionSourceFile: /src/geos/src/io/WKTFileReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTFileReader::read
    - std::string::begin
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTFileReader::readGeom(std::ifstream& f,
      geos::io::WKTReader& rdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _configthreadlocale
      Src: /src/geos/src/io/CLocalizer.cpp:33,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:35,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::io::CLocalizer::CLocalizer
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - _configthreadlocale
    - std::setlocale
    linkageType: ''
    returnType: void
    signature: void CLocalizer::CLocalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    - Dst: c_str
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CLocalizer::~CLocalizer()
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - std::setlocale
    - c_str
    linkageType: ''
    returnType: void
    signature: void CLocalizer::~CLocalizer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _configthreadlocale
      Src: /src/geos/src/io/CLocalizer.cpp:33,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:35,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::io::CLocalizer::CLocalizer
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - _configthreadlocale
    - std::setlocale
    linkageType: ''
    returnType: void
    signature: void CLocalizer::CLocalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    - Dst: c_str
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CLocalizer::~CLocalizer()
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - std::setlocale
    - c_str
    linkageType: ''
    returnType: void
    signature: void CLocalizer::~CLocalizer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _configthreadlocale
      Src: /src/geos/src/io/CLocalizer.cpp:33,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:35,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::io::CLocalizer::CLocalizer
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - _configthreadlocale
    - std::setlocale
    linkageType: ''
    returnType: void
    signature: void CLocalizer::CLocalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    - Dst: c_str
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CLocalizer::~CLocalizer()
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - std::setlocale
    - c_str
    linkageType: ''
    returnType: void
    signature: void CLocalizer::~CLocalizer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _configthreadlocale
      Src: /src/geos/src/io/CLocalizer.cpp:33,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:35,1
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::io::CLocalizer::CLocalizer
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - _configthreadlocale
    - std::setlocale
    linkageType: ''
    returnType: void
    signature: void CLocalizer::CLocalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setlocale
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    - Dst: c_str
      Src: /src/geos/src/io/CLocalizer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CLocalizer::~CLocalizer()
    functionSourceFile: /src/geos/src/io/CLocalizer.cpp
    functionUses: 0
    functionsReached:
    - std::setlocale
    - c_str
    linkageType: ''
    returnType: void
    signature: void CLocalizer::~CLocalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: geos::io::Unload::Release
    functionSourceFile: /src/geos/src/io/Unload.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unload::Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: geos::io::Unload::Release
    functionSourceFile: /src/geos/src/io/Unload.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unload::Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: geos::io::Unload::Release
    functionSourceFile: /src/geos/src/io/Unload.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unload::Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: geos::io::Unload::Release
    functionSourceFile: /src/geos/src/io/Unload.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unload::Release()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:57,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:58,1
    - Dst: StringTokenizer::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:60,1
    - Dst: StringTokenizer::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:61,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' wellKnownText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::io::WKTReader::read
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 14
    functionsReached:
    - StringTokenizer::peekNextToken
    - ParseException
    - OrdinateSet::createXY
    - StringTokenizer::nextToken
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::read(const std::string& wellKnownText)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:71,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:77,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:80,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:82,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:85,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: geos::io::WKTReader::getCoordinates
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::io::WKTReader::getPreciseCoordinate
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKTReader::getCoordinates(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:96,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:97,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:101,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:104,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:105,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:110,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:113,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:114,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:117,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKTReader.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - ' coord'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: geos::io::WKTReader::getPreciseCoordinate
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTReader::isNumberNext
    - makePrecise
    - setM
    - hasZ
    - setZ
    - geos::io::WKTReader::getNextNumber
    - changesAllowed
    - setChangesAllowed
    - hasM
    linkageType: ''
    returnType: void
    signature: "void WKTReader::getPreciseCoordinate(StringTokenizer* tokenizer,\n
      \                               OrdinateSet& ordinateFlags,\n                                CoordinateXYZM&
      coord) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::io::WKTReader::isNumberNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isNumberNext(StringTokenizer* tokenizer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: geos::io::WKTReader::isOpenerNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isOpenerNext(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:137,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:140,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:142,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:144,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:148,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:150,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:152,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: geos::io::WKTReader::getNextNumber
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - StringTokenizer*::nextToken
    - StringTokenizer*::getNVal
    - ParseException
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: double
    signature: double WKTReader::getNextNumber(StringTokenizer* tokenizer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:160,1
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ' type'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: geos::io::WKTReader::isTypeName
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isTypeName(const std::string & type, const std::string
      & typeName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:173,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:174,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:175,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:176,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:177,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:178,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:179,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:180,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:181,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' s'
    - ' ordinateFlags'
    argTypes:
    - std::string
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: geos::io::WKTReader::readOrdinateFlags
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - setChangesAllowed
    - geos::util::endsWith
    - setZ
    - setM
    linkageType: ''
    returnType: void
    signature: void WKTReader::readOrdinateFlags(const std::string & s, OrdinateSet&
      ordinateFlags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:189,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:190,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:197,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:199,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:200,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:202,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:206,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:208,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:210,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:215,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:217,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:219,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:224,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 231
    functionName: geos::io::WKTReader::getNextEmptyOrOpener
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - setM
    - ParseException
    - setZ
    - geos::io::WKTReader::getNextWord
    - changesAllowed
    - setChangesAllowed
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextEmptyOrOpener(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:236,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::io::WKTReader::getNextCloserOrComma
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloserOrComma(StringTokenizer* tokenizer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:246,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: geos::io::WKTReader::getNextCloser
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloser(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:256,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:259,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:261,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:265,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: toupper
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 283
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 283
    functionName: geos::io::WKTReader::getNextWord
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - StringTokenizer*::nextToken
    - toupper
    - static_cast<unsigned char>
    - StringTokenizer*::getNVal
    - ParseException
    - static_cast<char>
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextWord(StringTokenizer* tokenizer)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:288,1
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:293,1
    - Dst: geos::io::WKTReader::readOrdinateFlags
      Src: /src/geos/src/io/WKTReader.cpp:297,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:300,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:301,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:303,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:304,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:306,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:307,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:309,1
    - Dst: geos::io::WKTReader::readCircularStringText
      Src: /src/geos/src/io/WKTReader.cpp:310,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:312,1
    - Dst: geos::io::WKTReader::readCompoundCurveText
      Src: /src/geos/src/io/WKTReader.cpp:313,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:315,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:316,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:318,1
    - Dst: geos::io::WKTReader::readCurvePolygonText
      Src: /src/geos/src/io/WKTReader.cpp:319,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:321,1
    - Dst: geos::io::WKTReader::readMultiPointText
      Src: /src/geos/src/io/WKTReader.cpp:322,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:324,1
    - Dst: geos::io::WKTReader::readMultiLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:325,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:327,1
    - Dst: geos::io::WKTReader::readMultiCurveText
      Src: /src/geos/src/io/WKTReader.cpp:328,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:330,1
    - Dst: geos::io::WKTReader::readMultiPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:331,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:333,1
    - Dst: geos::io::WKTReader::readMultiSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:334,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:336,1
    - Dst: geos::io::WKTReader::readGeometryCollectionText
      Src: /src/geos/src/io/WKTReader.cpp:337,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:341,1
    - Dst: OrdinateSet::changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:344,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:345,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - emptyType
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - GeometryTypeId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 350
    functionName: geos::io::WKTReader::readGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTReader::isTypeName
    - geos::io::WKTReader::readMultiLineStringText
    - geos::io::WKTReader::readMultiPointText
    - ParseException
    - OrdinateSet::hasZ
    - geos::io::WKTReader::readMultiSurfaceText
    - geos::io::WKTReader::readPolygonText
    - geos::io::WKTReader::readCircularStringText
    - OrdinateSet::hasM
    - geos::io::WKTReader::readOrdinateFlags
    - OrdinateSet::changesAllowed
    - geos::io::WKTReader::readCurvePolygonText
    - geos::io::WKTReader::readCompoundCurveText
    - geos::io::WKTReader::readMultiCurveText
    - geos::io::WKTReader::readLinearRingText
    - geos::io::WKTReader::getNextWord
    - OrdinateSet::createXY
    - createEmptyGeometry
    - geos::io::WKTReader::readPointText
    - geos::io::WKTReader::readMultiPolygonText
    - geos::io::WKTReader::readLineStringText
    - geos::io::WKTReader::readGeometryCollectionText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readGeometryTaggedText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags, const GeometryTypeId* emptyType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:355,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: geos::io::WKTReader::readPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - createPoint
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKTReader::readPointText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:362,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: geos::io::WKTReader::readLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - createLineString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKTReader::readLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:369,1
    - Dst: isRing
      Src: /src/geos/src/io/WKTReader.cpp:370,1
    - Dst: closeRing
      Src: /src/geos/src/io/WKTReader.cpp:371,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: geos::io::WKTReader::readLinearRingText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - closeRing
    - createLinearRing
    - std::move
    - geos::io::WKTReader::getCoordinates
    - isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKTReader::readLinearRingText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:379,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: geos::io::WKTReader::readCircularStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - createCircularString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKTReader::readCircularStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:386,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:388,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:392,1
    - Dst: dynamic_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: std::unique_ptr<Curve>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: geos::io::WKTReader::readCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Curve*>
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - std::unique_ptr<Curve>
    - auto::release
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    - geos::io::WKTReader::readLineStringText
    - dynamic_cast<Curve*>
    linkageType: ''
    returnType: std::unique_ptr<Curve>
    signature: std::unique_ptr<Curve> WKTReader::readCurveText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:403,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:405,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:409,1
    - Dst: dynamic_cast<Surface*>
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: geos::io::WKTReader::readSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - dynamic_cast<Surface*>
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:420,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:422,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:427,1
    - Dst: dynamic_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:433,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 417
    functionDepth: 5
    functionLinenumber: 417
    functionLinenumberEnd: 437
    functionName: geos::io::WKTReader::readCompoundCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::emplace_back
    - static_cast<SimpleCurve*>
    - ParseException
    - auto::getGeometryType
    - dynamic_cast<SimpleCurve*>
    - auto::release
    - geos::io::WKTReader::getNextCloserOrComma
    - auto::get
    - geos::io::WKTReader::getNextEmptyOrOpener
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKTReader::readCompoundCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:442,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:444,1
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:447,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:455,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:456,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:457,1
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:471,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:482,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:485,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 507
    functionName: geos::io::WKTReader::readMultiPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - std::move
    - std::stringstream::str
    - geos::io::WKTReader::getPreciseCoordinate
    - StringTokenizer*::getNVal
    - geos::io::WKTReader::readPointText
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - StringTokenizer*::peekNextToken
    - std::vector::push_back
    - StringTokenizer*::getSVal
    - ParseException
    - createMultiPoint
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - std::unique_ptr<MultiPoint>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKTReader::readMultiPointText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:512,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:520,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:521,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:524,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: geos::io::WKTReader::readPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - createPolygon
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - geos::io::WKTReader::readLinearRingText
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKTReader::readPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:533,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:541,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:542,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:545,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 549
    functionName: geos::io::WKTReader::readCurvePolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - createCurvePolygon
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKTReader::readCurvePolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:554,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:556,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:562,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 566
    functionName: geos::io::WKTReader::readMultiLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::push_back
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readLineStringText
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKTReader::readMultiLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:571,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:573,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:579,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 5
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: geos::io::WKTReader::readMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::push_back
    - createMultiCurve
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKTReader::readMultiCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:588,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:590,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:596,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: geos::io::WKTReader::readMultiPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - std::move
    - std::vector::push_back
    - createMultiPolygon
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKTReader::readMultiPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:605,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:607,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::readSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:613,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 617
    functionName: geos::io::WKTReader::readMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::push_back
    - createMultiSurface
    - geos::io::WKTReader::readSurfaceText
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKTReader::readMultiSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:622,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:624,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:630,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 634
    functionName: geos::io::WKTReader::readGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::push_back
    - createGeometryCollection
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKTReader::readGeometryCollectionText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:57,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:58,1
    - Dst: StringTokenizer::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:60,1
    - Dst: StringTokenizer::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:61,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' wellKnownText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::io::WKTReader::read
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 14
    functionsReached:
    - StringTokenizer::peekNextToken
    - ParseException
    - OrdinateSet::createXY
    - StringTokenizer::nextToken
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::read(const std::string& wellKnownText)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:71,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:77,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:80,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:82,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:85,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: geos::io::WKTReader::getCoordinates
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - geos::io::WKTReader::getPreciseCoordinate
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKTReader::getCoordinates(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:96,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:97,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:101,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:104,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:105,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:110,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:113,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:114,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:117,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKTReader.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - ' coord'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: geos::io::WKTReader::getPreciseCoordinate
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTReader::isNumberNext
    - makePrecise
    - setM
    - hasZ
    - setZ
    - geos::io::WKTReader::getNextNumber
    - changesAllowed
    - setChangesAllowed
    - hasM
    linkageType: ''
    returnType: void
    signature: "void WKTReader::getPreciseCoordinate(StringTokenizer* tokenizer,\n
      \                               OrdinateSet& ordinateFlags,\n                                CoordinateXYZM&
      coord) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::io::WKTReader::isNumberNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isNumberNext(StringTokenizer* tokenizer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: geos::io::WKTReader::isOpenerNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isOpenerNext(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:137,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:140,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:142,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:144,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:148,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:150,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:152,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: geos::io::WKTReader::getNextNumber
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - StringTokenizer*::nextToken
    - StringTokenizer*::getNVal
    - ParseException
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: double
    signature: double WKTReader::getNextNumber(StringTokenizer* tokenizer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:160,1
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ' type'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: geos::io::WKTReader::isTypeName
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isTypeName(const std::string & type, const std::string
      & typeName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:173,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:174,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:175,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:176,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:177,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:178,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:179,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:180,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:181,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' s'
    - ' ordinateFlags'
    argTypes:
    - std::string
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: geos::io::WKTReader::readOrdinateFlags
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - setChangesAllowed
    - geos::util::endsWith
    - setZ
    - setM
    linkageType: ''
    returnType: void
    signature: void WKTReader::readOrdinateFlags(const std::string & s, OrdinateSet&
      ordinateFlags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:189,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:190,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:197,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:199,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:200,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:202,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:206,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:208,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:210,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:215,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:217,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:219,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:224,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 231
    functionName: geos::io::WKTReader::getNextEmptyOrOpener
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 11
    functionsReached:
    - setM
    - ParseException
    - setZ
    - geos::io::WKTReader::getNextWord
    - changesAllowed
    - setChangesAllowed
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextEmptyOrOpener(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:236,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::io::WKTReader::getNextCloserOrComma
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 11
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloserOrComma(StringTokenizer* tokenizer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:246,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: geos::io::WKTReader::getNextCloser
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloser(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:256,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:259,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:261,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:265,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: toupper
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 283
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 283
    functionName: geos::io::WKTReader::getNextWord
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 7
    functionsReached:
    - StringTokenizer*::nextToken
    - toupper
    - static_cast<unsigned char>
    - StringTokenizer*::getNVal
    - ParseException
    - static_cast<char>
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextWord(StringTokenizer* tokenizer)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:288,1
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:293,1
    - Dst: geos::io::WKTReader::readOrdinateFlags
      Src: /src/geos/src/io/WKTReader.cpp:297,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:300,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:301,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:303,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:304,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:306,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:307,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:309,1
    - Dst: geos::io::WKTReader::readCircularStringText
      Src: /src/geos/src/io/WKTReader.cpp:310,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:312,1
    - Dst: geos::io::WKTReader::readCompoundCurveText
      Src: /src/geos/src/io/WKTReader.cpp:313,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:315,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:316,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:318,1
    - Dst: geos::io::WKTReader::readCurvePolygonText
      Src: /src/geos/src/io/WKTReader.cpp:319,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:321,1
    - Dst: geos::io::WKTReader::readMultiPointText
      Src: /src/geos/src/io/WKTReader.cpp:322,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:324,1
    - Dst: geos::io::WKTReader::readMultiLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:325,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:327,1
    - Dst: geos::io::WKTReader::readMultiCurveText
      Src: /src/geos/src/io/WKTReader.cpp:328,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:330,1
    - Dst: geos::io::WKTReader::readMultiPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:331,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:333,1
    - Dst: geos::io::WKTReader::readMultiSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:334,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:336,1
    - Dst: geos::io::WKTReader::readGeometryCollectionText
      Src: /src/geos/src/io/WKTReader.cpp:337,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:341,1
    - Dst: OrdinateSet::changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:344,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:345,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - emptyType
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - GeometryTypeId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 285
    functionDepth: 6
    functionLinenumber: 285
    functionLinenumberEnd: 350
    functionName: geos::io::WKTReader::readGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKTReader::isTypeName
    - geos::io::WKTReader::readMultiLineStringText
    - geos::io::WKTReader::readMultiPointText
    - ParseException
    - OrdinateSet::hasZ
    - geos::io::WKTReader::readMultiSurfaceText
    - geos::io::WKTReader::readPolygonText
    - geos::io::WKTReader::readCircularStringText
    - OrdinateSet::hasM
    - geos::io::WKTReader::readOrdinateFlags
    - OrdinateSet::changesAllowed
    - geos::io::WKTReader::readCurvePolygonText
    - geos::io::WKTReader::readCompoundCurveText
    - geos::io::WKTReader::readMultiCurveText
    - geos::io::WKTReader::readLinearRingText
    - geos::io::WKTReader::getNextWord
    - OrdinateSet::createXY
    - createEmptyGeometry
    - geos::io::WKTReader::readPointText
    - geos::io::WKTReader::readMultiPolygonText
    - geos::io::WKTReader::readLineStringText
    - geos::io::WKTReader::readGeometryCollectionText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readGeometryTaggedText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags, const GeometryTypeId* emptyType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:355,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: geos::io::WKTReader::readPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - createPoint
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKTReader::readPointText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:362,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: geos::io::WKTReader::readLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - createLineString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKTReader::readLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:369,1
    - Dst: isRing
      Src: /src/geos/src/io/WKTReader.cpp:370,1
    - Dst: closeRing
      Src: /src/geos/src/io/WKTReader.cpp:371,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: geos::io::WKTReader::readLinearRingText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - closeRing
    - createLinearRing
    - std::move
    - geos::io::WKTReader::getCoordinates
    - isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKTReader::readLinearRingText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:379,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: geos::io::WKTReader::readCircularStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - createCircularString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKTReader::readCircularStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:386,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:388,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:392,1
    - Dst: dynamic_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: std::unique_ptr<Curve>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: geos::io::WKTReader::readCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - static_cast<Curve*>
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - std::unique_ptr<Curve>
    - auto::release
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    - geos::io::WKTReader::readLineStringText
    - dynamic_cast<Curve*>
    linkageType: ''
    returnType: std::unique_ptr<Curve>
    signature: std::unique_ptr<Curve> WKTReader::readCurveText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:403,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:405,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:409,1
    - Dst: dynamic_cast<Surface*>
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: geos::io::WKTReader::readSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - dynamic_cast<Surface*>
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:420,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:422,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:427,1
    - Dst: dynamic_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:433,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 417
    functionDepth: 5
    functionLinenumber: 417
    functionLinenumberEnd: 437
    functionName: geos::io::WKTReader::readCompoundCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::emplace_back
    - static_cast<SimpleCurve*>
    - ParseException
    - auto::getGeometryType
    - dynamic_cast<SimpleCurve*>
    - auto::release
    - geos::io::WKTReader::getNextCloserOrComma
    - auto::get
    - geos::io::WKTReader::getNextEmptyOrOpener
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKTReader::readCompoundCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:442,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:444,1
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:447,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:455,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:456,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:457,1
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:471,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:482,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:485,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 507
    functionName: geos::io::WKTReader::readMultiPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - std::move
    - std::stringstream::str
    - geos::io::WKTReader::getPreciseCoordinate
    - StringTokenizer*::getNVal
    - geos::io::WKTReader::readPointText
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - StringTokenizer*::peekNextToken
    - std::vector::push_back
    - StringTokenizer*::getSVal
    - ParseException
    - createMultiPoint
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - std::unique_ptr<MultiPoint>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKTReader::readMultiPointText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:512,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:520,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:521,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:524,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: geos::io::WKTReader::readPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - createPolygon
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - geos::io::WKTReader::readLinearRingText
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKTReader::readPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:533,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:541,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:542,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:545,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 549
    functionName: geos::io::WKTReader::readCurvePolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - createCurvePolygon
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKTReader::readCurvePolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:554,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:556,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:562,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 566
    functionName: geos::io::WKTReader::readMultiLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::push_back
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readLineStringText
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKTReader::readMultiLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:571,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:573,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:579,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 5
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: geos::io::WKTReader::readMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::push_back
    - createMultiCurve
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKTReader::readMultiCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:588,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:590,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:596,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: geos::io::WKTReader::readMultiPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - std::move
    - std::vector::push_back
    - createMultiPolygon
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKTReader::readMultiPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:605,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:607,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::readSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:613,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 617
    functionName: geos::io::WKTReader::readMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::push_back
    - createMultiSurface
    - geos::io::WKTReader::readSurfaceText
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKTReader::readMultiSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:622,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:624,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:630,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 634
    functionName: geos::io::WKTReader::readGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::push_back
    - createGeometryCollection
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKTReader::readGeometryCollectionText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:57,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:58,1
    - Dst: StringTokenizer::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:60,1
    - Dst: StringTokenizer::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:61,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' wellKnownText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::io::WKTReader::read
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 14
    functionsReached:
    - StringTokenizer::peekNextToken
    - ParseException
    - OrdinateSet::createXY
    - StringTokenizer::nextToken
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::read(const std::string& wellKnownText)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:71,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:77,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:80,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:82,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:85,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: geos::io::WKTReader::getCoordinates
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 8
    functionsReached:
    - auto::add
    - geos::io::WKTReader::getPreciseCoordinate
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKTReader::getCoordinates(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:96,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:97,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:101,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:104,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:105,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:110,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:113,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:114,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:117,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKTReader.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - ' coord'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: geos::io::WKTReader::getPreciseCoordinate
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKTReader::isNumberNext
    - makePrecise
    - setM
    - hasZ
    - setZ
    - geos::io::WKTReader::getNextNumber
    - changesAllowed
    - setChangesAllowed
    - hasM
    linkageType: ''
    returnType: void
    signature: "void WKTReader::getPreciseCoordinate(StringTokenizer* tokenizer,\n
      \                               OrdinateSet& ordinateFlags,\n                                CoordinateXYZM&
      coord) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::io::WKTReader::isNumberNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isNumberNext(StringTokenizer* tokenizer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: geos::io::WKTReader::isOpenerNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isOpenerNext(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:137,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:140,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:142,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:144,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:148,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:150,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:152,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: geos::io::WKTReader::getNextNumber
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - StringTokenizer*::nextToken
    - StringTokenizer*::getNVal
    - ParseException
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: double
    signature: double WKTReader::getNextNumber(StringTokenizer* tokenizer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:160,1
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ' type'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: geos::io::WKTReader::isTypeName
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isTypeName(const std::string & type, const std::string
      & typeName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:173,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:174,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:175,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:176,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:177,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:178,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:179,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:180,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:181,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' s'
    - ' ordinateFlags'
    argTypes:
    - std::string
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: geos::io::WKTReader::readOrdinateFlags
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - setChangesAllowed
    - geos::util::endsWith
    - setZ
    - setM
    linkageType: ''
    returnType: void
    signature: void WKTReader::readOrdinateFlags(const std::string & s, OrdinateSet&
      ordinateFlags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:189,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:190,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:197,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:199,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:200,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:202,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:206,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:208,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:210,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:215,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:217,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:219,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:224,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 231
    functionName: geos::io::WKTReader::getNextEmptyOrOpener
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 21
    functionsReached:
    - setM
    - ParseException
    - setZ
    - geos::io::WKTReader::getNextWord
    - changesAllowed
    - setChangesAllowed
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextEmptyOrOpener(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:236,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::io::WKTReader::getNextCloserOrComma
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 21
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloserOrComma(StringTokenizer* tokenizer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:246,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: geos::io::WKTReader::getNextCloser
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloser(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:256,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:259,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:261,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:265,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: toupper
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 283
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 283
    functionName: geos::io::WKTReader::getNextWord
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 11
    functionsReached:
    - StringTokenizer*::nextToken
    - toupper
    - static_cast<unsigned char>
    - StringTokenizer*::getNVal
    - ParseException
    - static_cast<char>
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextWord(StringTokenizer* tokenizer)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:288,1
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:293,1
    - Dst: geos::io::WKTReader::readOrdinateFlags
      Src: /src/geos/src/io/WKTReader.cpp:297,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:300,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:301,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:303,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:304,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:306,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:307,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:309,1
    - Dst: geos::io::WKTReader::readCircularStringText
      Src: /src/geos/src/io/WKTReader.cpp:310,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:312,1
    - Dst: geos::io::WKTReader::readCompoundCurveText
      Src: /src/geos/src/io/WKTReader.cpp:313,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:315,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:316,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:318,1
    - Dst: geos::io::WKTReader::readCurvePolygonText
      Src: /src/geos/src/io/WKTReader.cpp:319,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:321,1
    - Dst: geos::io::WKTReader::readMultiPointText
      Src: /src/geos/src/io/WKTReader.cpp:322,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:324,1
    - Dst: geos::io::WKTReader::readMultiLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:325,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:327,1
    - Dst: geos::io::WKTReader::readMultiCurveText
      Src: /src/geos/src/io/WKTReader.cpp:328,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:330,1
    - Dst: geos::io::WKTReader::readMultiPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:331,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:333,1
    - Dst: geos::io::WKTReader::readMultiSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:334,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:336,1
    - Dst: geos::io::WKTReader::readGeometryCollectionText
      Src: /src/geos/src/io/WKTReader.cpp:337,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:341,1
    - Dst: OrdinateSet::changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:344,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:345,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - emptyType
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - GeometryTypeId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 285
    functionDepth: 6
    functionLinenumber: 285
    functionLinenumberEnd: 350
    functionName: geos::io::WKTReader::readGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 9
    functionsReached:
    - geos::io::WKTReader::isTypeName
    - geos::io::WKTReader::readMultiLineStringText
    - geos::io::WKTReader::readMultiPointText
    - ParseException
    - OrdinateSet::hasZ
    - geos::io::WKTReader::readMultiSurfaceText
    - geos::io::WKTReader::readPolygonText
    - geos::io::WKTReader::readCircularStringText
    - OrdinateSet::hasM
    - geos::io::WKTReader::readOrdinateFlags
    - OrdinateSet::changesAllowed
    - geos::io::WKTReader::readCurvePolygonText
    - geos::io::WKTReader::readCompoundCurveText
    - geos::io::WKTReader::readMultiCurveText
    - geos::io::WKTReader::readLinearRingText
    - geos::io::WKTReader::getNextWord
    - OrdinateSet::createXY
    - createEmptyGeometry
    - geos::io::WKTReader::readPointText
    - geos::io::WKTReader::readMultiPolygonText
    - geos::io::WKTReader::readLineStringText
    - geos::io::WKTReader::readGeometryCollectionText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readGeometryTaggedText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags, const GeometryTypeId* emptyType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:355,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: geos::io::WKTReader::readPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 5
    functionsReached:
    - createPoint
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKTReader::readPointText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:362,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: geos::io::WKTReader::readLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 7
    functionsReached:
    - createLineString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKTReader::readLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:369,1
    - Dst: isRing
      Src: /src/geos/src/io/WKTReader.cpp:370,1
    - Dst: closeRing
      Src: /src/geos/src/io/WKTReader.cpp:371,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: geos::io::WKTReader::readLinearRingText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 5
    functionsReached:
    - closeRing
    - createLinearRing
    - std::move
    - geos::io::WKTReader::getCoordinates
    - isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKTReader::readLinearRingText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:379,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: geos::io::WKTReader::readCircularStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - createCircularString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKTReader::readCircularStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:386,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:388,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:392,1
    - Dst: dynamic_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: std::unique_ptr<Curve>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: geos::io::WKTReader::readCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 6
    functionsReached:
    - static_cast<Curve*>
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - std::unique_ptr<Curve>
    - auto::release
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    - geos::io::WKTReader::readLineStringText
    - dynamic_cast<Curve*>
    linkageType: ''
    returnType: std::unique_ptr<Curve>
    signature: std::unique_ptr<Curve> WKTReader::readCurveText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:403,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:405,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:409,1
    - Dst: dynamic_cast<Surface*>
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: geos::io::WKTReader::readSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - dynamic_cast<Surface*>
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:420,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:422,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:427,1
    - Dst: dynamic_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:433,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 417
    functionDepth: 5
    functionLinenumber: 417
    functionLinenumberEnd: 437
    functionName: geos::io::WKTReader::readCompoundCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::emplace_back
    - static_cast<SimpleCurve*>
    - ParseException
    - auto::getGeometryType
    - dynamic_cast<SimpleCurve*>
    - auto::release
    - geos::io::WKTReader::getNextCloserOrComma
    - auto::get
    - geos::io::WKTReader::getNextEmptyOrOpener
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKTReader::readCompoundCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:442,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:444,1
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:447,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:455,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:456,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:457,1
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:471,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:482,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:485,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 507
    functionName: geos::io::WKTReader::readMultiPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - std::move
    - std::stringstream::str
    - geos::io::WKTReader::getPreciseCoordinate
    - StringTokenizer*::getNVal
    - geos::io::WKTReader::readPointText
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - StringTokenizer*::peekNextToken
    - std::vector::push_back
    - StringTokenizer*::getSVal
    - ParseException
    - createMultiPoint
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - std::unique_ptr<MultiPoint>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKTReader::readMultiPointText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:512,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:520,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:521,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:524,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: geos::io::WKTReader::readPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - createPolygon
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - geos::io::WKTReader::readLinearRingText
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKTReader::readPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:533,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:541,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:542,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:545,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 549
    functionName: geos::io::WKTReader::readCurvePolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - createCurvePolygon
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKTReader::readCurvePolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:554,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:556,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:562,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 566
    functionName: geos::io::WKTReader::readMultiLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::push_back
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readLineStringText
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKTReader::readMultiLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:571,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:573,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:579,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 5
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: geos::io::WKTReader::readMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::push_back
    - createMultiCurve
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKTReader::readMultiCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:588,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:590,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:596,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: geos::io::WKTReader::readMultiPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - std::move
    - std::vector::push_back
    - createMultiPolygon
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKTReader::readMultiPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:605,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:607,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::readSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:613,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 617
    functionName: geos::io::WKTReader::readMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::vector::push_back
    - createMultiSurface
    - geos::io::WKTReader::readSurfaceText
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKTReader::readMultiSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:622,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:624,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:630,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 634
    functionName: geos::io::WKTReader::readGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::vector::push_back
    - createGeometryCollection
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKTReader::readGeometryCollectionText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:57,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:58,1
    - Dst: StringTokenizer::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:60,1
    - Dst: StringTokenizer::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:61,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' wellKnownText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::io::WKTReader::read
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 14
    functionsReached:
    - StringTokenizer::peekNextToken
    - ParseException
    - OrdinateSet::createXY
    - StringTokenizer::nextToken
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::read(const std::string& wellKnownText)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:71,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:73,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:77,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:79,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:80,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:82,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:84,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:85,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: geos::io::WKTReader::getCoordinates
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 12
    functionsReached:
    - auto::add
    - geos::io::WKTReader::getPreciseCoordinate
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKTReader::getCoordinates(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:96,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:97,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:100,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:101,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:104,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:105,1
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: geos::io::WKTReader::isNumberNext
      Src: /src/geos/src/io/WKTReader.cpp:109,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:110,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:113,1
    - Dst: geos::io::WKTReader::getNextNumber
      Src: /src/geos/src/io/WKTReader.cpp:114,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:117,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKTReader.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - ' coord'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: geos::io::WKTReader::getPreciseCoordinate
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKTReader::isNumberNext
    - makePrecise
    - setM
    - hasZ
    - setZ
    - geos::io::WKTReader::getNextNumber
    - changesAllowed
    - setChangesAllowed
    - hasM
    linkageType: ''
    returnType: void
    signature: "void WKTReader::getPreciseCoordinate(StringTokenizer* tokenizer,\n
      \                               OrdinateSet& ordinateFlags,\n                                CoordinateXYZM&
      coord) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::io::WKTReader::isNumberNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isNumberNext(StringTokenizer* tokenizer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: geos::io::WKTReader::isOpenerNext
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - StringTokenizer*::peekNextToken
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isOpenerNext(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:137,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:140,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:142,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:144,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:146,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:148,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:150,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:152,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: geos::io::WKTReader::getNextNumber
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - StringTokenizer*::nextToken
    - StringTokenizer*::getNVal
    - ParseException
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: double
    signature: double WKTReader::getNextNumber(StringTokenizer* tokenizer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:160,1
    - Dst: size
      Src: /src/geos/src/io/WKTReader.cpp:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ' type'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: geos::io::WKTReader::isTypeName
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool WKTReader::isTypeName(const std::string & type, const std::string
      & typeName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:173,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:174,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:175,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:176,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:177,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:178,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:179,1
    - Dst: geos::util::endsWith
      Src: /src/geos/src/io/WKTReader.cpp:180,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:181,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' s'
    - ' ordinateFlags'
    argTypes:
    - std::string
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: geos::io::WKTReader::readOrdinateFlags
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - setChangesAllowed
    - geos::util::endsWith
    - setZ
    - setM
    linkageType: ''
    returnType: void
    signature: void WKTReader::readOrdinateFlags(const std::string & s, OrdinateSet&
      ordinateFlags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:189,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:190,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:197,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:199,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:200,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:202,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:206,1
    - Dst: setZ
      Src: /src/geos/src/io/WKTReader.cpp:208,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:210,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:215,1
    - Dst: setM
      Src: /src/geos/src/io/WKTReader.cpp:217,1
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:219,1
    - Dst: setChangesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:224,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 231
    functionName: geos::io::WKTReader::getNextEmptyOrOpener
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 31
    functionsReached:
    - setM
    - ParseException
    - setZ
    - geos::io::WKTReader::getNextWord
    - changesAllowed
    - setChangesAllowed
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextEmptyOrOpener(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:236,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::io::WKTReader::getNextCloserOrComma
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 31
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloserOrComma(StringTokenizer* tokenizer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:246,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: geos::io::WKTReader::getNextCloser
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    - geos::io::WKTReader::getNextWord
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextCloser(StringTokenizer* tokenizer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::nextToken
      Src: /src/geos/src/io/WKTReader.cpp:256,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:259,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:261,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:263,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:265,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: toupper
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKTReader.cpp:269,1
    - Dst: assert
      Src: /src/geos/src/io/WKTReader.cpp:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - StringTokenizer*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/geos/src/io/WKTReader.cpp
    constantsTouched: []
    func_position:
      end: 283
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 283
    functionName: geos::io::WKTReader::getNextWord
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 15
    functionsReached:
    - StringTokenizer*::nextToken
    - toupper
    - static_cast<unsigned char>
    - StringTokenizer*::getNVal
    - ParseException
    - static_cast<char>
    - assert
    - StringTokenizer*::getSVal
    linkageType: ''
    returnType: std::string
    signature: std::string WKTReader::getNextWord(StringTokenizer* tokenizer)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextWord
      Src: /src/geos/src/io/WKTReader.cpp:288,1
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTReader.cpp:293,1
    - Dst: geos::io::WKTReader::readOrdinateFlags
      Src: /src/geos/src/io/WKTReader.cpp:297,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:300,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:301,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:303,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:304,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:306,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:307,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:309,1
    - Dst: geos::io::WKTReader::readCircularStringText
      Src: /src/geos/src/io/WKTReader.cpp:310,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:312,1
    - Dst: geos::io::WKTReader::readCompoundCurveText
      Src: /src/geos/src/io/WKTReader.cpp:313,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:315,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:316,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:318,1
    - Dst: geos::io::WKTReader::readCurvePolygonText
      Src: /src/geos/src/io/WKTReader.cpp:319,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:321,1
    - Dst: geos::io::WKTReader::readMultiPointText
      Src: /src/geos/src/io/WKTReader.cpp:322,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:324,1
    - Dst: geos::io::WKTReader::readMultiLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:325,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:327,1
    - Dst: geos::io::WKTReader::readMultiCurveText
      Src: /src/geos/src/io/WKTReader.cpp:328,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:330,1
    - Dst: geos::io::WKTReader::readMultiPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:331,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:333,1
    - Dst: geos::io::WKTReader::readMultiSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:334,1
    - Dst: geos::io::WKTReader::isTypeName
      Src: /src/geos/src/io/WKTReader.cpp:336,1
    - Dst: geos::io::WKTReader::readGeometryCollectionText
      Src: /src/geos/src/io/WKTReader.cpp:337,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTReader.cpp:339,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:341,1
    - Dst: OrdinateSet::changesAllowed
      Src: /src/geos/src/io/WKTReader.cpp:344,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:345,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - tokenizer
    - ' ordinateFlags'
    - emptyType
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    - GeometryTypeId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 285
    functionDepth: 6
    functionLinenumber: 285
    functionLinenumberEnd: 350
    functionName: geos::io::WKTReader::readGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 13
    functionsReached:
    - geos::io::WKTReader::isTypeName
    - geos::io::WKTReader::readMultiLineStringText
    - geos::io::WKTReader::readMultiPointText
    - ParseException
    - OrdinateSet::hasZ
    - geos::io::WKTReader::readMultiSurfaceText
    - geos::io::WKTReader::readPolygonText
    - geos::io::WKTReader::readCircularStringText
    - OrdinateSet::hasM
    - geos::io::WKTReader::readOrdinateFlags
    - OrdinateSet::changesAllowed
    - geos::io::WKTReader::readCurvePolygonText
    - geos::io::WKTReader::readCompoundCurveText
    - geos::io::WKTReader::readMultiCurveText
    - geos::io::WKTReader::readLinearRingText
    - geos::io::WKTReader::getNextWord
    - OrdinateSet::createXY
    - createEmptyGeometry
    - geos::io::WKTReader::readPointText
    - geos::io::WKTReader::readMultiPolygonText
    - geos::io::WKTReader::readLineStringText
    - geos::io::WKTReader::readGeometryCollectionText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readGeometryTaggedText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags, const GeometryTypeId* emptyType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:355,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: geos::io::WKTReader::readPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 7
    functionsReached:
    - createPoint
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKTReader::readPointText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:362,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: geos::io::WKTReader::readLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 10
    functionsReached:
    - createLineString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKTReader::readLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:369,1
    - Dst: isRing
      Src: /src/geos/src/io/WKTReader.cpp:370,1
    - Dst: closeRing
      Src: /src/geos/src/io/WKTReader.cpp:371,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: geos::io::WKTReader::readLinearRingText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 7
    functionsReached:
    - closeRing
    - createLinearRing
    - std::move
    - geos::io::WKTReader::getCoordinates
    - isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKTReader::readLinearRingText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getCoordinates
      Src: /src/geos/src/io/WKTReader.cpp:379,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: geos::io::WKTReader::readCircularStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - createCircularString
    - std::move
    - geos::io::WKTReader::getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKTReader::readCircularStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:386,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:388,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:392,1
    - Dst: dynamic_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:393,1
    - Dst: std::unique_ptr<Curve>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:394,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: geos::io::WKTReader::readCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 9
    functionsReached:
    - static_cast<Curve*>
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - std::unique_ptr<Curve>
    - auto::release
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    - geos::io::WKTReader::readLineStringText
    - dynamic_cast<Curve*>
    linkageType: ''
    returnType: std::unique_ptr<Curve>
    signature: std::unique_ptr<Curve> WKTReader::readCurveText(StringTokenizer* tokenizer,
      OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:403,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:405,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:409,1
    - Dst: dynamic_cast<Surface*>
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:410,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: geos::io::WKTReader::readSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - ParseException
    - auto::getGeometryType
    - StringTokenizer*::peekNextToken
    - dynamic_cast<Surface*>
    - auto::get
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTReader::readSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:420,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:422,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:427,1
    - Dst: dynamic_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: auto::get
      Src: /src/geos/src/io/WKTReader.cpp:428,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: auto::release
      Src: /src/geos/src/io/WKTReader.cpp:429,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: auto::getGeometryType
      Src: /src/geos/src/io/WKTReader.cpp:431,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:433,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 417
    functionDepth: 5
    functionLinenumber: 417
    functionLinenumberEnd: 437
    functionName: geos::io::WKTReader::readCompoundCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::emplace_back
    - static_cast<SimpleCurve*>
    - ParseException
    - auto::getGeometryType
    - dynamic_cast<SimpleCurve*>
    - auto::release
    - geos::io::WKTReader::getNextCloserOrComma
    - auto::get
    - geos::io::WKTReader::getNextEmptyOrOpener
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKTReader::readCompoundCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:442,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:444,1
    - Dst: StringTokenizer*::peekNextToken
      Src: /src/geos/src/io/WKTReader.cpp:447,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:451,1
    - Dst: geos::io::WKTReader::getPreciseCoordinate
      Src: /src/geos/src/io/WKTReader.cpp:455,1
    - Dst: auto::add
      Src: /src/geos/src/io/WKTReader.cpp:456,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:457,1
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:461,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::readPointText
      Src: /src/geos/src/io/WKTReader.cpp:470,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:471,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:474,1
    - Dst: StringTokenizer*::getSVal
      Src: /src/geos/src/io/WKTReader.cpp:482,1
    - Dst: StringTokenizer*::getNVal
      Src: /src/geos/src/io/WKTReader.cpp:485,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTReader.cpp:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 507
    functionName: geos::io::WKTReader::readMultiPointText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - std::move
    - std::stringstream::str
    - geos::io::WKTReader::getPreciseCoordinate
    - StringTokenizer*::getNVal
    - geos::io::WKTReader::readPointText
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - StringTokenizer*::peekNextToken
    - std::vector::push_back
    - StringTokenizer*::getSVal
    - ParseException
    - createMultiPoint
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - std::unique_ptr<MultiPoint>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKTReader::readMultiPointText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:512,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:514,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:515,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:516,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:520,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:521,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::readLinearRingText
      Src: /src/geos/src/io/WKTReader.cpp:523,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:524,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: geos::io::WKTReader::readPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 11
    functionsReached:
    - std::move
    - createPolygon
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - geos::io::WKTReader::readLinearRingText
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKTReader::readPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:533,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTReader.cpp:535,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:536,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:537,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:541,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:542,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:544,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:545,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 549
    functionName: geos::io::WKTReader::readCurvePolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKTReader::getNextCloserOrComma
    - std::vector::push_back
    - createCurvePolygon
    - createLinearRing
    - geos::io::WKTReader::getNextEmptyOrOpener
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKTReader::readCurvePolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:554,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:556,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::readLineStringText
      Src: /src/geos/src/io/WKTReader.cpp:561,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:562,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 566
    functionName: geos::io::WKTReader::readMultiLineStringText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::push_back
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readLineStringText
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKTReader::readMultiLineStringText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:571,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:573,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::readCurveText
      Src: /src/geos/src/io/WKTReader.cpp:578,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:579,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 5
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: geos::io::WKTReader::readMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTReader::readCurveText
    - std::move
    - std::vector::push_back
    - createMultiCurve
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKTReader::readMultiCurveText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:588,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:590,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::readPolygonText
      Src: /src/geos/src/io/WKTReader.cpp:595,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:596,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: geos::io::WKTReader::readMultiPolygonText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTReader::readPolygonText
    - std::move
    - std::vector::push_back
    - createMultiPolygon
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKTReader::readMultiPolygonText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:605,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:607,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::readSurfaceText
      Src: /src/geos/src/io/WKTReader.cpp:612,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:613,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 617
    functionName: geos::io::WKTReader::readMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::push_back
    - createMultiSurface
    - geos::io::WKTReader::readSurfaceText
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKTReader::readMultiSurfaceText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTReader::getNextEmptyOrOpener
      Src: /src/geos/src/io/WKTReader.cpp:622,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:624,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::readGeometryTaggedText
      Src: /src/geos/src/io/WKTReader.cpp:629,1
    - Dst: geos::io::WKTReader::getNextCloserOrComma
      Src: /src/geos/src/io/WKTReader.cpp:630,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    - Dst: std::move
      Src: /src/geos/src/io/WKTReader.cpp:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tokenizer
    - ' ordinateFlags'
    argTypes:
    - StringTokenizer*
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 634
    functionName: geos::io::WKTReader::readGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTReader.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::push_back
    - createGeometryCollection
    - geos::io::WKTReader::getNextCloserOrComma
    - geos::io::WKTReader::getNextEmptyOrOpener
    - geos::io::WKTReader::readGeometryTaggedText
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKTReader::readGeometryCollectionText(StringTokenizer*
      tokenizer, OrdinateSet& ordinateFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader(geom::GeometryFactory const& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/WKBReader.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doFixStructure
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::io::WKBReader::setFixStructure
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::setFixStructure(bool doFixStructure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:79,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:80,1
    - Dst: read
      Src: /src/geos/src/io/WKBReader.cpp:83,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:84,1
    - Dst: clear
      Src: /src/geos/src/io/WKBReader.cpp:90,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' is'
    - ' os'
    argTypes:
    - std::istream
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: '&

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - read
    - clear
    - seekg
    - tellg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:157,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:158,1
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:162,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:163,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:164,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:167,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:168,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:170,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:171,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:174,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: geos::io::WKBReader::readHEX
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 24
    functionsReached:
    - static_cast<unsigned char>
    - ParseException
    - geos::io::WKBReader::read
    - ASCIIHexToUChar
    - get
    - eof
    - static_cast<char>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readHEX(std::istream& is)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKBReader.cpp:226,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geomType
    - size
    argTypes:
    - geom::GeometryTypeId
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 229
    functionName: geos::io::WKBReader::minMemSize
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: void
    signature: void WKBReader::minMemSize(geom::GeometryTypeId geomType, uint64_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:235,1
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:236,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:237,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: static_cast<std::streamsize>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - static_cast<std::streamsize>
    - geos::io::WKBReader::read
    - std::vector::size
    - reinterpret_cast<char*>
    - seekg
    - tellg
    - std::vector::data
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(std::istream& is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteOrderDataInStream
      Src: /src/geos/src/io/WKBReader.cpp:248,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - ByteOrderDataInStream
    - geos::io::WKBReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(const unsigned char* buf,
      size_t size)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: readByte
      Src: /src/geos/src/io/WKBReader.cpp:256,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:264,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:267,1
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:270,1
    - Dst: readInt
      Src: /src/geos/src/io/WKBReader.cpp:313,1
    - Dst: geos::io::WKBReader::readPoint
      Src: /src/geos/src/io/WKBReader.cpp:320,1
    - Dst: geos::io::WKBReader::readLineString
      Src: /src/geos/src/io/WKBReader.cpp:323,1
    - Dst: geos::io::WKBReader::readCircularString
      Src: /src/geos/src/io/WKBReader.cpp:326,1
    - Dst: geos::io::WKBReader::readCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:329,1
    - Dst: geos::io::WKBReader::readPolygon
      Src: /src/geos/src/io/WKBReader.cpp:332,1
    - Dst: geos::io::WKBReader::readCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:335,1
    - Dst: geos::io::WKBReader::readMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:338,1
    - Dst: geos::io::WKBReader::readMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:341,1
    - Dst: geos::io::WKBReader::readMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:344,1
    - Dst: geos::io::WKBReader::readGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:347,1
    - Dst: geos::io::WKBReader::readMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:350,1
    - Dst: geos::io::WKBReader::readMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:353,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/io/WKBReader.cpp:361,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 363
    functionName: geos::io::WKBReader::readGeometry
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - ParseException
    - geos::io::WKBReader::readGeometryCollection
    - geos::io::WKBReader::readMultiPolygon
    - setOrder
    - geos::io::WKBReader::readCurvePolygon
    - geos::io::WKBReader::readMultiCurve
    - geos::io::WKBReader::readMultiSurface
    - std::stringstream::str
    - readUnsigned
    - std::unique_ptr::setSRID
    - readInt
    - geos::io::WKBReader::readPoint
    - geos::io::WKBReader::readPolygon
    - geos::io::WKBReader::readMultiPoint
    - readByte
    - geos::io::WKBReader::readMultiLineString
    - geos::io::WKBReader::readCircularString
    - geos::io::WKBReader::readCompoundCurve
    - geos::io::WKBReader::readLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readGeometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:368,1
    - Dst: auto::getAt
      Src: /src/geos/src/io/WKBReader.cpp:371,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: auto::clear
      Src: /src/geos/src/io/WKBReader.cpp:373,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBReader::readPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - auto::clear
    - createPoint
    - auto::getAt
    - std::isnan
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKBReader::readPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:382,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:383,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:387,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: geos::io::WKBReader::readLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - geos::io::WKBReader::minMemSize
    - std::move
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKBReader::readLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:394,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:395,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:399,1
    - Dst: auto::isRing
      Src: /src/geos/src/io/WKBReader.cpp:401,1
    - Dst: auto::closeRing
      Src: /src/geos/src/io/WKBReader.cpp:402,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: geos::io::WKBReader::readLinearRing
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - auto::closeRing
    - createLinearRing
    - geos::io::WKBReader::minMemSize
    - std::move
    - auto::isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKBReader::readLinearRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:410,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:411,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:412,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: geos::io::WKBReader::readCircularString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - createCircularString
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKBReader::readCircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:419,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:420,1
    - Dst: readChild<SimpleCurve>
      Src: /src/geos/src/io/WKBReader.cpp:425,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: geos::io::WKBReader::readCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readUnsigned
    - readChild<SimpleCurve>
    - geos::io::WKBReader::minMemSize
    - std::move
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKBReader::readCompoundCurve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:434,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:435,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:443,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:446,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:452,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 459
    functionName: geos::io::WKBReader::readPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::readLinearRing
    - createLinearRing
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKBReader::readPolygon()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:464,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:465,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:472,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:475,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:480,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: geos::io::WKBReader::readCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readChild<Curve>
    - readUnsigned
    - createCurvePolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKBReader::readCurvePolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:492,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:493,1
    - Dst: readChild<Point>
      Src: /src/geos/src/io/WKBReader.cpp:497,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 501
    functionName: geos::io::WKBReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readUnsigned
    - createMultiPoint
    - geos::io::WKBReader::minMemSize
    - std::move
    - readChild<Point>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKBReader::readMultiPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:506,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:507,1
    - Dst: readChild<LineString>
      Src: /src/geos/src/io/WKBReader.cpp:511,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 515
    functionName: geos::io::WKBReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - createMultiLineString
    - readUnsigned
    - readChild<LineString>
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKBReader::readMultiLineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:520,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:521,1
    - Dst: readChild<Polygon>
      Src: /src/geos/src/io/WKBReader.cpp:525,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 529
    functionName: geos::io::WKBReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readUnsigned
    - readChild<Polygon>
    - createMultiPolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKBReader::readMultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:534,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:535,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:539,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: geos::io::WKBReader::readMultiCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readChild<Curve>
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createMultiCurve
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKBReader::readMultiCurve()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:548,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:549,1
    - Dst: readChild<Surface>
      Src: /src/geos/src/io/WKBReader.cpp:553,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: geos::io::WKBReader::readMultiSurface
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readChild<Surface>
    - readUnsigned
    - createMultiSurface
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKBReader::readMultiSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:562,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:563,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:567,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: geos::io::WKBReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readUnsigned
    - geos::io::WKBReader::readGeometry
    - createGeometryCollection
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKBReader::readGeometryCollection()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:576,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:577,1
    - Dst: geos::io::WKBReader::readCoordinate
      Src: /src/geos/src/io/WKBReader.cpp:581,1
    - Dst: auto::setAt
      Src: /src/geos/src/io/WKBReader.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 596
    functionName: geos::io::WKBReader::readCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - auto::setAt
    - geos::io::WKBReader::readCoordinate
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::minMemSize
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKBReader::readCoordinateSequence(uint32_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPrecisionModel
      Src: /src/geos/src/io/WKBReader.cpp:601,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: geos::io::WKBReader::readCoordinate
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - readDouble
    - makePrecise
    - getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void WKBReader::readCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader(geom::GeometryFactory const& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/WKBReader.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doFixStructure
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::io::WKBReader::setFixStructure
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::setFixStructure(bool doFixStructure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:79,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:80,1
    - Dst: read
      Src: /src/geos/src/io/WKBReader.cpp:83,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:84,1
    - Dst: clear
      Src: /src/geos/src/io/WKBReader.cpp:90,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' is'
    - ' os'
    argTypes:
    - std::istream
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: '&

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - read
    - clear
    - seekg
    - tellg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:157,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:158,1
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:162,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:163,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:164,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:167,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:168,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:170,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:171,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:174,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: geos::io::WKBReader::readHEX
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 24
    functionsReached:
    - static_cast<unsigned char>
    - ParseException
    - geos::io::WKBReader::read
    - ASCIIHexToUChar
    - get
    - eof
    - static_cast<char>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readHEX(std::istream& is)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKBReader.cpp:226,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geomType
    - size
    argTypes:
    - geom::GeometryTypeId
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 229
    functionName: geos::io::WKBReader::minMemSize
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 13
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: void
    signature: void WKBReader::minMemSize(geom::GeometryTypeId geomType, uint64_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:235,1
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:236,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:237,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: static_cast<std::streamsize>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - static_cast<std::streamsize>
    - geos::io::WKBReader::read
    - std::vector::size
    - reinterpret_cast<char*>
    - seekg
    - tellg
    - std::vector::data
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(std::istream& is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteOrderDataInStream
      Src: /src/geos/src/io/WKBReader.cpp:248,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - ByteOrderDataInStream
    - geos::io::WKBReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(const unsigned char* buf,
      size_t size)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: readByte
      Src: /src/geos/src/io/WKBReader.cpp:256,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:264,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:267,1
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:270,1
    - Dst: readInt
      Src: /src/geos/src/io/WKBReader.cpp:313,1
    - Dst: geos::io::WKBReader::readPoint
      Src: /src/geos/src/io/WKBReader.cpp:320,1
    - Dst: geos::io::WKBReader::readLineString
      Src: /src/geos/src/io/WKBReader.cpp:323,1
    - Dst: geos::io::WKBReader::readCircularString
      Src: /src/geos/src/io/WKBReader.cpp:326,1
    - Dst: geos::io::WKBReader::readCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:329,1
    - Dst: geos::io::WKBReader::readPolygon
      Src: /src/geos/src/io/WKBReader.cpp:332,1
    - Dst: geos::io::WKBReader::readCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:335,1
    - Dst: geos::io::WKBReader::readMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:338,1
    - Dst: geos::io::WKBReader::readMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:341,1
    - Dst: geos::io::WKBReader::readMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:344,1
    - Dst: geos::io::WKBReader::readGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:347,1
    - Dst: geos::io::WKBReader::readMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:350,1
    - Dst: geos::io::WKBReader::readMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:353,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/io/WKBReader.cpp:361,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 363
    functionName: geos::io::WKBReader::readGeometry
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - ParseException
    - geos::io::WKBReader::readGeometryCollection
    - geos::io::WKBReader::readMultiPolygon
    - setOrder
    - geos::io::WKBReader::readCurvePolygon
    - geos::io::WKBReader::readMultiCurve
    - geos::io::WKBReader::readMultiSurface
    - std::stringstream::str
    - readUnsigned
    - std::unique_ptr::setSRID
    - readInt
    - geos::io::WKBReader::readPoint
    - geos::io::WKBReader::readPolygon
    - geos::io::WKBReader::readMultiPoint
    - readByte
    - geos::io::WKBReader::readMultiLineString
    - geos::io::WKBReader::readCircularString
    - geos::io::WKBReader::readCompoundCurve
    - geos::io::WKBReader::readLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readGeometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:368,1
    - Dst: auto::getAt
      Src: /src/geos/src/io/WKBReader.cpp:371,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: auto::clear
      Src: /src/geos/src/io/WKBReader.cpp:373,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBReader::readPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - auto::clear
    - createPoint
    - auto::getAt
    - std::isnan
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKBReader::readPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:382,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:383,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:387,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: geos::io::WKBReader::readLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - geos::io::WKBReader::minMemSize
    - std::move
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKBReader::readLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:394,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:395,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:399,1
    - Dst: auto::isRing
      Src: /src/geos/src/io/WKBReader.cpp:401,1
    - Dst: auto::closeRing
      Src: /src/geos/src/io/WKBReader.cpp:402,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: geos::io::WKBReader::readLinearRing
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - auto::closeRing
    - createLinearRing
    - geos::io::WKBReader::minMemSize
    - std::move
    - auto::isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKBReader::readLinearRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:410,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:411,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:412,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: geos::io::WKBReader::readCircularString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - createCircularString
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKBReader::readCircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:419,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:420,1
    - Dst: readChild<SimpleCurve>
      Src: /src/geos/src/io/WKBReader.cpp:425,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: geos::io::WKBReader::readCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readUnsigned
    - readChild<SimpleCurve>
    - geos::io::WKBReader::minMemSize
    - std::move
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKBReader::readCompoundCurve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:434,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:435,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:443,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:446,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:452,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 459
    functionName: geos::io::WKBReader::readPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::readLinearRing
    - createLinearRing
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKBReader::readPolygon()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:464,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:465,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:472,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:475,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:480,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: geos::io::WKBReader::readCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readChild<Curve>
    - readUnsigned
    - createCurvePolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKBReader::readCurvePolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:492,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:493,1
    - Dst: readChild<Point>
      Src: /src/geos/src/io/WKBReader.cpp:497,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 501
    functionName: geos::io::WKBReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readUnsigned
    - createMultiPoint
    - geos::io::WKBReader::minMemSize
    - std::move
    - readChild<Point>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKBReader::readMultiPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:506,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:507,1
    - Dst: readChild<LineString>
      Src: /src/geos/src/io/WKBReader.cpp:511,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 515
    functionName: geos::io::WKBReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - readUnsigned
    - readChild<LineString>
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKBReader::readMultiLineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:520,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:521,1
    - Dst: readChild<Polygon>
      Src: /src/geos/src/io/WKBReader.cpp:525,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 529
    functionName: geos::io::WKBReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readUnsigned
    - readChild<Polygon>
    - createMultiPolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKBReader::readMultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:534,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:535,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:539,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: geos::io::WKBReader::readMultiCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readChild<Curve>
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createMultiCurve
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKBReader::readMultiCurve()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:548,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:549,1
    - Dst: readChild<Surface>
      Src: /src/geos/src/io/WKBReader.cpp:553,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: geos::io::WKBReader::readMultiSurface
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readChild<Surface>
    - readUnsigned
    - createMultiSurface
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKBReader::readMultiSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:562,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:563,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:567,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: geos::io::WKBReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readUnsigned
    - geos::io::WKBReader::readGeometry
    - createGeometryCollection
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKBReader::readGeometryCollection()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:576,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:577,1
    - Dst: geos::io::WKBReader::readCoordinate
      Src: /src/geos/src/io/WKBReader.cpp:581,1
    - Dst: auto::setAt
      Src: /src/geos/src/io/WKBReader.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 596
    functionName: geos::io::WKBReader::readCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 8
    functionsReached:
    - auto::setAt
    - geos::io::WKBReader::readCoordinate
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::minMemSize
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKBReader::readCoordinateSequence(uint32_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPrecisionModel
      Src: /src/geos/src/io/WKBReader.cpp:601,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: geos::io::WKBReader::readCoordinate
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - readDouble
    - makePrecise
    - getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void WKBReader::readCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader(geom::GeometryFactory const& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/WKBReader.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doFixStructure
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::io::WKBReader::setFixStructure
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::setFixStructure(bool doFixStructure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:79,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:80,1
    - Dst: read
      Src: /src/geos/src/io/WKBReader.cpp:83,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:84,1
    - Dst: clear
      Src: /src/geos/src/io/WKBReader.cpp:90,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' is'
    - ' os'
    argTypes:
    - std::istream
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: '&

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - read
    - clear
    - seekg
    - tellg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:157,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:158,1
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:162,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:163,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:164,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:167,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:168,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:170,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:171,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:174,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: geos::io::WKBReader::readHEX
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 24
    functionsReached:
    - static_cast<unsigned char>
    - ParseException
    - geos::io::WKBReader::read
    - ASCIIHexToUChar
    - get
    - eof
    - static_cast<char>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readHEX(std::istream& is)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKBReader.cpp:226,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geomType
    - size
    argTypes:
    - geom::GeometryTypeId
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 229
    functionName: geos::io::WKBReader::minMemSize
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 26
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: void
    signature: void WKBReader::minMemSize(geom::GeometryTypeId geomType, uint64_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:235,1
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:236,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:237,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: static_cast<std::streamsize>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 6
    functionsReached:
    - static_cast<std::streamsize>
    - geos::io::WKBReader::read
    - std::vector::size
    - reinterpret_cast<char*>
    - seekg
    - tellg
    - std::vector::data
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(std::istream& is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteOrderDataInStream
      Src: /src/geos/src/io/WKBReader.cpp:248,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 6
    functionsReached:
    - ByteOrderDataInStream
    - geos::io::WKBReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(const unsigned char* buf,
      size_t size)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: readByte
      Src: /src/geos/src/io/WKBReader.cpp:256,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:264,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:267,1
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:270,1
    - Dst: readInt
      Src: /src/geos/src/io/WKBReader.cpp:313,1
    - Dst: geos::io::WKBReader::readPoint
      Src: /src/geos/src/io/WKBReader.cpp:320,1
    - Dst: geos::io::WKBReader::readLineString
      Src: /src/geos/src/io/WKBReader.cpp:323,1
    - Dst: geos::io::WKBReader::readCircularString
      Src: /src/geos/src/io/WKBReader.cpp:326,1
    - Dst: geos::io::WKBReader::readCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:329,1
    - Dst: geos::io::WKBReader::readPolygon
      Src: /src/geos/src/io/WKBReader.cpp:332,1
    - Dst: geos::io::WKBReader::readCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:335,1
    - Dst: geos::io::WKBReader::readMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:338,1
    - Dst: geos::io::WKBReader::readMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:341,1
    - Dst: geos::io::WKBReader::readMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:344,1
    - Dst: geos::io::WKBReader::readGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:347,1
    - Dst: geos::io::WKBReader::readMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:350,1
    - Dst: geos::io::WKBReader::readMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:353,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/io/WKBReader.cpp:361,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 363
    functionName: geos::io::WKBReader::readGeometry
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 5
    functionsReached:
    - ParseException
    - geos::io::WKBReader::readGeometryCollection
    - geos::io::WKBReader::readMultiPolygon
    - setOrder
    - geos::io::WKBReader::readCurvePolygon
    - geos::io::WKBReader::readMultiCurve
    - geos::io::WKBReader::readMultiSurface
    - std::stringstream::str
    - readUnsigned
    - std::unique_ptr::setSRID
    - readInt
    - geos::io::WKBReader::readPoint
    - geos::io::WKBReader::readPolygon
    - geos::io::WKBReader::readMultiPoint
    - readByte
    - geos::io::WKBReader::readMultiLineString
    - geos::io::WKBReader::readCircularString
    - geos::io::WKBReader::readCompoundCurve
    - geos::io::WKBReader::readLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readGeometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:368,1
    - Dst: auto::getAt
      Src: /src/geos/src/io/WKBReader.cpp:371,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: auto::clear
      Src: /src/geos/src/io/WKBReader.cpp:373,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBReader::readPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - auto::clear
    - createPoint
    - auto::getAt
    - std::isnan
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKBReader::readPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:382,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:383,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:387,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: geos::io::WKBReader::readLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - geos::io::WKBReader::minMemSize
    - std::move
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKBReader::readLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:394,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:395,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:399,1
    - Dst: auto::isRing
      Src: /src/geos/src/io/WKBReader.cpp:401,1
    - Dst: auto::closeRing
      Src: /src/geos/src/io/WKBReader.cpp:402,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: geos::io::WKBReader::readLinearRing
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - auto::closeRing
    - createLinearRing
    - geos::io::WKBReader::minMemSize
    - std::move
    - auto::isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKBReader::readLinearRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:410,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:411,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:412,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: geos::io::WKBReader::readCircularString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - createCircularString
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKBReader::readCircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:419,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:420,1
    - Dst: readChild<SimpleCurve>
      Src: /src/geos/src/io/WKBReader.cpp:425,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: geos::io::WKBReader::readCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readUnsigned
    - readChild<SimpleCurve>
    - geos::io::WKBReader::minMemSize
    - std::move
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKBReader::readCompoundCurve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:434,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:435,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:443,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:446,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:452,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 459
    functionName: geos::io::WKBReader::readPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::readLinearRing
    - createLinearRing
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKBReader::readPolygon()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:464,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:465,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:472,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:475,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:480,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: geos::io::WKBReader::readCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readChild<Curve>
    - readUnsigned
    - createCurvePolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKBReader::readCurvePolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:492,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:493,1
    - Dst: readChild<Point>
      Src: /src/geos/src/io/WKBReader.cpp:497,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 501
    functionName: geos::io::WKBReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readUnsigned
    - createMultiPoint
    - geos::io::WKBReader::minMemSize
    - std::move
    - readChild<Point>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKBReader::readMultiPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:506,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:507,1
    - Dst: readChild<LineString>
      Src: /src/geos/src/io/WKBReader.cpp:511,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 515
    functionName: geos::io::WKBReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - createMultiLineString
    - readUnsigned
    - readChild<LineString>
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKBReader::readMultiLineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:520,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:521,1
    - Dst: readChild<Polygon>
      Src: /src/geos/src/io/WKBReader.cpp:525,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 529
    functionName: geos::io::WKBReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readUnsigned
    - readChild<Polygon>
    - createMultiPolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKBReader::readMultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:534,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:535,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:539,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: geos::io::WKBReader::readMultiCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readChild<Curve>
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createMultiCurve
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKBReader::readMultiCurve()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:548,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:549,1
    - Dst: readChild<Surface>
      Src: /src/geos/src/io/WKBReader.cpp:553,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: geos::io::WKBReader::readMultiSurface
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readChild<Surface>
    - readUnsigned
    - createMultiSurface
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKBReader::readMultiSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:562,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:563,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:567,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: geos::io::WKBReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readUnsigned
    - geos::io::WKBReader::readGeometry
    - createGeometryCollection
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKBReader::readGeometryCollection()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:576,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:577,1
    - Dst: geos::io::WKBReader::readCoordinate
      Src: /src/geos/src/io/WKBReader.cpp:581,1
    - Dst: auto::setAt
      Src: /src/geos/src/io/WKBReader.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 596
    functionName: geos::io::WKBReader::readCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 12
    functionsReached:
    - auto::setAt
    - geos::io::WKBReader::readCoordinate
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::minMemSize
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKBReader::readCoordinateSequence(uint32_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPrecisionModel
      Src: /src/geos/src/io/WKBReader.cpp:601,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: geos::io::WKBReader::readCoordinate
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - readDouble
    - makePrecise
    - getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void WKBReader::readCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader(geom::GeometryFactory const& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/WKBReader.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: geos::io::WKBReader::WKBReader
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void WKBReader::WKBReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - doFixStructure
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::io::WKBReader::setFixStructure
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBReader::setFixStructure(bool doFixStructure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:79,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:80,1
    - Dst: read
      Src: /src/geos/src/io/WKBReader.cpp:83,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:84,1
    - Dst: clear
      Src: /src/geos/src/io/WKBReader.cpp:90,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' is'
    - ' os'
    argTypes:
    - std::istream
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: '&

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - read
    - clear
    - seekg
    - tellg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      WKBReader::printHEX(std::istream& is, std::ostream& os)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - val
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: geos::io::ASCIIHexToUChar
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 0
    functionsReached:
    - ParseException
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ASCIIHexToUChar(char val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:157,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:158,1
    - Dst: get
      Src: /src/geos/src/io/WKBReader.cpp:162,1
    - Dst: eof
      Src: /src/geos/src/io/WKBReader.cpp:163,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:164,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:167,1
    - Dst: static_cast<char>
      Src: /src/geos/src/io/WKBReader.cpp:168,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:170,1
    - Dst: ASCIIHexToUChar
      Src: /src/geos/src/io/WKBReader.cpp:171,1
    - Dst: static_cast<unsigned char>
      Src: /src/geos/src/io/WKBReader.cpp:174,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 185
    functionName: geos::io::WKBReader::readHEX
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 24
    functionsReached:
    - static_cast<unsigned char>
    - ParseException
    - geos::io::WKBReader::read
    - ASCIIHexToUChar
    - get
    - eof
    - static_cast<char>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readHEX(std::istream& is)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKBReader.cpp:226,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geomType
    - size
    argTypes:
    - geom::GeometryTypeId
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 229
    functionName: geos::io::WKBReader::minMemSize
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 39
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: void
    signature: void WKBReader::minMemSize(geom::GeometryTypeId geomType, uint64_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:235,1
    - Dst: tellg
      Src: /src/geos/src/io/WKBReader.cpp:236,1
    - Dst: seekg
      Src: /src/geos/src/io/WKBReader.cpp:237,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: static_cast<std::streamsize>
      Src: /src/geos/src/io/WKBReader.cpp:240,1
    - Dst: geos::io::WKBReader::read
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::data
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/WKBReader.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' is'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 8
    functionsReached:
    - static_cast<std::streamsize>
    - geos::io::WKBReader::read
    - std::vector::size
    - reinterpret_cast<char*>
    - seekg
    - tellg
    - std::vector::data
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(std::istream& is)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteOrderDataInStream
      Src: /src/geos/src/io/WKBReader.cpp:248,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: geos::io::WKBReader::read
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 8
    functionsReached:
    - ByteOrderDataInStream
    - geos::io::WKBReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::read(const unsigned char* buf,
      size_t size)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: readByte
      Src: /src/geos/src/io/WKBReader.cpp:256,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:264,1
    - Dst: setOrder
      Src: /src/geos/src/io/WKBReader.cpp:267,1
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:270,1
    - Dst: readInt
      Src: /src/geos/src/io/WKBReader.cpp:313,1
    - Dst: geos::io::WKBReader::readPoint
      Src: /src/geos/src/io/WKBReader.cpp:320,1
    - Dst: geos::io::WKBReader::readLineString
      Src: /src/geos/src/io/WKBReader.cpp:323,1
    - Dst: geos::io::WKBReader::readCircularString
      Src: /src/geos/src/io/WKBReader.cpp:326,1
    - Dst: geos::io::WKBReader::readCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:329,1
    - Dst: geos::io::WKBReader::readPolygon
      Src: /src/geos/src/io/WKBReader.cpp:332,1
    - Dst: geos::io::WKBReader::readCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:335,1
    - Dst: geos::io::WKBReader::readMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:338,1
    - Dst: geos::io::WKBReader::readMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:341,1
    - Dst: geos::io::WKBReader::readMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:344,1
    - Dst: geos::io::WKBReader::readGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:347,1
    - Dst: geos::io::WKBReader::readMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:350,1
    - Dst: geos::io::WKBReader::readMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:353,1
    - Dst: ParseException
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKBReader.cpp:358,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/io/WKBReader.cpp:361,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 363
    functionName: geos::io::WKBReader::readGeometry
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 7
    functionsReached:
    - ParseException
    - geos::io::WKBReader::readGeometryCollection
    - geos::io::WKBReader::readMultiPolygon
    - setOrder
    - geos::io::WKBReader::readCurvePolygon
    - geos::io::WKBReader::readMultiCurve
    - geos::io::WKBReader::readMultiSurface
    - std::stringstream::str
    - readUnsigned
    - std::unique_ptr::setSRID
    - readInt
    - geos::io::WKBReader::readPoint
    - geos::io::WKBReader::readPolygon
    - geos::io::WKBReader::readMultiPoint
    - readByte
    - geos::io::WKBReader::readMultiLineString
    - geos::io::WKBReader::readCircularString
    - geos::io::WKBReader::readCompoundCurve
    - geos::io::WKBReader::readLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBReader::readGeometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:368,1
    - Dst: auto::getAt
      Src: /src/geos/src/io/WKBReader.cpp:371,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: std::isnan
      Src: /src/geos/src/io/WKBReader.cpp:372,1
    - Dst: auto::clear
      Src: /src/geos/src/io/WKBReader.cpp:373,1
    - Dst: createPoint
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBReader::readPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - auto::clear
    - createPoint
    - auto::getAt
    - std::isnan
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> WKBReader::readPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:382,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:383,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:387,1
    - Dst: createLineString
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: geos::io::WKBReader::readLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - geos::io::WKBReader::minMemSize
    - std::move
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> WKBReader::readLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:394,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:395,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:399,1
    - Dst: auto::isRing
      Src: /src/geos/src/io/WKBReader.cpp:401,1
    - Dst: auto::closeRing
      Src: /src/geos/src/io/WKBReader.cpp:402,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: geos::io::WKBReader::readLinearRing
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - auto::closeRing
    - createLinearRing
    - geos::io::WKBReader::minMemSize
    - std::move
    - auto::isRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> WKBReader::readLinearRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:410,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:411,1
    - Dst: geos::io::WKBReader::readCoordinateSequence
      Src: /src/geos/src/io/WKBReader.cpp:412,1
    - Dst: createCircularString
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: geos::io::WKBReader::readCircularString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKBReader::readCoordinateSequence
    - readUnsigned
    - createCircularString
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> WKBReader::readCircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:419,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:420,1
    - Dst: readChild<SimpleCurve>
      Src: /src/geos/src/io/WKBReader.cpp:425,1
    - Dst: createCompoundCurve
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: geos::io::WKBReader::readCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readUnsigned
    - readChild<SimpleCurve>
    - geos::io::WKBReader::minMemSize
    - std::move
    - createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> WKBReader::readCompoundCurve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:434,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:435,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:443,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:444,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:446,1
    - Dst: geos::io::WKBReader::readLinearRing
      Src: /src/geos/src/io/WKBReader.cpp:452,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:455,1
    - Dst: createPolygon
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 459
    functionName: geos::io::WKBReader::readPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::readLinearRing
    - createLinearRing
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> WKBReader::readPolygon()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:464,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:465,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:472,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:475,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:480,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:483,1
    - Dst: createCurvePolygon
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: geos::io::WKBReader::readCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readChild<Curve>
    - readUnsigned
    - createCurvePolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: std::unique_ptr<CurvePolygon> WKBReader::readCurvePolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:492,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:493,1
    - Dst: readChild<Point>
      Src: /src/geos/src/io/WKBReader.cpp:497,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 501
    functionName: geos::io::WKBReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readUnsigned
    - createMultiPoint
    - geos::io::WKBReader::minMemSize
    - std::move
    - readChild<Point>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> WKBReader::readMultiPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:506,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:507,1
    - Dst: readChild<LineString>
      Src: /src/geos/src/io/WKBReader.cpp:511,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 515
    functionName: geos::io::WKBReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - createMultiLineString
    - readUnsigned
    - readChild<LineString>
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> WKBReader::readMultiLineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:520,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:521,1
    - Dst: readChild<Polygon>
      Src: /src/geos/src/io/WKBReader.cpp:525,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 529
    functionName: geos::io::WKBReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readUnsigned
    - readChild<Polygon>
    - createMultiPolygon
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> WKBReader::readMultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:534,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:535,1
    - Dst: readChild<Curve>
      Src: /src/geos/src/io/WKBReader.cpp:539,1
    - Dst: createMultiCurve
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: geos::io::WKBReader::readMultiCurve
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readChild<Curve>
    - geos::io::WKBReader::minMemSize
    - readUnsigned
    - createMultiCurve
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> WKBReader::readMultiCurve()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:548,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:549,1
    - Dst: readChild<Surface>
      Src: /src/geos/src/io/WKBReader.cpp:553,1
    - Dst: createMultiSurface
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 557
    functionName: geos::io::WKBReader::readMultiSurface
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readChild<Surface>
    - readUnsigned
    - createMultiSurface
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> WKBReader::readMultiSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUnsigned
      Src: /src/geos/src/io/WKBReader.cpp:562,1
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:563,1
    - Dst: geos::io::WKBReader::readGeometry
      Src: /src/geos/src/io/WKBReader.cpp:567,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    - Dst: std::move
      Src: /src/geos/src/io/WKBReader.cpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: geos::io::WKBReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readUnsigned
    - geos::io::WKBReader::readGeometry
    - createGeometryCollection
    - geos::io::WKBReader::minMemSize
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> WKBReader::readGeometryCollection()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBReader::minMemSize
      Src: /src/geos/src/io/WKBReader.cpp:576,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/WKBReader.cpp:577,1
    - Dst: geos::io::WKBReader::readCoordinate
      Src: /src/geos/src/io/WKBReader.cpp:581,1
    - Dst: auto::setAt
      Src: /src/geos/src/io/WKBReader.cpp:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 596
    functionName: geos::io::WKBReader::readCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 16
    functionsReached:
    - auto::setAt
    - geos::io::WKBReader::readCoordinate
    - detail::make_unique<CoordinateSequence>
    - geos::io::WKBReader::minMemSize
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> WKBReader::readCoordinateSequence(uint32_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPrecisionModel
      Src: /src/geos/src/io/WKBReader.cpp:601,1
    - Dst: makePrecise
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:605,1
    - Dst: readDouble
      Src: /src/geos/src/io/WKBReader.cpp:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: geos::io::WKBReader::readCoordinate
    functionSourceFile: /src/geos/src/io/WKBReader.cpp
    functionUses: 4
    functionsReached:
    - readDouble
    - makePrecise
    - getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void WKBReader::readCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/GeoJSONReader.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader(const geom::GeometryFactory& gf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:50,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:51,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:53,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:56,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:59,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::io::GeoJSONReader::read
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeoJSONReader::read(const std::string&
      geoJsonText) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:70,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:71,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:73,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:77,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:81,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: geos::io::GeoJSONReader::readFeatures
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeature
    - std::move
    - geos::io::GeoJSONReader::readFeatureCollection
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: GeoJSONFeatureCollection GeoJSONReader::readFeatures(const std::string&
      geoJsonText) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:92,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::io::GeoJSONReader::readFeatureForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:99,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:100,1
    - Dst: contains
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    - Dst: geos::io::GeoJSONReader::readProperties
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::io::GeoJSONReader::readFeature
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readProperties
    - geos::io::GeoJSONReader::readGeometry
    - contains
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature GeoJSONReader::readFeature(const geos_nlohmann::json&
      j) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:115,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::io::GeoJSONReader::readProperties
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::GeoJSONReader::readProperty
    - items
    - key
    - std::move
    - value
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: "std::map<std::string, GeoJSONValue> GeoJSONReader::readProperties(\n
      \   const geos_nlohmann::json& p) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/geos/src/io/GeoJSONReader.cpp:124,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:125,1
    - Dst: is_number
      Src: /src/geos/src/io/GeoJSONReader.cpp:127,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:128,1
    - Dst: is_boolean
      Src: /src/geos/src/io/GeoJSONReader.cpp:130,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:131,1
    - Dst: is_array
      Src: /src/geos/src/io/GeoJSONReader.cpp:133,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:136,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONReader.cpp:141,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:143,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: geos::io::GeoJSONReader::readProperty
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::reserve
    - is_boolean
    - size
    - is_number
    - geos::io::GeoJSONReader::readProperty
    - items
    - is_object
    - is_array
    - get
    - key
    - std::vector::push_back
    - is_string
    - value
    linkageType: ''
    returnType: GeoJSONValue
    signature: "GeoJSONValue GeoJSONReader::readProperty(\n    const geos_nlohmann::json&
      value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:156,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:160,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureCollectionForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:169,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: geos::io::GeoJSONReader::readFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeature
    - std::vector::push_back
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: "GeoJSONFeatureCollection GeoJSONReader::readFeatureCollection(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:182,1
    - Dst: geos::io::GeoJSONReader::readPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:184,1
    - Dst: geos::io::GeoJSONReader::readLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:187,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:190,1
    - Dst: geos::io::GeoJSONReader::readMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:193,1
    - Dst: geos::io::GeoJSONReader::readMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:196,1
    - Dst: geos::io::GeoJSONReader::readMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:199,1
    - Dst: geos::io::GeoJSONReader::readGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONReader::readGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::GeoJSONReader::readMultiLineString
    - geos::io::GeoJSONReader::readPolygon
    - geos::io::GeoJSONReader::readGeometryCollection
    - at
    - geos::io::GeoJSONReader::readMultiPoint
    - geos::io::GeoJSONReader::readPoint
    - geos::io::GeoJSONReader::readLineString
    - geos::io::GeoJSONReader::readMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readGeometry(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:212,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:213,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:215,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:218,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: geos::io::GeoJSONReader::readCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: geom::Coordinate
    signature: "geom::Coordinate GeoJSONReader::readCoordinate(\n    const std::vector<double>&
      coords) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:229,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:230,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:231,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:233,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:234,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:237,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONReader::readPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - ParseException
    - std::unique_ptr<geom::Point>
    linkageType: ''
    returnType: std::unique_ptr<geom::Point>
    signature: "std::unique_ptr<geom::Point> GeoJSONReader::readPoint(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:245,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:247,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:250,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:251,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONReader::readLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - std::any_of
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - auto::reserve
    - at
    - detail::make_unique<CoordinateSequence>
    - createLineString
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::LineString>
    signature: "std::unique_ptr<geom::LineString> GeoJSONReader::readLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:259,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:271,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:274,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:275,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:285,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/GeoJSONReader.cpp:287,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' polygonCoords'
    argTypes:
    - std::vector<std::vector<std::vector<double>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 293
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - createPolygon
    - std::vector::size
    - std::vector::push_back
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      std::vector<std::vector<std::vector<double>>>& polygonCoords) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:298,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:302,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: geos::io::GeoJSONReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - createMultiPoint
    - std::unique_ptr<geom::Point>
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPoint>
    signature: "std::unique_ptr<geom::MultiPoint> GeoJSONReader::readMultiPoint(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:311,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:316,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:319,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:320,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - createMultiLineString
    - std::move
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createLineString
    - std::vector::push_back
    - detail::make_unique<geom::CoordinateSequence>
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: "std::unique_ptr<geom::MultiLineString> GeoJSONReader::readMultiLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:330,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: geos::io::GeoJSONReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readPolygon
    - at
    - createMultiPolygon
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> GeoJSONReader::readMultiPolygon(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:342,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:346,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: geos::io::GeoJSONReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 1
    functionsReached:
    - geos::io::GeoJSONReader::readGeometry
    - std::vector::reserve
    - size
    - std::move
    - at
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> GeoJSONReader::readGeometryCollection(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/GeoJSONReader.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader(const geom::GeometryFactory& gf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:50,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:51,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:53,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:56,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:59,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::io::GeoJSONReader::read
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeoJSONReader::read(const std::string&
      geoJsonText) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:70,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:71,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:73,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:77,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:81,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: geos::io::GeoJSONReader::readFeatures
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeature
    - std::move
    - geos::io::GeoJSONReader::readFeatureCollection
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: GeoJSONFeatureCollection GeoJSONReader::readFeatures(const std::string&
      geoJsonText) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:92,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::io::GeoJSONReader::readFeatureForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:99,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:100,1
    - Dst: contains
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    - Dst: geos::io::GeoJSONReader::readProperties
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::io::GeoJSONReader::readFeature
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readProperties
    - geos::io::GeoJSONReader::readGeometry
    - contains
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature GeoJSONReader::readFeature(const geos_nlohmann::json&
      j) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:115,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::io::GeoJSONReader::readProperties
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::GeoJSONReader::readProperty
    - items
    - key
    - std::move
    - value
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: "std::map<std::string, GeoJSONValue> GeoJSONReader::readProperties(\n
      \   const geos_nlohmann::json& p) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/geos/src/io/GeoJSONReader.cpp:124,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:125,1
    - Dst: is_number
      Src: /src/geos/src/io/GeoJSONReader.cpp:127,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:128,1
    - Dst: is_boolean
      Src: /src/geos/src/io/GeoJSONReader.cpp:130,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:131,1
    - Dst: is_array
      Src: /src/geos/src/io/GeoJSONReader.cpp:133,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:136,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONReader.cpp:141,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:143,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: geos::io::GeoJSONReader::readProperty
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::reserve
    - is_boolean
    - size
    - is_number
    - geos::io::GeoJSONReader::readProperty
    - items
    - is_object
    - is_array
    - get
    - key
    - std::vector::push_back
    - is_string
    - value
    linkageType: ''
    returnType: GeoJSONValue
    signature: "GeoJSONValue GeoJSONReader::readProperty(\n    const geos_nlohmann::json&
      value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:156,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:160,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureCollectionForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:169,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: geos::io::GeoJSONReader::readFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeature
    - std::vector::push_back
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: "GeoJSONFeatureCollection GeoJSONReader::readFeatureCollection(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:182,1
    - Dst: geos::io::GeoJSONReader::readPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:184,1
    - Dst: geos::io::GeoJSONReader::readLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:187,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:190,1
    - Dst: geos::io::GeoJSONReader::readMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:193,1
    - Dst: geos::io::GeoJSONReader::readMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:196,1
    - Dst: geos::io::GeoJSONReader::readMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:199,1
    - Dst: geos::io::GeoJSONReader::readGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONReader::readGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 9
    functionsReached:
    - geos::io::GeoJSONReader::readMultiLineString
    - geos::io::GeoJSONReader::readPolygon
    - geos::io::GeoJSONReader::readGeometryCollection
    - at
    - geos::io::GeoJSONReader::readMultiPoint
    - geos::io::GeoJSONReader::readPoint
    - geos::io::GeoJSONReader::readLineString
    - geos::io::GeoJSONReader::readMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readGeometry(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:212,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:213,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:215,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:218,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: geos::io::GeoJSONReader::readCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 5
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: geom::Coordinate
    signature: "geom::Coordinate GeoJSONReader::readCoordinate(\n    const std::vector<double>&
      coords) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:229,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:230,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:231,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:233,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:234,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:237,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONReader::readPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - ParseException
    - std::unique_ptr<geom::Point>
    linkageType: ''
    returnType: std::unique_ptr<geom::Point>
    signature: "std::unique_ptr<geom::Point> GeoJSONReader::readPoint(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:245,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:247,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:250,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:251,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONReader::readLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - std::any_of
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - auto::reserve
    - at
    - detail::make_unique<CoordinateSequence>
    - createLineString
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::LineString>
    signature: "std::unique_ptr<geom::LineString> GeoJSONReader::readLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:259,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 5
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:271,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:274,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:275,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:285,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/GeoJSONReader.cpp:287,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' polygonCoords'
    argTypes:
    - std::vector<std::vector<std::vector<double>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 293
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 5
    functionsReached:
    - auto::add
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - createPolygon
    - std::vector::size
    - std::vector::push_back
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      std::vector<std::vector<std::vector<double>>>& polygonCoords) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:298,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:302,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: geos::io::GeoJSONReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - createMultiPoint
    - std::unique_ptr<geom::Point>
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPoint>
    signature: "std::unique_ptr<geom::MultiPoint> GeoJSONReader::readMultiPoint(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:311,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:316,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:319,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:320,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - createMultiLineString
    - std::move
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createLineString
    - std::vector::push_back
    - detail::make_unique<geom::CoordinateSequence>
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: "std::unique_ptr<geom::MultiLineString> GeoJSONReader::readMultiLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:330,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: geos::io::GeoJSONReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readPolygon
    - at
    - createMultiPolygon
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> GeoJSONReader::readMultiPolygon(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:342,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:346,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: geos::io::GeoJSONReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 2
    functionsReached:
    - geos::io::GeoJSONReader::readGeometry
    - std::vector::reserve
    - size
    - std::move
    - at
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> GeoJSONReader::readGeometryCollection(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/GeoJSONReader.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader(const geom::GeometryFactory& gf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:50,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:51,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:53,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:56,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:59,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::io::GeoJSONReader::read
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeoJSONReader::read(const std::string&
      geoJsonText) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:70,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:71,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:73,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:77,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:81,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: geos::io::GeoJSONReader::readFeatures
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeature
    - std::move
    - geos::io::GeoJSONReader::readFeatureCollection
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: GeoJSONFeatureCollection GeoJSONReader::readFeatures(const std::string&
      geoJsonText) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:92,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::io::GeoJSONReader::readFeatureForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 5
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:99,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:100,1
    - Dst: contains
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    - Dst: geos::io::GeoJSONReader::readProperties
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::io::GeoJSONReader::readFeature
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 5
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readProperties
    - geos::io::GeoJSONReader::readGeometry
    - contains
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature GeoJSONReader::readFeature(const geos_nlohmann::json&
      j) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:115,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::io::GeoJSONReader::readProperties
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::GeoJSONReader::readProperty
    - items
    - key
    - std::move
    - value
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: "std::map<std::string, GeoJSONValue> GeoJSONReader::readProperties(\n
      \   const geos_nlohmann::json& p) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/geos/src/io/GeoJSONReader.cpp:124,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:125,1
    - Dst: is_number
      Src: /src/geos/src/io/GeoJSONReader.cpp:127,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:128,1
    - Dst: is_boolean
      Src: /src/geos/src/io/GeoJSONReader.cpp:130,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:131,1
    - Dst: is_array
      Src: /src/geos/src/io/GeoJSONReader.cpp:133,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:136,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONReader.cpp:141,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:143,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: geos::io::GeoJSONReader::readProperty
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - std::vector::reserve
    - is_boolean
    - size
    - is_number
    - geos::io::GeoJSONReader::readProperty
    - items
    - is_object
    - is_array
    - get
    - key
    - std::vector::push_back
    - is_string
    - value
    linkageType: ''
    returnType: GeoJSONValue
    signature: "GeoJSONValue GeoJSONReader::readProperty(\n    const geos_nlohmann::json&
      value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:156,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:160,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureCollectionForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:169,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: geos::io::GeoJSONReader::readFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeature
    - std::vector::push_back
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: "GeoJSONFeatureCollection GeoJSONReader::readFeatureCollection(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:182,1
    - Dst: geos::io::GeoJSONReader::readPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:184,1
    - Dst: geos::io::GeoJSONReader::readLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:187,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:190,1
    - Dst: geos::io::GeoJSONReader::readMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:193,1
    - Dst: geos::io::GeoJSONReader::readMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:196,1
    - Dst: geos::io::GeoJSONReader::readMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:199,1
    - Dst: geos::io::GeoJSONReader::readGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONReader::readGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 14
    functionsReached:
    - geos::io::GeoJSONReader::readMultiLineString
    - geos::io::GeoJSONReader::readPolygon
    - geos::io::GeoJSONReader::readGeometryCollection
    - at
    - geos::io::GeoJSONReader::readMultiPoint
    - geos::io::GeoJSONReader::readPoint
    - geos::io::GeoJSONReader::readLineString
    - geos::io::GeoJSONReader::readMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readGeometry(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:212,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:213,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:215,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:218,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: geos::io::GeoJSONReader::readCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 10
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: geom::Coordinate
    signature: "geom::Coordinate GeoJSONReader::readCoordinate(\n    const std::vector<double>&
      coords) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:229,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:230,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:231,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:233,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:234,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:237,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONReader::readPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - ParseException
    - std::unique_ptr<geom::Point>
    linkageType: ''
    returnType: std::unique_ptr<geom::Point>
    signature: "std::unique_ptr<geom::Point> GeoJSONReader::readPoint(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:245,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:247,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:250,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:251,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONReader::readLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - std::any_of
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - auto::reserve
    - at
    - detail::make_unique<CoordinateSequence>
    - createLineString
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::LineString>
    signature: "std::unique_ptr<geom::LineString> GeoJSONReader::readLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:259,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 8
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:271,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:274,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:275,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:285,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/GeoJSONReader.cpp:287,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' polygonCoords'
    argTypes:
    - std::vector<std::vector<std::vector<double>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 293
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 8
    functionsReached:
    - auto::add
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - createPolygon
    - std::vector::size
    - std::vector::push_back
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      std::vector<std::vector<std::vector<double>>>& polygonCoords) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:298,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:302,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: geos::io::GeoJSONReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - createMultiPoint
    - std::unique_ptr<geom::Point>
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPoint>
    signature: "std::unique_ptr<geom::MultiPoint> GeoJSONReader::readMultiPoint(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:311,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:316,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:319,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:320,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - createMultiLineString
    - std::move
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createLineString
    - std::vector::push_back
    - detail::make_unique<geom::CoordinateSequence>
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: "std::unique_ptr<geom::MultiLineString> GeoJSONReader::readMultiLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:330,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: geos::io::GeoJSONReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readPolygon
    - at
    - createMultiPolygon
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> GeoJSONReader::readMultiPolygon(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:342,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:346,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: geos::io::GeoJSONReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 3
    functionsReached:
    - geos::io::GeoJSONReader::readGeometry
    - std::vector::reserve
    - size
    - std::move
    - at
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> GeoJSONReader::readGeometryCollection(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/io/GeoJSONReader.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: geos::io::GeoJSONReader::GeoJSONReader
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONReader::GeoJSONReader(const geom::GeometryFactory& gf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:50,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:51,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:53,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:56,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:59,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::io::GeoJSONReader::read
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeoJSONReader::read(const std::string&
      geoJsonText) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::parse
      Src: /src/geos/src/io/GeoJSONReader.cpp:70,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:71,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:73,1
    - Dst: geos::io::GeoJSONReader::readFeatureCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:77,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:81,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    - Dst: what
      Src: /src/geos/src/io/GeoJSONReader.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' geoJsonText'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: geos::io::GeoJSONReader::readFeatures
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 0
    functionsReached:
    - what
    - geos::io::GeoJSONReader::readGeometry
    - at
    - ParseException
    - Test::parse
    - geos::io::GeoJSONReader::readFeature
    - std::move
    - geos::io::GeoJSONReader::readFeatureCollection
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: GeoJSONFeatureCollection GeoJSONReader::readFeatures(const std::string&
      geoJsonText) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:92,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::io::GeoJSONReader::readFeatureForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 7
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:99,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:100,1
    - Dst: contains
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:103,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:104,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:105,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    - Dst: geos::io::GeoJSONReader::readProperties
      Src: /src/geos/src/io/GeoJSONReader.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::io::GeoJSONReader::readFeature
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 7
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readProperties
    - geos::io::GeoJSONReader::readGeometry
    - contains
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature GeoJSONReader::readFeature(const geos_nlohmann::json&
      j) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:115,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::io::GeoJSONReader::readProperties
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::GeoJSONReader::readProperty
    - items
    - key
    - std::move
    - value
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: "std::map<std::string, GeoJSONValue> GeoJSONReader::readProperties(\n
      \   const geos_nlohmann::json& p) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/geos/src/io/GeoJSONReader.cpp:124,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:125,1
    - Dst: is_number
      Src: /src/geos/src/io/GeoJSONReader.cpp:127,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:128,1
    - Dst: is_boolean
      Src: /src/geos/src/io/GeoJSONReader.cpp:130,1
    - Dst: get
      Src: /src/geos/src/io/GeoJSONReader.cpp:131,1
    - Dst: is_array
      Src: /src/geos/src/io/GeoJSONReader.cpp:133,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:135,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:136,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:137,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONReader.cpp:141,1
    - Dst: items
      Src: /src/geos/src/io/GeoJSONReader.cpp:143,1
    - Dst: key
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: geos::io::GeoJSONReader::readProperty
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    - Dst: value
      Src: /src/geos/src/io/GeoJSONReader.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: geos::io::GeoJSONReader::readProperty
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - std::vector::reserve
    - is_boolean
    - size
    - is_number
    - geos::io::GeoJSONReader::readProperty
    - items
    - is_object
    - is_array
    - get
    - key
    - std::vector::push_back
    - is_string
    - value
    linkageType: ''
    returnType: GeoJSONValue
    signature: "GeoJSONValue GeoJSONReader::readProperty(\n    const geos_nlohmann::json&
      value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:156,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:158,1
    - Dst: geos::io::GeoJSONReader::readFeatureForGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:160,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:161,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: geos::io::GeoJSONReader::readFeatureCollectionForGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeatureForGeometry
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readFeatureCollectionForGeometry(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:169,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: geos::io::GeoJSONReader::readFeature
      Src: /src/geos/src/io/GeoJSONReader.cpp:173,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: geos::io::GeoJSONReader::readFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - at
    - geos::io::GeoJSONReader::readFeature
    - std::vector::push_back
    linkageType: ''
    returnType: GeoJSONFeatureCollection
    signature: "GeoJSONFeatureCollection GeoJSONReader::readFeatureCollection(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:182,1
    - Dst: geos::io::GeoJSONReader::readPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:184,1
    - Dst: geos::io::GeoJSONReader::readLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:187,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:190,1
    - Dst: geos::io::GeoJSONReader::readMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:193,1
    - Dst: geos::io::GeoJSONReader::readMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:196,1
    - Dst: geos::io::GeoJSONReader::readMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:199,1
    - Dst: geos::io::GeoJSONReader::readGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONReader::readGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 19
    functionsReached:
    - geos::io::GeoJSONReader::readMultiLineString
    - geos::io::GeoJSONReader::readPolygon
    - geos::io::GeoJSONReader::readGeometryCollection
    - at
    - geos::io::GeoJSONReader::readMultiPoint
    - geos::io::GeoJSONReader::readPoint
    - geos::io::GeoJSONReader::readLineString
    - geos::io::GeoJSONReader::readMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> GeoJSONReader::readGeometry(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:212,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:213,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:215,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:218,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: geos::io::GeoJSONReader::readCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 15
    functionsReached:
    - size
    - ParseException
    linkageType: ''
    returnType: geom::Coordinate
    signature: "geom::Coordinate GeoJSONReader::readCoordinate(\n    const std::vector<double>&
      coords) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:229,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:230,1
    - Dst: ParseException
      Src: /src/geos/src/io/GeoJSONReader.cpp:231,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:233,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:234,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:237,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONReader::readPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - ParseException
    - std::unique_ptr<geom::Point>
    linkageType: ''
    returnType: std::unique_ptr<geom::Point>
    signature: "std::unique_ptr<geom::Point> GeoJSONReader::readPoint(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:245,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:246,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:247,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:248,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:250,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:251,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONReader::readLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - std::any_of
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - auto::reserve
    - at
    - detail::make_unique<CoordinateSequence>
    - createLineString
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::LineString>
    signature: "std::unique_ptr<geom::LineString> GeoJSONReader::readLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:259,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 11
    functionsReached:
    - at
    - geos::io::GeoJSONReader::readPolygon
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      geos_nlohmann::json& j) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:268,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:270,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:271,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:272,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:274,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:275,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:278,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createLinearRing
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:281,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:285,1
    - Dst: std::vector::size
      Src: /src/geos/src/io/GeoJSONReader.cpp:287,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:288,1
    - Dst: createPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' polygonCoords'
    argTypes:
    - std::vector<std::vector<std::vector<double>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 293
    functionName: geos::io::GeoJSONReader::readPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 11
    functionsReached:
    - auto::add
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - createPolygon
    - std::vector::size
    - std::vector::push_back
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: "std::unique_ptr<geom::Polygon> GeoJSONReader::readPolygon(\n    const
      std::vector<std::vector<std::vector<double>>>& polygonCoords) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:298,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:300,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:302,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: std::unique_ptr<geom::Point>
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:303,1
    - Dst: createMultiPoint
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: geos::io::GeoJSONReader::readMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createPoint
    - createMultiPoint
    - std::unique_ptr<geom::Point>
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPoint>
    signature: "std::unique_ptr<geom::MultiPoint> GeoJSONReader::readMultiPoint(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:311,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:313,1
    - Dst: std::any_of
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: begin
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: end
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:315,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/io/GeoJSONReader.cpp:316,1
    - Dst: auto::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:317,1
    - Dst: geos::io::GeoJSONReader::readCoordinate
      Src: /src/geos/src/io/GeoJSONReader.cpp:319,1
    - Dst: auto::add
      Src: /src/geos/src/io/GeoJSONReader.cpp:320,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:322,1
    - Dst: createMultiLineString
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONReader::readMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - createMultiLineString
    - std::move
    - std::vector::reserve
    - size
    - std::any_of
    - auto::reserve
    - geos::io::GeoJSONReader::readCoordinate
    - at
    - createLineString
    - std::vector::push_back
    - detail::make_unique<geom::CoordinateSequence>
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: "std::unique_ptr<geom::MultiLineString> GeoJSONReader::readMultiLineString(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:330,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:332,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: geos::io::GeoJSONReader::readPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:334,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: geos::io::GeoJSONReader::readMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::reserve
    - size
    - geos::io::GeoJSONReader::readPolygon
    - at
    - createMultiPolygon
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> GeoJSONReader::readMultiPolygon(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/geos/src/io/GeoJSONReader.cpp:342,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSONReader.cpp:344,1
    - Dst: geos::io::GeoJSONReader::readGeometry
      Src: /src/geos/src/io/GeoJSONReader.cpp:346,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:347,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSONReader.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - geos_nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: geos::io::GeoJSONReader::readGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONReader.cpp
    functionUses: 4
    functionsReached:
    - geos::io::GeoJSONReader::readGeometry
    - std::vector::reserve
    - size
    - std::move
    - at
    - createGeometryCollection
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> GeoJSONReader::readGeometryCollection(\n
      \   const geos_nlohmann::json& j) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: geos::io::ByteOrderValues::getInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t ByteOrderValues::getInt(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: geos::io::ByteOrderValues::getUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ByteOrderValues::getUnsigned(const unsigned char* buf, int
      byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - int32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::io::ByteOrderValues::putInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putInt(int32_t intValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - uint32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: geos::io::ByteOrderValues::putUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putUnsigned(uint32_t intValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: geos::io::ByteOrderValues::getLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteOrderValues::getLong(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - longValue
    - buf
    - byteOrder
    argTypes:
    - int64_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 164
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 164
    functionName: geos::io::ByteOrderValues::putLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putLong(int64_t longValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:169,1
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::io::ByteOrderValues::getDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::getLong
    linkageType: ''
    returnType: double
    signature: double ByteOrderValues::getDouble(const unsigned char* buf, int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:179,1
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - doubleValue
    - buf
    - byteOrder
    argTypes:
    - double
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: geos::io::ByteOrderValues::putDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::putLong
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putDouble(double doubleValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: geos::io::ByteOrderValues::getInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t ByteOrderValues::getInt(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: geos::io::ByteOrderValues::getUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ByteOrderValues::getUnsigned(const unsigned char* buf, int
      byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - int32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::io::ByteOrderValues::putInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putInt(int32_t intValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - uint32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: geos::io::ByteOrderValues::putUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putUnsigned(uint32_t intValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: geos::io::ByteOrderValues::getLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteOrderValues::getLong(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - longValue
    - buf
    - byteOrder
    argTypes:
    - int64_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 164
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 164
    functionName: geos::io::ByteOrderValues::putLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putLong(int64_t longValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:169,1
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::io::ByteOrderValues::getDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::getLong
    linkageType: ''
    returnType: double
    signature: double ByteOrderValues::getDouble(const unsigned char* buf, int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:179,1
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - doubleValue
    - buf
    - byteOrder
    argTypes:
    - double
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: geos::io::ByteOrderValues::putDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::putLong
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putDouble(double doubleValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: geos::io::ByteOrderValues::getInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t ByteOrderValues::getInt(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: geos::io::ByteOrderValues::getUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ByteOrderValues::getUnsigned(const unsigned char* buf, int
      byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - int32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::io::ByteOrderValues::putInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putInt(int32_t intValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - uint32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: geos::io::ByteOrderValues::putUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putUnsigned(uint32_t intValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: geos::io::ByteOrderValues::getLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteOrderValues::getLong(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - longValue
    - buf
    - byteOrder
    argTypes:
    - int64_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 164
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 164
    functionName: geos::io::ByteOrderValues::putLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putLong(int64_t longValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:169,1
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::io::ByteOrderValues::getDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::getLong
    linkageType: ''
    returnType: double
    signature: double ByteOrderValues::getDouble(const unsigned char* buf, int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:179,1
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - doubleValue
    - buf
    - byteOrder
    argTypes:
    - double
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: geos::io::ByteOrderValues::putDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::putLong
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putDouble(double doubleValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: geos::io::ByteOrderValues::getInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t ByteOrderValues::getInt(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: geos::io::ByteOrderValues::getUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ByteOrderValues::getUnsigned(const unsigned char* buf, int
      byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - int32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::io::ByteOrderValues::putInt
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putInt(int32_t intValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - intValue
    - buf
    - byteOrder
    argTypes:
    - uint32_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: geos::io::ByteOrderValues::putUnsigned
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putUnsigned(uint32_t intValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: geos::io::ByteOrderValues::getLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteOrderValues::getLong(const unsigned char* buf, int byteOrder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/ByteOrderValues.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - longValue
    - buf
    - byteOrder
    argTypes:
    - int64_t
    - unsigned char*
    - int
    assertStmts:
    - condition: (byteOrder == ENDIAN_LITTLE)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/io/ByteOrderValues.cpp
    constantsTouched: []
    func_position:
      end: 164
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 164
    functionName: geos::io::ByteOrderValues::putLong
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putLong(int64_t longValue, unsigned char* buf,
      int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::getLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:169,1
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - byteOrder
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::io::ByteOrderValues::getDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::getLong
    linkageType: ''
    returnType: double
    signature: double ByteOrderValues::getDouble(const unsigned char* buf, int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/geos/src/io/ByteOrderValues.cpp:179,1
    - Dst: geos::io::ByteOrderValues::putLong
      Src: /src/geos/src/io/ByteOrderValues.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - doubleValue
    - buf
    - byteOrder
    argTypes:
    - double
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: geos::io::ByteOrderValues::putDouble
    functionSourceFile: /src/geos/src/io/ByteOrderValues.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - geos::io::ByteOrderValues::putLong
    linkageType: ''
    returnType: void
    signature: void ByteOrderValues::putDouble(double doubleValue, unsigned char*
      buf, int byteOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::io::WKBStreamReader::WKBStreamReader
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::WKBStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: WKBStreamReader::~WKBStreamReader()
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::~WKBStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKBStreamReader.cpp:48,1
    - Dst: readHEX
      Src: /src/geos/src/io/WKBStreamReader.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: geos::io::WKBStreamReader::next
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached:
    - readHEX
    - std::getline
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::io::WKBStreamReader::WKBStreamReader
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::WKBStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: WKBStreamReader::~WKBStreamReader()
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::~WKBStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKBStreamReader.cpp:48,1
    - Dst: readHEX
      Src: /src/geos/src/io/WKBStreamReader.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: geos::io::WKBStreamReader::next
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached:
    - readHEX
    - std::getline
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::io::WKBStreamReader::WKBStreamReader
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::WKBStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: WKBStreamReader::~WKBStreamReader()
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::~WKBStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKBStreamReader.cpp:48,1
    - Dst: readHEX
      Src: /src/geos/src/io/WKBStreamReader.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: geos::io::WKBStreamReader::next
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached:
    - readHEX
    - std::getline
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::io::WKBStreamReader::WKBStreamReader
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::WKBStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: WKBStreamReader::~WKBStreamReader()
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKBStreamReader::~WKBStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKBStreamReader.cpp:48,1
    - Dst: readHEX
      Src: /src/geos/src/io/WKBStreamReader.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: geos::io::WKBStreamReader::next
    functionSourceFile: /src/geos/src/io/WKBStreamReader.cpp
    functionUses: 0
    functionsReached:
    - readHEX
    - std::getline
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKBStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - ' var'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, const std::string&
      var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ParseException::stringify
      Src: /src/geos/src/io/ParseException.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - num
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ParseException::stringify
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, double
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/ParseException.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::io::ParseException::stringify
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ParseException::stringify(double num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - ' var'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, const std::string&
      var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ParseException::stringify
      Src: /src/geos/src/io/ParseException.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - num
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ParseException::stringify
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, double
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/ParseException.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::io::ParseException::stringify
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ParseException::stringify(double num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - ' var'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, const std::string&
      var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ParseException::stringify
      Src: /src/geos/src/io/ParseException.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - num
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ParseException::stringify
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, double
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/ParseException.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::io::ParseException::stringify
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ParseException::stringify(double num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - ' var'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, const std::string&
      var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ParseException::stringify
      Src: /src/geos/src/io/ParseException.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - num
    argTypes:
    - std::string
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::io::ParseException::ParseException
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 0
    functionsReached:
    - geos::io::ParseException::stringify
    linkageType: ''
    returnType: void
    signature: void ParseException::ParseException(const std::string& msg, double
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/ParseException.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::io::ParseException::stringify
    functionSourceFile: /src/geos/src/io/ParseException.cpp
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ParseException::stringify(double num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - dims
    - bo
    - srid
    - flv
    argTypes:
    - uint8_t
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::io::WKBWriter::WKBWriter
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - geos::io::createXYZM
    - geos::io::WKBWriter::getOutputOrdinates
    linkageType: ''
    returnType: void
    signature: void WKBWriter::WKBWriter(uint8_t dims, int bo, bool srid, int flv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::io::WKBWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setOutputDimension(uint8_t dims)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - newFlavor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: geos::io::WKBWriter::setFlavor
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setFlavor(int newFlavor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:95,1
    - Dst: WKBReader::printHEX
      Src: /src/geos/src/io/WKBWriter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: geos::io::WKBWriter::writeHEX
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - WKBReader::printHEX
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeHEX(const Geometry& g, std::ostream& os)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKBWriter.cpp:104,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:107,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:111,1
    - Dst: geos::io::WKBWriter::writePoint
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: geos::io::WKBWriter::writeCompoundCurve
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: geos::io::WKBWriter::writePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: geos::io::WKBWriter::writeCurvePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: static_cast<const CurvePolygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: geos::io::WKBWriter::writeGeometryCollection
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: geos::io::WKBWriter::write
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBWriter::writePolygon
    - geos::io::WKBWriter::getOutputOrdinates
    - geos::io::WKBWriter::writePoint
    - geos::io::WKBWriter::writeSimpleCurve
    - static_cast<const GeometryCollection&>
    - geos::io::WKBWriter::writeCompoundCurve
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    - geos::io::WKBWriter::writeCurvePolygon
    - OrdinateSet::setZ
    - static_cast<const CompoundCurve&>
    - geos::io::WKBWriter::writeGeometryCollection
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - hasZ
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - hasM
    - static_cast<const CurvePolygon&>
    linkageType: ''
    returnType: void
    signature: void WKBWriter::write(const Geometry& g, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:131,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/src/io/WKBWriter.cpp:137,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::io::WKBWriter::writePointEmpty
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::setAt
    - geos::io::WKBWriter::writeCoordinateSequence
    - std::size_t
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePointEmpty(const Point& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:145,1
    - Dst: geos::io::WKBWriter::writePointEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:146,1
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:149,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:154,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:155,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: geos::io::WKBWriter::writePoint
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBWriter::writePointEmpty
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePoint(const Point& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:162,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:167,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:168,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - SimpleCurve
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::io::WKBWriter::writeSimpleCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSimpleCurve(const SimpleCurve& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:175,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:185,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKBWriter.cpp:186,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: geos::io::WKBWriter::writeCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - getNumCurves
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - getCurveN
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeSimpleCurve
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCompoundCurve(const CompoundCurve& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:196,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:201,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:202,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:206,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:209,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:210,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:213,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:215,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:217,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:218,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:220,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:221,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Polygon
    assertStmts:
    - condition: (ls)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (ls)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::io::WKBWriter::writePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeCoordinateSequence
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - LineString*::getCoordinatesRO
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePolygon(const Polygon& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:235,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:241,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:242,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:246,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:249,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:250,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:253,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CurvePolygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: geos::io::WKBWriter::writeCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCurvePolygon(const CurvePolygon& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:261,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKBWriter.cpp:266,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:271,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKBWriter.cpp:273,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:274,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - GeometryCollection
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (elem)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: geos::io::WKBWriter::writeGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - getGeometryN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - getNumGeometries
    - assert
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryCollection(const GeometryCollection& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:291,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: geos::io::WKBWriter::writeByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 7
    functionsReached:
    - reinterpret_cast<char*>
    - assert
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeByteOrder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: geos::io::WKBWriter::setByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setByteOrder(int bo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:316,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:317,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:319,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:320,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:329,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:332,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:337,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - typeId
    - SRID
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 340
    functionName: geos::io::WKBWriter::writeGeometryType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKBWriter::writeInt
    - hasZ
    - geos::util::IllegalArgumentException
    - static_cast<int>
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryType(int typeId, int SRID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - SRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: geos::io::WKBWriter::writeSRID
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKBWriter::writeInt
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSRID(int SRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/src/io/WKBWriter.cpp:360,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: geos::io::WKBWriter::writeInt
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 6
    functionsReached:
    - reinterpret_cast<char*>
    - geos::io::ByteOrderValues::putInt
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeInt(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/io/WKBWriter.cpp:369,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: geos::io::WKBWriter::writeCoordinate
      Src: /src/geos/src/io/WKBWriter.cpp:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cs'
    - sized
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBWriter::writeCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKBWriter::writeCoordinate
    - geos::io::WKBWriter::writeInt
    - static_cast<int>
    - getSize
    linkageType: ''
    returnType: void
    signature: "void WKBWriter::writeCoordinateSequence(const CoordinateSequence&
      cs,\n                                   bool sized)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: getY
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:385,1
    - Dst: getAt
      Src: /src/geos/src/io/WKBWriter.cpp:388,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:390,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:392,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:394,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:395,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:398,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:399,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' cs'
    - idx
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 402
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 402
    functionName: geos::io::WKBWriter::writeCoordinate
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - assert
    - hasZ
    - getAt
    - getX
    - geos::io::ByteOrderValues::putDouble
    - geos::io::WKBWriter::write
    - reinterpret_cast<char*>
    - getY
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCoordinate(const CoordinateSequence& cs, std::size_t
      idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKBWriter.cpp:409,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKBWriter.cpp:410,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:411,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:412,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ordinates
    argTypes:
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: geos::io::WKBWriter::getOutputOrdinates
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - OrdinateSet::setZ
    - OrdinateSet::setM
    - OrdinateSet::hasM
    - OrdinateSet::hasZ
    - OrdinateSet::size
    linkageType: ''
    returnType: OrdinateSet
    signature: OrdinateSet WKBWriter::getOutputOrdinates(OrdinateSet ordinates)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:422,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: geos::io::WKBWriter::getWkbType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 5
    functionsReached:
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    linkageType: ''
    returnType: int
    signature: int WKBWriter::getWkbType(const Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - dims
    - bo
    - srid
    - flv
    argTypes:
    - uint8_t
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::io::WKBWriter::WKBWriter
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - geos::io::createXYZM
    - geos::io::WKBWriter::getOutputOrdinates
    linkageType: ''
    returnType: void
    signature: void WKBWriter::WKBWriter(uint8_t dims, int bo, bool srid, int flv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::io::WKBWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setOutputDimension(uint8_t dims)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - newFlavor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: geos::io::WKBWriter::setFlavor
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setFlavor(int newFlavor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:95,1
    - Dst: WKBReader::printHEX
      Src: /src/geos/src/io/WKBWriter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: geos::io::WKBWriter::writeHEX
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - WKBReader::printHEX
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeHEX(const Geometry& g, std::ostream& os)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKBWriter.cpp:104,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:107,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:111,1
    - Dst: geos::io::WKBWriter::writePoint
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: geos::io::WKBWriter::writeCompoundCurve
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: geos::io::WKBWriter::writePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: geos::io::WKBWriter::writeCurvePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: static_cast<const CurvePolygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: geos::io::WKBWriter::writeGeometryCollection
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: geos::io::WKBWriter::write
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKBWriter::writePolygon
    - geos::io::WKBWriter::getOutputOrdinates
    - geos::io::WKBWriter::writePoint
    - geos::io::WKBWriter::writeSimpleCurve
    - static_cast<const GeometryCollection&>
    - geos::io::WKBWriter::writeCompoundCurve
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    - geos::io::WKBWriter::writeCurvePolygon
    - OrdinateSet::setZ
    - static_cast<const CompoundCurve&>
    - geos::io::WKBWriter::writeGeometryCollection
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - hasZ
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - hasM
    - static_cast<const CurvePolygon&>
    linkageType: ''
    returnType: void
    signature: void WKBWriter::write(const Geometry& g, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:131,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/src/io/WKBWriter.cpp:137,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::io::WKBWriter::writePointEmpty
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence::setAt
    - geos::io::WKBWriter::writeCoordinateSequence
    - std::size_t
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePointEmpty(const Point& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:145,1
    - Dst: geos::io::WKBWriter::writePointEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:146,1
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:149,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:154,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:155,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: geos::io::WKBWriter::writePoint
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKBWriter::writePointEmpty
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePoint(const Point& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:162,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:167,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:168,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - SimpleCurve
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::io::WKBWriter::writeSimpleCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSimpleCurve(const SimpleCurve& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:175,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:185,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKBWriter.cpp:186,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: geos::io::WKBWriter::writeCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - getNumCurves
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - getCurveN
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeSimpleCurve
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCompoundCurve(const CompoundCurve& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:196,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:201,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:202,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:206,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:209,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:210,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:213,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:215,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:217,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:218,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:220,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:221,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Polygon
    assertStmts:
    - condition: (ls)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (ls)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::io::WKBWriter::writePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeCoordinateSequence
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - LineString*::getCoordinatesRO
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePolygon(const Polygon& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:235,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:241,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:242,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:246,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:249,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:250,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:253,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CurvePolygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: geos::io::WKBWriter::writeCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCurvePolygon(const CurvePolygon& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:261,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKBWriter.cpp:266,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:271,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKBWriter.cpp:273,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:274,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - GeometryCollection
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (elem)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: geos::io::WKBWriter::writeGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - getGeometryN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - getNumGeometries
    - assert
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryCollection(const GeometryCollection& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:291,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: geos::io::WKBWriter::writeByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 14
    functionsReached:
    - reinterpret_cast<char*>
    - assert
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeByteOrder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: geos::io::WKBWriter::setByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setByteOrder(int bo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:316,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:317,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:319,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:320,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:329,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:332,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:337,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - typeId
    - SRID
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 340
    functionName: geos::io::WKBWriter::writeGeometryType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 14
    functionsReached:
    - geos::io::WKBWriter::writeInt
    - hasZ
    - geos::util::IllegalArgumentException
    - static_cast<int>
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryType(int typeId, int SRID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - SRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: geos::io::WKBWriter::writeSRID
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 14
    functionsReached:
    - geos::io::WKBWriter::writeInt
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSRID(int SRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/src/io/WKBWriter.cpp:360,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: geos::io::WKBWriter::writeInt
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 13
    functionsReached:
    - reinterpret_cast<char*>
    - geos::io::ByteOrderValues::putInt
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeInt(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/io/WKBWriter.cpp:369,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: geos::io::WKBWriter::writeCoordinate
      Src: /src/geos/src/io/WKBWriter.cpp:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cs'
    - sized
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBWriter::writeCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 8
    functionsReached:
    - geos::io::WKBWriter::writeCoordinate
    - geos::io::WKBWriter::writeInt
    - static_cast<int>
    - getSize
    linkageType: ''
    returnType: void
    signature: "void WKBWriter::writeCoordinateSequence(const CoordinateSequence&
      cs,\n                                   bool sized)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: getY
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:385,1
    - Dst: getAt
      Src: /src/geos/src/io/WKBWriter.cpp:388,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:390,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:392,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:394,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:395,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:398,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:399,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' cs'
    - idx
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 402
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 402
    functionName: geos::io::WKBWriter::writeCoordinate
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - assert
    - hasZ
    - getAt
    - getX
    - geos::io::ByteOrderValues::putDouble
    - geos::io::WKBWriter::write
    - reinterpret_cast<char*>
    - getY
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCoordinate(const CoordinateSequence& cs, std::size_t
      idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKBWriter.cpp:409,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKBWriter.cpp:410,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:411,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:412,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ordinates
    argTypes:
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: geos::io::WKBWriter::getOutputOrdinates
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - OrdinateSet::setZ
    - OrdinateSet::setM
    - OrdinateSet::hasM
    - OrdinateSet::hasZ
    - OrdinateSet::size
    linkageType: ''
    returnType: OrdinateSet
    signature: OrdinateSet WKBWriter::getOutputOrdinates(OrdinateSet ordinates)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:422,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: geos::io::WKBWriter::getWkbType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 10
    functionsReached:
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    linkageType: ''
    returnType: int
    signature: int WKBWriter::getWkbType(const Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - dims
    - bo
    - srid
    - flv
    argTypes:
    - uint8_t
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::io::WKBWriter::WKBWriter
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - geos::io::createXYZM
    - geos::io::WKBWriter::getOutputOrdinates
    linkageType: ''
    returnType: void
    signature: void WKBWriter::WKBWriter(uint8_t dims, int bo, bool srid, int flv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::io::WKBWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setOutputDimension(uint8_t dims)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - newFlavor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: geos::io::WKBWriter::setFlavor
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setFlavor(int newFlavor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:95,1
    - Dst: WKBReader::printHEX
      Src: /src/geos/src/io/WKBWriter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: geos::io::WKBWriter::writeHEX
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - WKBReader::printHEX
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeHEX(const Geometry& g, std::ostream& os)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKBWriter.cpp:104,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:107,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:111,1
    - Dst: geos::io::WKBWriter::writePoint
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: geos::io::WKBWriter::writeCompoundCurve
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: geos::io::WKBWriter::writePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: geos::io::WKBWriter::writeCurvePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: static_cast<const CurvePolygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: geos::io::WKBWriter::writeGeometryCollection
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: geos::io::WKBWriter::write
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 13
    functionsReached:
    - geos::io::WKBWriter::writePolygon
    - geos::io::WKBWriter::getOutputOrdinates
    - geos::io::WKBWriter::writePoint
    - geos::io::WKBWriter::writeSimpleCurve
    - static_cast<const GeometryCollection&>
    - geos::io::WKBWriter::writeCompoundCurve
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    - geos::io::WKBWriter::writeCurvePolygon
    - OrdinateSet::setZ
    - static_cast<const CompoundCurve&>
    - geos::io::WKBWriter::writeGeometryCollection
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - hasZ
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - hasM
    - static_cast<const CurvePolygon&>
    linkageType: ''
    returnType: void
    signature: void WKBWriter::write(const Geometry& g, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:131,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/src/io/WKBWriter.cpp:137,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::io::WKBWriter::writePointEmpty
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence::setAt
    - geos::io::WKBWriter::writeCoordinateSequence
    - std::size_t
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePointEmpty(const Point& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:145,1
    - Dst: geos::io::WKBWriter::writePointEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:146,1
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:149,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:154,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:155,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: geos::io::WKBWriter::writePoint
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKBWriter::writePointEmpty
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePoint(const Point& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:162,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:167,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:168,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - SimpleCurve
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::io::WKBWriter::writeSimpleCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSimpleCurve(const SimpleCurve& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:175,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:185,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKBWriter.cpp:186,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: geos::io::WKBWriter::writeCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - getNumCurves
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - getCurveN
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeSimpleCurve
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCompoundCurve(const CompoundCurve& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:196,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:201,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:202,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:206,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:209,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:210,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:213,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:215,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:217,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:218,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:220,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:221,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Polygon
    assertStmts:
    - condition: (ls)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (ls)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::io::WKBWriter::writePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeCoordinateSequence
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - LineString*::getCoordinatesRO
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePolygon(const Polygon& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:235,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:241,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:242,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:246,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:249,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:250,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:253,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CurvePolygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: geos::io::WKBWriter::writeCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCurvePolygon(const CurvePolygon& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:261,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKBWriter.cpp:266,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:271,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKBWriter.cpp:273,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:274,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - GeometryCollection
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (elem)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: geos::io::WKBWriter::writeGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - getGeometryN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - getNumGeometries
    - assert
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryCollection(const GeometryCollection& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:291,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: geos::io::WKBWriter::writeByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 21
    functionsReached:
    - reinterpret_cast<char*>
    - assert
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeByteOrder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: geos::io::WKBWriter::setByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setByteOrder(int bo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:316,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:317,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:319,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:320,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:329,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:332,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:337,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - typeId
    - SRID
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 340
    functionName: geos::io::WKBWriter::writeGeometryType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 21
    functionsReached:
    - geos::io::WKBWriter::writeInt
    - hasZ
    - geos::util::IllegalArgumentException
    - static_cast<int>
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryType(int typeId, int SRID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - SRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: geos::io::WKBWriter::writeSRID
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 21
    functionsReached:
    - geos::io::WKBWriter::writeInt
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSRID(int SRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/src/io/WKBWriter.cpp:360,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: geos::io::WKBWriter::writeInt
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 20
    functionsReached:
    - reinterpret_cast<char*>
    - geos::io::ByteOrderValues::putInt
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeInt(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/io/WKBWriter.cpp:369,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: geos::io::WKBWriter::writeCoordinate
      Src: /src/geos/src/io/WKBWriter.cpp:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cs'
    - sized
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBWriter::writeCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 12
    functionsReached:
    - geos::io::WKBWriter::writeCoordinate
    - geos::io::WKBWriter::writeInt
    - static_cast<int>
    - getSize
    linkageType: ''
    returnType: void
    signature: "void WKBWriter::writeCoordinateSequence(const CoordinateSequence&
      cs,\n                                   bool sized)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: getY
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:385,1
    - Dst: getAt
      Src: /src/geos/src/io/WKBWriter.cpp:388,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:390,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:392,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:394,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:395,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:398,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:399,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' cs'
    - idx
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 402
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 402
    functionName: geos::io::WKBWriter::writeCoordinate
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - assert
    - hasZ
    - getAt
    - getX
    - geos::io::ByteOrderValues::putDouble
    - geos::io::WKBWriter::write
    - reinterpret_cast<char*>
    - getY
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCoordinate(const CoordinateSequence& cs, std::size_t
      idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKBWriter.cpp:409,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKBWriter.cpp:410,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:411,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:412,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ordinates
    argTypes:
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: geos::io::WKBWriter::getOutputOrdinates
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 6
    functionsReached:
    - OrdinateSet::setZ
    - OrdinateSet::setM
    - OrdinateSet::hasM
    - OrdinateSet::hasZ
    - OrdinateSet::size
    linkageType: ''
    returnType: OrdinateSet
    signature: OrdinateSet WKBWriter::getOutputOrdinates(OrdinateSet ordinates)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:422,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: geos::io::WKBWriter::getWkbType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 15
    functionsReached:
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    linkageType: ''
    returnType: int
    signature: int WKBWriter::getWkbType(const Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKBWriter.cpp:53,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - dims
    - bo
    - srid
    - flv
    argTypes:
    - uint8_t
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::io::WKBWriter::WKBWriter
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - geos::io::createXYZM
    - geos::io::WKBWriter::getOutputOrdinates
    linkageType: ''
    returnType: void
    signature: void WKBWriter::WKBWriter(uint8_t dims, int bo, bool srid, int flv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::io::WKBWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setOutputDimension(uint8_t dims)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - newFlavor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: geos::io::WKBWriter::setFlavor
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setFlavor(int newFlavor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:95,1
    - Dst: WKBReader::printHEX
      Src: /src/geos/src/io/WKBWriter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: geos::io::WKBWriter::writeHEX
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - WKBReader::printHEX
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeHEX(const Geometry& g, std::ostream& os)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKBWriter.cpp:104,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:105,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:106,1
    - Dst: geos::io::WKBWriter::getOutputOrdinates
      Src: /src/geos/src/io/WKBWriter.cpp:107,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:111,1
    - Dst: geos::io::WKBWriter::writePoint
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKBWriter.cpp:112,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:115,1
    - Dst: geos::io::WKBWriter::writeCompoundCurve
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKBWriter.cpp:116,1
    - Dst: geos::io::WKBWriter::writePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:117,1
    - Dst: geos::io::WKBWriter::writeCurvePolygon
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: static_cast<const CurvePolygon&>
      Src: /src/geos/src/io/WKBWriter.cpp:118,1
    - Dst: geos::io::WKBWriter::writeGeometryCollection
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKBWriter.cpp:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - ' g'
    - ' os'
    argTypes:
    - Geometry
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: geos::io::WKBWriter::write
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 19
    functionsReached:
    - geos::io::WKBWriter::writePolygon
    - geos::io::WKBWriter::getOutputOrdinates
    - geos::io::WKBWriter::writePoint
    - geos::io::WKBWriter::writeSimpleCurve
    - static_cast<const GeometryCollection&>
    - geos::io::WKBWriter::writeCompoundCurve
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    - geos::io::WKBWriter::writeCurvePolygon
    - OrdinateSet::setZ
    - static_cast<const CompoundCurve&>
    - geos::io::WKBWriter::writeGeometryCollection
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - hasZ
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - hasM
    - static_cast<const CurvePolygon&>
    linkageType: ''
    returnType: void
    signature: void WKBWriter::write(const Geometry& g, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:131,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:132,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:133,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: std::size_t
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/io/WKBWriter.cpp:136,1
    - Dst: CoordinateSequence::setAt
      Src: /src/geos/src/io/WKBWriter.cpp:137,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::io::WKBWriter::writePointEmpty
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence::setAt
    - geos::io::WKBWriter::writeCoordinateSequence
    - std::size_t
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinateDimension
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePointEmpty(const Point& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:145,1
    - Dst: geos::io::WKBWriter::writePointEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:146,1
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:149,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:151,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:152,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:154,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:155,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Point
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: geos::io::WKBWriter::writePoint
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKBWriter::writePointEmpty
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePoint(const Point& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:162,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:164,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:165,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:167,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:168,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - SimpleCurve
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::io::WKBWriter::writeSimpleCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKBWriter::writeCoordinateSequence
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSimpleCurve(const SimpleCurve& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:175,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:177,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:178,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:180,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKBWriter.cpp:185,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKBWriter.cpp:186,1
    - Dst: geos::io::WKBWriter::writeSimpleCurve
      Src: /src/geos/src/io/WKBWriter.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: geos::io::WKBWriter::writeCompoundCurve
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - getNumCurves
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - getCurveN
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::writeSimpleCurve
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCompoundCurve(const CompoundCurve& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:196,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:198,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:199,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:201,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:202,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:206,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:207,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:209,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:210,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:213,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:215,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:217,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:218,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/io/WKBWriter.cpp:220,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:221,1
    - Dst: geos::io::WKBWriter::writeCoordinateSequence
      Src: /src/geos/src/io/WKBWriter.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Polygon
    assertStmts:
    - condition: (ls)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (ls)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (cs)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::io::WKBWriter::writePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeCoordinateSequence
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - LineString*::getCoordinatesRO
    - assert
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writePolygon(const Polygon& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:235,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:237,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:239,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKBWriter.cpp:241,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:242,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:246,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:247,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKBWriter.cpp:249,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:250,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKBWriter.cpp:253,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - CurvePolygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: geos::io::WKBWriter::writeCurvePolygon
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - getExteriorRing
    - geos::io::WKBWriter::getWkbType
    - geos::io::WKBWriter::writeByteOrder
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCurvePolygon(const CurvePolygon& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeByteOrder
      Src: /src/geos/src/io/WKBWriter.cpp:261,1
    - Dst: geos::io::WKBWriter::writeGeometryType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::getWkbType
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:263,1
    - Dst: geos::io::WKBWriter::writeSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getSRID
      Src: /src/geos/src/io/WKBWriter.cpp:264,1
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKBWriter.cpp:266,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:267,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:271,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKBWriter.cpp:273,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:274,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - GeometryCollection
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/io/WKBWriter.cpp
    - condition: (elem)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: geos::io::WKBWriter::writeGeometryCollection
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - getGeometryN
    - geos::io::WKBWriter::writeInt
    - getSRID
    - geos::io::WKBWriter::write
    - geos::io::WKBWriter::writeSRID
    - static_cast<int>
    - geos::io::WKBWriter::writeGeometryType
    - geos::io::WKBWriter::getWkbType
    - getNumGeometries
    - assert
    - geos::io::WKBWriter::writeByteOrder
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryCollection(const GeometryCollection& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:291,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: geos::io::WKBWriter::writeByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 28
    functionsReached:
    - reinterpret_cast<char*>
    - assert
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeByteOrder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/io/WKBWriter.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - bo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: geos::io::WKBWriter::setByteOrder
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void WKBWriter::setByteOrder(int bo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:316,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:317,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:319,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:320,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:329,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:332,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:337,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - typeId
    - SRID
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 340
    functionName: geos::io::WKBWriter::writeGeometryType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 28
    functionsReached:
    - geos::io::WKBWriter::writeInt
    - hasZ
    - geos::util::IllegalArgumentException
    - static_cast<int>
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeGeometryType(int typeId, int SRID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - SRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: geos::io::WKBWriter::writeSRID
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 28
    functionsReached:
    - geos::io::WKBWriter::writeInt
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeSRID(int SRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::ByteOrderValues::putInt
      Src: /src/geos/src/io/WKBWriter.cpp:360,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: geos::io::WKBWriter::writeInt
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 27
    functionsReached:
    - reinterpret_cast<char*>
    - geos::io::ByteOrderValues::putInt
    - geos::io::WKBWriter::write
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeInt(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/io/WKBWriter.cpp:369,1
    - Dst: geos::io::WKBWriter::writeInt
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKBWriter.cpp:372,1
    - Dst: geos::io::WKBWriter::writeCoordinate
      Src: /src/geos/src/io/WKBWriter.cpp:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cs'
    - sized
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::io::WKBWriter::writeCoordinateSequence
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 16
    functionsReached:
    - geos::io::WKBWriter::writeCoordinate
    - geos::io::WKBWriter::writeInt
    - static_cast<int>
    - getSize
    linkageType: ''
    returnType: void
    signature: "void WKBWriter::writeCoordinateSequence(const CoordinateSequence&
      cs,\n                                   bool sized)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: getY
      Src: /src/geos/src/io/WKBWriter.cpp:383,1
    - Dst: assert
      Src: /src/geos/src/io/WKBWriter.cpp:385,1
    - Dst: getAt
      Src: /src/geos/src/io/WKBWriter.cpp:388,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:390,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:391,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:392,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:393,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:394,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:395,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:396,1
    - Dst: hasM
      Src: /src/geos/src/io/WKBWriter.cpp:398,1
    - Dst: geos::io::ByteOrderValues::putDouble
      Src: /src/geos/src/io/WKBWriter.cpp:399,1
    - Dst: geos::io::WKBWriter::write
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    - Dst: reinterpret_cast<char*>
      Src: /src/geos/src/io/WKBWriter.cpp:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ' cs'
    - idx
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts:
    - condition: (outStream)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/geos/src/io/WKBWriter.cpp
    constantsTouched: []
    func_position:
      end: 402
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 402
    functionName: geos::io::WKBWriter::writeCoordinate
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 4
    functionsReached:
    - assert
    - hasZ
    - getAt
    - getX
    - geos::io::ByteOrderValues::putDouble
    - geos::io::WKBWriter::write
    - reinterpret_cast<char*>
    - getY
    - hasM
    linkageType: ''
    returnType: void
    signature: void WKBWriter::writeCoordinate(const CoordinateSequence& cs, std::size_t
      idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKBWriter.cpp:409,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKBWriter.cpp:410,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKBWriter.cpp:411,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKBWriter.cpp:412,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKBWriter.cpp:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ordinates
    argTypes:
    - OrdinateSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: geos::io::WKBWriter::getOutputOrdinates
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 8
    functionsReached:
    - OrdinateSet::setZ
    - OrdinateSet::setM
    - OrdinateSet::hasM
    - OrdinateSet::hasZ
    - OrdinateSet::size
    linkageType: ''
    returnType: OrdinateSet
    signature: OrdinateSet WKBWriter::getOutputOrdinates(OrdinateSet ordinates)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKBWriter.cpp:422,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKBWriter.cpp:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: geos::io::WKBWriter::getWkbType
    functionSourceFile: /src/geos/src/io/WKBWriter.cpp
    functionUses: 20
    functionsReached:
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    linkageType: ''
    returnType: int
    signature: int WKBWriter::getWkbType(const Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::io::StringTokenizer::StringTokenizer
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void StringTokenizer::StringTokenizer(const string& txt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/geos/src/io/StringTokenizer.cpp:45,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:60,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - str
    - str_end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: geos::io::strtod_with_vc_fix
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - strtod
    - stricmp
    linkageType: ''
    returnType: double
    signature: double strtod_with_vc_fix(const char* str, char** str_end)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:83,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:95,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: geos::io::StringTokenizer::nextToken
      Src: /src/geos/src/io/StringTokenizer.cpp:102,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:105,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:108,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:110,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 132
    functionName: geos::io::StringTokenizer::nextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 1
    functionsReached:
    - find_first_not_of
    - string::c_str
    - static_cast<string::difference_type>
    - string::assign
    - geos::io::StringTokenizer::nextToken
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::nextToken()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:141,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:158,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:161,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 184
    functionName: geos::io::StringTokenizer::peekNextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - string::c_str
    - string::assign
    - static_cast<string::difference_type>
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::peekNextToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::StringTokenizer::getNVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double StringTokenizer::getNVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::io::StringTokenizer::getSVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string StringTokenizer::getSVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::io::StringTokenizer::StringTokenizer
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void StringTokenizer::StringTokenizer(const string& txt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/geos/src/io/StringTokenizer.cpp:45,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:60,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - str
    - str_end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: geos::io::strtod_with_vc_fix
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - strtod
    - stricmp
    linkageType: ''
    returnType: double
    signature: double strtod_with_vc_fix(const char* str, char** str_end)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:83,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:95,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: geos::io::StringTokenizer::nextToken
      Src: /src/geos/src/io/StringTokenizer.cpp:102,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:105,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:108,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:110,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 132
    functionName: geos::io::StringTokenizer::nextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 2
    functionsReached:
    - find_first_not_of
    - string::c_str
    - static_cast<string::difference_type>
    - string::assign
    - geos::io::StringTokenizer::nextToken
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::nextToken()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:141,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:158,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:161,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 184
    functionName: geos::io::StringTokenizer::peekNextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - string::c_str
    - string::assign
    - static_cast<string::difference_type>
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::peekNextToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::StringTokenizer::getNVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double StringTokenizer::getNVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::io::StringTokenizer::getSVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string StringTokenizer::getSVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::io::StringTokenizer::StringTokenizer
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void StringTokenizer::StringTokenizer(const string& txt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/geos/src/io/StringTokenizer.cpp:45,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:60,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - str
    - str_end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: geos::io::strtod_with_vc_fix
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - strtod
    - stricmp
    linkageType: ''
    returnType: double
    signature: double strtod_with_vc_fix(const char* str, char** str_end)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:83,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:95,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: geos::io::StringTokenizer::nextToken
      Src: /src/geos/src/io/StringTokenizer.cpp:102,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:105,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:108,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:110,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 132
    functionName: geos::io::StringTokenizer::nextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 3
    functionsReached:
    - find_first_not_of
    - string::c_str
    - static_cast<string::difference_type>
    - string::assign
    - geos::io::StringTokenizer::nextToken
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::nextToken()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:141,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:158,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:161,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 184
    functionName: geos::io::StringTokenizer::peekNextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - string::c_str
    - string::assign
    - static_cast<string::difference_type>
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::peekNextToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::StringTokenizer::getNVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double StringTokenizer::getNVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::io::StringTokenizer::getSVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string StringTokenizer::getSVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' txt'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::io::StringTokenizer::StringTokenizer
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: void
    signature: void StringTokenizer::StringTokenizer(const string& txt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/geos/src/io/StringTokenizer.cpp:45,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:60,1
    - Dst: stricmp
      Src: /src/geos/src/io/StringTokenizer.cpp:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - str
    - str_end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: geos::io::strtod_with_vc_fix
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - strtod
    - stricmp
    linkageType: ''
    returnType: double
    signature: double strtod_with_vc_fix(const char* str, char** str_end)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:83,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:95,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:96,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:101,1
    - Dst: geos::io::StringTokenizer::nextToken
      Src: /src/geos/src/io/StringTokenizer.cpp:102,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:105,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:106,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:108,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:109,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:110,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:118,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 132
    functionName: geos::io::StringTokenizer::nextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 4
    functionsReached:
    - find_first_not_of
    - string::c_str
    - static_cast<string::difference_type>
    - string::assign
    - geos::io::StringTokenizer::nextToken
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::nextToken()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:141,1
    - Dst: find_first_not_of
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: static_cast<string::size_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:145,1
    - Dst: find_first_of
      Src: /src/geos/src/io/StringTokenizer.cpp:158,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:161,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: end
      Src: /src/geos/src/io/StringTokenizer.cpp:162,1
    - Dst: string::assign
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: begin
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: static_cast<string::difference_type>
      Src: /src/geos/src/io/StringTokenizer.cpp:169,1
    - Dst: strtod_with_vc_fix
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    - Dst: string::c_str
      Src: /src/geos/src/io/StringTokenizer.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 184
    functionName: geos::io::StringTokenizer::peekNextToken
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - string::c_str
    - string::assign
    - static_cast<string::difference_type>
    - find_first_of
    - strtod_with_vc_fix
    - begin
    - static_cast<string::size_type>
    - end
    linkageType: ''
    returnType: int
    signature: int StringTokenizer::peekNextToken()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::StringTokenizer::getNVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double StringTokenizer::getNVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::io::StringTokenizer::getSVal
    functionSourceFile: /src/geos/src/io/StringTokenizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string StringTokenizer::getSVal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::io::WKTWriter::WKTWriter
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::WKTWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKTWriter.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::io::WKTWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setOutputDimension(uint8_t dims)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:87,1
    - Dst: getX
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getZ
      Src: /src/geos/src/io/WKTWriter.cpp:99,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' seq'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - size
    - getX
    - getZ
    - getY
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateSequence& seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateXY& p0, const CoordinateXY&
      p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const Coordinate& p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const CoordinateXY& p0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p0
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: geos::io::WKTWriter::setRoundingPrecision
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setRoundingPrecision(int p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p0
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::io::WKTWriter::setTrim
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setTrim(bool p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:162,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry& geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::write(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:183,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeFormatted(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::writeFormatted(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/io/WKTWriter.cpp:200,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geometry
    - p_isFormatted
    - writer
    argTypes:
    - Geometry*
    - bool
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::appendGeometryTaggedText
    - Geometry*::getPrecisionModel
    - geos::io::createXYZM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::writeFormatted(const Geometry* geometry, bool p_isFormatted,\n
      \                         Writer* writer)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTWriter.cpp:212,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:213,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: apply_ro
      Src: /src/geos/src/io/WKTWriter.cpp:220,1
    - Dst: CheckOrdinatesFilter::getFoundOrdinates
      Src: /src/geos/src/io/WKTWriter.cpp:222,1
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKTWriter.cpp:225,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:228,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:231,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:232,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:236,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:237,1
    - Dst: geos::io::WKTWriter::appendPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: geos::io::WKTWriter::appendMultiPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: static_cast<const MultiPoint&>
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: geos::io::WKTWriter::appendMultiCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: static_cast<const MultiLineString&>
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: static_cast<const MultiPolygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - ' geometry'
    - checkOrdinates
    - level
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 252
    functionName: geos::io::WKTWriter::appendGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::appendGeometryCollectionTaggedText
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::appendPointTaggedText
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - OrdinateSet::hasM
    - static_cast<const GeometryCollection&>
    - getGeometryTypeId
    - OrdinateSet::size
    - static_cast<const SimpleCurve&>
    - OrdinateSet::setZ
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - static_cast<const CompoundCurve&>
    - static_cast<const MultiPoint&>
    - geos::io::WKTWriter::appendMultiCurveTaggedText
    - static_cast<const MultiLineString&>
    - geos::io::WKTWriter::appendMultiSurfaceTaggedText
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - apply_ro
    - static_cast<const MultiPolygon&>
    - hasZ
    - CheckOrdinatesFilter::getFoundOrdinates
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendMultiPointTaggedText
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryTaggedText(const Geometry& geometry,\n
      \                                   OrdinateSet checkOrdinates,\n                                    int
      level,\n                                    Writer& writer) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryType
      Src: /src/geos/src/io/WKTWriter.cpp:256,1
    - Dst: geos::util::toUpper
      Src: /src/geos/src/io/WKTWriter.cpp:257,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:258,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:259,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' geometry'
    - outputOrdinates
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: geos::io::WKTWriter::appendTag
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - getGeometryType
    - geos::io::WKTWriter::write
    - geos::util::toUpper
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendTag(const Geometry& geometry, OrdinateSet outputOrdinates,
      Writer& writer) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:269,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:275,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:276,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:279,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:280,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - outputOrdinates
    - ' writer'
    argTypes:
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: geos::io::WKTWriter::appendOrdinateText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendOrdinateText(OrdinateSet outputOrdinates, Writer&
      writer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:292,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:293,1
    - Dst: getCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:295,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:297,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' point'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Point
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: geos::io::WKTWriter::appendPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - getCoordinate
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendPointTaggedText(const Point& point, OrdinateSet
      outputOrdinates, int level,\n                                 Writer& writer)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:306,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: geos::io::WKTWriter::appendSimpleCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveTaggedText(const SimpleCurve& curve,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:313,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:316,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - Curve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: geos::io::WKTWriter::appendCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveText
    - static_cast<const CompoundCurve&>
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::indent
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCurveText(const Curve& curve, OrdinateSet outputOrdinates,
      int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:326,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:329,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:330,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: geos::io::WKTWriter::appendSimpleCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveText(const SimpleCurve& curve, OrdinateSet
      outputOrdinates, int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:340,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:341,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:343,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:344,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:346,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKTWriter.cpp:348,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:350,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - CompoundCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: geos::io::WKTWriter::appendCompoundCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - getNumCurves
    - geos::io::WKTWriter::appendSimpleCurveText
    - geos::io::WKTWriter::write
    - getCurveN
    - geos::io::WKTWriter::appendOrdinateText
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCompoundCurveTaggedText(const CompoundCurve&
      curve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:363,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' surface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: geos::io::WKTWriter::appendSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSurfaceTaggedText(const Surface& surface, OrdinateSet
      outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:370,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:371,1
    - Dst: geos::io::WKTWriter::appendMultiPointText
      Src: /src/geos/src/io/WKTWriter.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' multipoint'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: geos::io::WKTWriter::appendMultiPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendMultiPointText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiPointTaggedText(const MultiPoint& multipoint,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:378,1
    - Dst: geos::io::WKTWriter::appendMultiCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: geos::io::WKTWriter::appendMultiCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::appendMultiCurveText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiCurveTaggedText(const GeometryCollection&
      multiCurve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:385,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiPolygon'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: geos::io::WKTWriter::appendMultiSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::appendTag
    - geos::io::WKTWriter::appendMultiSurfaceText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceTaggedText(const GeometryCollection&
      multiPolygon, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:393,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:394,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionText
      Src: /src/geos/src/io/WKTWriter.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: geos::io::WKTWriter::appendGeometryCollectionTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendGeometryCollectionText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionTaggedText(const GeometryCollection&
      geometryCollection, OrdinateSet outputOrdinates, int level,\n        Writer&
      writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:405,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:408,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:409,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:413,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:414,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' coordinate'
    - outputOrdinates
    - ' writer'
    argTypes:
    - CoordinateXYZM
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: geos::io::WKTWriter::appendCoordinate
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::writeNumber
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendCoordinate(const CoordinateXYZM& coordinate,\n
      \                           OrdinateSet outputOrdinates,\n                            Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:426,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:427,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:431,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:433,1
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:435,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:437,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:439,1
    - Dst: getAt
      Src: /src/geos/src/io/WKTWriter.cpp:442,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:443,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ' seq'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - CoordinateSequence
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 447
    functionName: geos::io::WKTWriter::appendSequenceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::io::WKTWriter::appendCoordinate
    - geos::io::WKTWriter::write
    - getAt
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSequenceText(const CoordinateSequence& seq,\n
      \                             OrdinateSet outputOrdinates,\n                              int
      level,\n                              bool doIndent,\n                              Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/io/WKTWriter.cpp:452,1
    - Dst: std::isfinite
      Src: /src/geos/src/io/WKTWriter.cpp:453,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:455,1
    - Dst: geos_d2sexp_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:458,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: floor
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: log10
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - d
    - precision
    - buf
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 470
    functionName: geos::io::WKTWriter::writeTrimmedNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - floor
    - geos_d2sexp_buffered_n
    - static_cast<std::uint32_t>
    - std::fabs
    - log10
    - geos_d2sfixed_buffered_n
    linkageType: ''
    returnType: int
    signature: int WKTWriter::writeTrimmedNumber(double d, uint32_t precision, char*
      buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeTrimmedNumber
      Src: /src/geos/src/io/WKTWriter.cpp:480,1
    - Dst: std::setprecision
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - d
    - trim
    - precision
    argTypes:
    - double
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 496
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::writeTrimmedNumber
    - std::stringstream::str
    - static_cast<int>
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d, bool trim, uint32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:502,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - static_cast<std::uint32_t>
    - geos::io::WKTWriter::writeNumber
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:510,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:511,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:515,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:517,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:519,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:520,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:522,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:523,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKTWriter.cpp:525,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:526,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' polygon'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 530
    functionName: geos::io::WKTWriter::appendSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getExteriorRing
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSurfaceText(const Surface& polygon, OrdinateSet
      outputOrdinates, int level,\n                             bool indentFirst,
      Writer& writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:536,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:538,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:541,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:544,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:546,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:547,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:548,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:552,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/WKTWriter.cpp:553,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:554,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:555,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' multiPoint'
    - outputOrdinates
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 560
    functionName: geos::io::WKTWriter::appendMultiPointText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::io::WKTWriter::appendCoordinate
    - getGeometryN
    - geos::io::WKTWriter::write
    - getNumGeometries
    - CoordinateSequence*::isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiPointText(const MultiPoint& multiPoint,
      OrdinateSet outputOrdinates,\n                                int /*level*/,
      Writer& writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:566,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:568,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:573,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:576,1
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:582,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 586
    functionName: geos::io::WKTWriter::appendMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - getGeometryN
    - static_cast<const Curve*>
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiCurveText(const GeometryCollection& multiCurve,
      OrdinateSet outputOrdinates, int level, bool indentFirst,\n                                     Writer&
      writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:591,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:593,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:598,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:601,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: Surface*::getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:606,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:607,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:610,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' multiSurface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 615
    functionName: geos::io::WKTWriter::appendMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - getGeometryN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSurfaceText
    - static_cast<const Surface*>
    - getNumGeometries
    - Surface*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceText(const GeometryCollection& multiSurface,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:624,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:626,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:630,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:633,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 640
    functionName: geos::io::WKTWriter::appendGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - getNumGeometries
    - geos::io::WKTWriter::appendGeometryTaggedText
    - geos::io::WKTWriter::write
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionText(\n    const GeometryCollection&
      geometryCollection,\n    OrdinateSet outputOrdinates,\n    int level,\n    Writer&
      writer) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:648,1
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: string
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - writer
    argTypes:
    - int
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: geos::io::WKTWriter::indent
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 5
    functionsReached:
    - string
    - Writer*::write
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::indent(int level, Writer* writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::io::WKTWriter::WKTWriter
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::WKTWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKTWriter.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::io::WKTWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setOutputDimension(uint8_t dims)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:87,1
    - Dst: getX
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getZ
      Src: /src/geos/src/io/WKTWriter.cpp:99,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' seq'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - size
    - getX
    - getZ
    - getY
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateSequence& seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateXY& p0, const CoordinateXY&
      p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const Coordinate& p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const CoordinateXY& p0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p0
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: geos::io::WKTWriter::setRoundingPrecision
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setRoundingPrecision(int p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p0
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::io::WKTWriter::setTrim
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setTrim(bool p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:162,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 14
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 15
    functionsReached:
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry& geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 15
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::write(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:183,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 7
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeFormatted(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 8
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::writeFormatted(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/io/WKTWriter.cpp:200,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geometry
    - p_isFormatted
    - writer
    argTypes:
    - Geometry*
    - bool
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 8
    functionsReached:
    - geos::io::WKTWriter::appendGeometryTaggedText
    - Geometry*::getPrecisionModel
    - geos::io::createXYZM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::writeFormatted(const Geometry* geometry, bool p_isFormatted,\n
      \                         Writer* writer)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTWriter.cpp:212,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:213,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: apply_ro
      Src: /src/geos/src/io/WKTWriter.cpp:220,1
    - Dst: CheckOrdinatesFilter::getFoundOrdinates
      Src: /src/geos/src/io/WKTWriter.cpp:222,1
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKTWriter.cpp:225,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:228,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:231,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:232,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:236,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:237,1
    - Dst: geos::io::WKTWriter::appendPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: geos::io::WKTWriter::appendMultiPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: static_cast<const MultiPoint&>
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: geos::io::WKTWriter::appendMultiCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: static_cast<const MultiLineString&>
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: static_cast<const MultiPolygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - ' geometry'
    - checkOrdinates
    - level
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 252
    functionName: geos::io::WKTWriter::appendGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::appendGeometryCollectionTaggedText
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::appendPointTaggedText
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - OrdinateSet::hasM
    - static_cast<const GeometryCollection&>
    - getGeometryTypeId
    - OrdinateSet::size
    - static_cast<const SimpleCurve&>
    - OrdinateSet::setZ
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - static_cast<const CompoundCurve&>
    - static_cast<const MultiPoint&>
    - geos::io::WKTWriter::appendMultiCurveTaggedText
    - static_cast<const MultiLineString&>
    - geos::io::WKTWriter::appendMultiSurfaceTaggedText
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - apply_ro
    - static_cast<const MultiPolygon&>
    - hasZ
    - CheckOrdinatesFilter::getFoundOrdinates
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendMultiPointTaggedText
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryTaggedText(const Geometry& geometry,\n
      \                                   OrdinateSet checkOrdinates,\n                                    int
      level,\n                                    Writer& writer) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryType
      Src: /src/geos/src/io/WKTWriter.cpp:256,1
    - Dst: geos::util::toUpper
      Src: /src/geos/src/io/WKTWriter.cpp:257,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:258,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:259,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' geometry'
    - outputOrdinates
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: geos::io::WKTWriter::appendTag
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - getGeometryType
    - geos::io::WKTWriter::write
    - geos::util::toUpper
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendTag(const Geometry& geometry, OrdinateSet outputOrdinates,
      Writer& writer) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:269,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:275,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:276,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:279,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:280,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - outputOrdinates
    - ' writer'
    argTypes:
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: geos::io::WKTWriter::appendOrdinateText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 6
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendOrdinateText(OrdinateSet outputOrdinates, Writer&
      writer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:292,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:293,1
    - Dst: getCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:295,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:297,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' point'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Point
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: geos::io::WKTWriter::appendPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - getCoordinate
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendPointTaggedText(const Point& point, OrdinateSet
      outputOrdinates, int level,\n                                 Writer& writer)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:306,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: geos::io::WKTWriter::appendSimpleCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveTaggedText(const SimpleCurve& curve,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:313,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:316,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - Curve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: geos::io::WKTWriter::appendCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveText
    - static_cast<const CompoundCurve&>
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::indent
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCurveText(const Curve& curve, OrdinateSet outputOrdinates,
      int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:326,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:329,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:330,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: geos::io::WKTWriter::appendSimpleCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveText(const SimpleCurve& curve, OrdinateSet
      outputOrdinates, int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:340,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:341,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:343,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:344,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:346,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKTWriter.cpp:348,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:350,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - CompoundCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: geos::io::WKTWriter::appendCompoundCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - getNumCurves
    - geos::io::WKTWriter::appendSimpleCurveText
    - geos::io::WKTWriter::write
    - getCurveN
    - geos::io::WKTWriter::appendOrdinateText
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCompoundCurveTaggedText(const CompoundCurve&
      curve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:363,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' surface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: geos::io::WKTWriter::appendSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSurfaceTaggedText(const Surface& surface, OrdinateSet
      outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:370,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:371,1
    - Dst: geos::io::WKTWriter::appendMultiPointText
      Src: /src/geos/src/io/WKTWriter.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' multipoint'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: geos::io::WKTWriter::appendMultiPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendMultiPointText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiPointTaggedText(const MultiPoint& multipoint,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:378,1
    - Dst: geos::io::WKTWriter::appendMultiCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: geos::io::WKTWriter::appendMultiCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTWriter::appendMultiCurveText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiCurveTaggedText(const GeometryCollection&
      multiCurve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:385,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiPolygon'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: geos::io::WKTWriter::appendMultiSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTWriter::appendTag
    - geos::io::WKTWriter::appendMultiSurfaceText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceTaggedText(const GeometryCollection&
      multiPolygon, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:393,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:394,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionText
      Src: /src/geos/src/io/WKTWriter.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: geos::io::WKTWriter::appendGeometryCollectionTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendGeometryCollectionText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionTaggedText(const GeometryCollection&
      geometryCollection, OrdinateSet outputOrdinates, int level,\n        Writer&
      writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:405,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:408,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:409,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:413,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:414,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' coordinate'
    - outputOrdinates
    - ' writer'
    argTypes:
    - CoordinateXYZM
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: geos::io::WKTWriter::appendCoordinate
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::writeNumber
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendCoordinate(const CoordinateXYZM& coordinate,\n
      \                           OrdinateSet outputOrdinates,\n                            Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:426,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:427,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:431,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:433,1
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:435,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:437,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:439,1
    - Dst: getAt
      Src: /src/geos/src/io/WKTWriter.cpp:442,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:443,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ' seq'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - CoordinateSequence
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 447
    functionName: geos::io::WKTWriter::appendSequenceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::io::WKTWriter::appendCoordinate
    - geos::io::WKTWriter::write
    - getAt
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSequenceText(const CoordinateSequence& seq,\n
      \                             OrdinateSet outputOrdinates,\n                              int
      level,\n                              bool doIndent,\n                              Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/io/WKTWriter.cpp:452,1
    - Dst: std::isfinite
      Src: /src/geos/src/io/WKTWriter.cpp:453,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:455,1
    - Dst: geos_d2sexp_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:458,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: floor
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: log10
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - d
    - precision
    - buf
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 470
    functionName: geos::io::WKTWriter::writeTrimmedNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 1
    functionsReached:
    - std::isfinite
    - floor
    - geos_d2sexp_buffered_n
    - static_cast<std::uint32_t>
    - std::fabs
    - log10
    - geos_d2sfixed_buffered_n
    linkageType: ''
    returnType: int
    signature: int WKTWriter::writeTrimmedNumber(double d, uint32_t precision, char*
      buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeTrimmedNumber
      Src: /src/geos/src/io/WKTWriter.cpp:480,1
    - Dst: std::setprecision
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - d
    - trim
    - precision
    argTypes:
    - double
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 496
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::writeTrimmedNumber
    - std::stringstream::str
    - static_cast<int>
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d, bool trim, uint32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:502,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - static_cast<std::uint32_t>
    - geos::io::WKTWriter::writeNumber
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:510,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:511,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:515,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:517,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:519,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:520,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:522,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:523,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKTWriter.cpp:525,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:526,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' polygon'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 530
    functionName: geos::io::WKTWriter::appendSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getExteriorRing
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSurfaceText(const Surface& polygon, OrdinateSet
      outputOrdinates, int level,\n                             bool indentFirst,
      Writer& writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:536,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:538,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:541,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:544,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:546,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:547,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:548,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:552,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/WKTWriter.cpp:553,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:554,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:555,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' multiPoint'
    - outputOrdinates
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 560
    functionName: geos::io::WKTWriter::appendMultiPointText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::io::WKTWriter::appendCoordinate
    - getGeometryN
    - geos::io::WKTWriter::write
    - getNumGeometries
    - CoordinateSequence*::isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiPointText(const MultiPoint& multiPoint,
      OrdinateSet outputOrdinates,\n                                int /*level*/,
      Writer& writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:566,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:568,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:573,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:576,1
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:582,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 586
    functionName: geos::io::WKTWriter::appendMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - getGeometryN
    - static_cast<const Curve*>
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiCurveText(const GeometryCollection& multiCurve,
      OrdinateSet outputOrdinates, int level, bool indentFirst,\n                                     Writer&
      writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:591,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:593,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:598,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:601,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: Surface*::getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:606,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:607,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:610,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' multiSurface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 615
    functionName: geos::io::WKTWriter::appendMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - getGeometryN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSurfaceText
    - static_cast<const Surface*>
    - getNumGeometries
    - Surface*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceText(const GeometryCollection& multiSurface,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:624,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:626,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:630,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:633,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 640
    functionName: geos::io::WKTWriter::appendGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - getNumGeometries
    - geos::io::WKTWriter::appendGeometryTaggedText
    - geos::io::WKTWriter::write
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionText(\n    const GeometryCollection&
      geometryCollection,\n    OrdinateSet outputOrdinates,\n    int level,\n    Writer&
      writer) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:648,1
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: string
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - writer
    argTypes:
    - int
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: geos::io::WKTWriter::indent
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 10
    functionsReached:
    - string
    - Writer*::write
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::indent(int level, Writer* writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::io::WKTWriter::WKTWriter
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::WKTWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKTWriter.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::io::WKTWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setOutputDimension(uint8_t dims)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:87,1
    - Dst: getX
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getZ
      Src: /src/geos/src/io/WKTWriter.cpp:99,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' seq'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - size
    - getX
    - getZ
    - getY
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateSequence& seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateXY& p0, const CoordinateXY&
      p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const Coordinate& p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const CoordinateXY& p0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p0
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: geos::io::WKTWriter::setRoundingPrecision
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setRoundingPrecision(int p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p0
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::io::WKTWriter::setTrim
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setTrim(bool p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:162,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 28
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 29
    functionsReached:
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry& geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 29
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::write(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:183,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 11
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeFormatted(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 12
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::writeFormatted(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/io/WKTWriter.cpp:200,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geometry
    - p_isFormatted
    - writer
    argTypes:
    - Geometry*
    - bool
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 12
    functionsReached:
    - geos::io::WKTWriter::appendGeometryTaggedText
    - Geometry*::getPrecisionModel
    - geos::io::createXYZM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::writeFormatted(const Geometry* geometry, bool p_isFormatted,\n
      \                         Writer* writer)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTWriter.cpp:212,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:213,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: apply_ro
      Src: /src/geos/src/io/WKTWriter.cpp:220,1
    - Dst: CheckOrdinatesFilter::getFoundOrdinates
      Src: /src/geos/src/io/WKTWriter.cpp:222,1
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKTWriter.cpp:225,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:228,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:231,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:232,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:236,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:237,1
    - Dst: geos::io::WKTWriter::appendPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: geos::io::WKTWriter::appendMultiPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: static_cast<const MultiPoint&>
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: geos::io::WKTWriter::appendMultiCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: static_cast<const MultiLineString&>
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: static_cast<const MultiPolygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - ' geometry'
    - checkOrdinates
    - level
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 252
    functionName: geos::io::WKTWriter::appendGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKTWriter::appendGeometryCollectionTaggedText
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::appendPointTaggedText
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - OrdinateSet::hasM
    - static_cast<const GeometryCollection&>
    - getGeometryTypeId
    - OrdinateSet::size
    - static_cast<const SimpleCurve&>
    - OrdinateSet::setZ
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - static_cast<const CompoundCurve&>
    - static_cast<const MultiPoint&>
    - geos::io::WKTWriter::appendMultiCurveTaggedText
    - static_cast<const MultiLineString&>
    - geos::io::WKTWriter::appendMultiSurfaceTaggedText
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - apply_ro
    - static_cast<const MultiPolygon&>
    - hasZ
    - CheckOrdinatesFilter::getFoundOrdinates
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendMultiPointTaggedText
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryTaggedText(const Geometry& geometry,\n
      \                                   OrdinateSet checkOrdinates,\n                                    int
      level,\n                                    Writer& writer) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryType
      Src: /src/geos/src/io/WKTWriter.cpp:256,1
    - Dst: geos::util::toUpper
      Src: /src/geos/src/io/WKTWriter.cpp:257,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:258,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:259,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' geometry'
    - outputOrdinates
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: geos::io::WKTWriter::appendTag
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 8
    functionsReached:
    - getGeometryType
    - geos::io::WKTWriter::write
    - geos::util::toUpper
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendTag(const Geometry& geometry, OrdinateSet outputOrdinates,
      Writer& writer) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:269,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:275,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:276,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:279,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:280,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - outputOrdinates
    - ' writer'
    argTypes:
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: geos::io::WKTWriter::appendOrdinateText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 11
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendOrdinateText(OrdinateSet outputOrdinates, Writer&
      writer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:292,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:293,1
    - Dst: getCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:295,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:297,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' point'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Point
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: geos::io::WKTWriter::appendPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - getCoordinate
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendPointTaggedText(const Point& point, OrdinateSet
      outputOrdinates, int level,\n                                 Writer& writer)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:306,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: geos::io::WKTWriter::appendSimpleCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveTaggedText(const SimpleCurve& curve,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:313,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:316,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - Curve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: geos::io::WKTWriter::appendCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveText
    - static_cast<const CompoundCurve&>
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::indent
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCurveText(const Curve& curve, OrdinateSet outputOrdinates,
      int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:326,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:329,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:330,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: geos::io::WKTWriter::appendSimpleCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveText(const SimpleCurve& curve, OrdinateSet
      outputOrdinates, int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:340,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:341,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:343,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:344,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:346,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKTWriter.cpp:348,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:350,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - CompoundCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: geos::io::WKTWriter::appendCompoundCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 6
    functionsReached:
    - getNumCurves
    - geos::io::WKTWriter::appendSimpleCurveText
    - geos::io::WKTWriter::write
    - getCurveN
    - geos::io::WKTWriter::appendOrdinateText
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCompoundCurveTaggedText(const CompoundCurve&
      curve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:363,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' surface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: geos::io::WKTWriter::appendSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSurfaceTaggedText(const Surface& surface, OrdinateSet
      outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:370,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:371,1
    - Dst: geos::io::WKTWriter::appendMultiPointText
      Src: /src/geos/src/io/WKTWriter.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' multipoint'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: geos::io::WKTWriter::appendMultiPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendMultiPointText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiPointTaggedText(const MultiPoint& multipoint,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:378,1
    - Dst: geos::io::WKTWriter::appendMultiCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: geos::io::WKTWriter::appendMultiCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::appendMultiCurveText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiCurveTaggedText(const GeometryCollection&
      multiCurve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:385,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiPolygon'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: geos::io::WKTWriter::appendMultiSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::appendTag
    - geos::io::WKTWriter::appendMultiSurfaceText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceTaggedText(const GeometryCollection&
      multiPolygon, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:393,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:394,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionText
      Src: /src/geos/src/io/WKTWriter.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: geos::io::WKTWriter::appendGeometryCollectionTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendGeometryCollectionText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionTaggedText(const GeometryCollection&
      geometryCollection, OrdinateSet outputOrdinates, int level,\n        Writer&
      writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:405,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:408,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:409,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:413,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:414,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' coordinate'
    - outputOrdinates
    - ' writer'
    argTypes:
    - CoordinateXYZM
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: geos::io::WKTWriter::appendCoordinate
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::writeNumber
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendCoordinate(const CoordinateXYZM& coordinate,\n
      \                           OrdinateSet outputOrdinates,\n                            Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:426,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:427,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:431,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:433,1
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:435,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:437,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:439,1
    - Dst: getAt
      Src: /src/geos/src/io/WKTWriter.cpp:442,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:443,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ' seq'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - CoordinateSequence
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 447
    functionName: geos::io::WKTWriter::appendSequenceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 9
    functionsReached:
    - size
    - geos::io::WKTWriter::appendCoordinate
    - geos::io::WKTWriter::write
    - getAt
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSequenceText(const CoordinateSequence& seq,\n
      \                             OrdinateSet outputOrdinates,\n                              int
      level,\n                              bool doIndent,\n                              Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/io/WKTWriter.cpp:452,1
    - Dst: std::isfinite
      Src: /src/geos/src/io/WKTWriter.cpp:453,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:455,1
    - Dst: geos_d2sexp_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:458,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: floor
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: log10
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - d
    - precision
    - buf
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 470
    functionName: geos::io::WKTWriter::writeTrimmedNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 2
    functionsReached:
    - std::isfinite
    - floor
    - geos_d2sexp_buffered_n
    - static_cast<std::uint32_t>
    - std::fabs
    - log10
    - geos_d2sfixed_buffered_n
    linkageType: ''
    returnType: int
    signature: int WKTWriter::writeTrimmedNumber(double d, uint32_t precision, char*
      buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeTrimmedNumber
      Src: /src/geos/src/io/WKTWriter.cpp:480,1
    - Dst: std::setprecision
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - d
    - trim
    - precision
    argTypes:
    - double
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 496
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 5
    functionsReached:
    - geos::io::WKTWriter::writeTrimmedNumber
    - std::stringstream::str
    - static_cast<int>
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d, bool trim, uint32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:502,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 6
    functionsReached:
    - static_cast<std::uint32_t>
    - geos::io::WKTWriter::writeNumber
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:510,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:511,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:515,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:517,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:519,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:520,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:522,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:523,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKTWriter.cpp:525,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:526,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' polygon'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 530
    functionName: geos::io::WKTWriter::appendSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 5
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getExteriorRing
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSurfaceText(const Surface& polygon, OrdinateSet
      outputOrdinates, int level,\n                             bool indentFirst,
      Writer& writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:536,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:538,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:541,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:544,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:546,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:547,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:548,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:552,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/WKTWriter.cpp:553,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:554,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:555,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' multiPoint'
    - outputOrdinates
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 560
    functionName: geos::io::WKTWriter::appendMultiPointText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::io::WKTWriter::appendCoordinate
    - getGeometryN
    - geos::io::WKTWriter::write
    - getNumGeometries
    - CoordinateSequence*::isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiPointText(const MultiPoint& multiPoint,
      OrdinateSet outputOrdinates,\n                                int /*level*/,
      Writer& writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:566,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:568,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:573,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:576,1
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:582,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 586
    functionName: geos::io::WKTWriter::appendMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - getGeometryN
    - static_cast<const Curve*>
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiCurveText(const GeometryCollection& multiCurve,
      OrdinateSet outputOrdinates, int level, bool indentFirst,\n                                     Writer&
      writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:591,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:593,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:598,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:601,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: Surface*::getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:606,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:607,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:610,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' multiSurface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 615
    functionName: geos::io::WKTWriter::appendMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - getGeometryN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSurfaceText
    - static_cast<const Surface*>
    - getNumGeometries
    - Surface*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceText(const GeometryCollection& multiSurface,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:624,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:626,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:630,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:633,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 640
    functionName: geos::io::WKTWriter::appendGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - getNumGeometries
    - geos::io::WKTWriter::appendGeometryTaggedText
    - geos::io::WKTWriter::write
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionText(\n    const GeometryCollection&
      geometryCollection,\n    OrdinateSet outputOrdinates,\n    int level,\n    Writer&
      writer) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:648,1
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: string
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - writer
    argTypes:
    - int
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: geos::io::WKTWriter::indent
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 15
    functionsReached:
    - string
    - Writer*::write
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::indent(int level, Writer* writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::io::WKTWriter::WKTWriter
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::WKTWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/WKTWriter.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: geos::io::WKTWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setOutputDimension(uint8_t dims)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:87,1
    - Dst: getX
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/io/WKTWriter.cpp:97,1
    - Dst: getZ
      Src: /src/geos/src/io/WKTWriter.cpp:99,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' seq'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - size
    - getX
    - getZ
    - getY
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateSequence& seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::io::WKTWriter::toLineString
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toLineString(const CoordinateXY& p0, const CoordinateXY&
      p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const Coordinate& p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::io::WKTWriter::toPoint
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::toPoint(const CoordinateXY& p0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p0
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: geos::io::WKTWriter::setRoundingPrecision
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setRoundingPrecision(int p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p0
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::io::WKTWriter::setTrim
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTWriter::setTrim(bool p0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:162,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 42
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 43
    functionsReached:
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::write(const Geometry& geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: geos::io::WKTWriter::write
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 43
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::write(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:183,1
    - Dst: Writer::toString
      Src: /src/geos/src/io/WKTWriter.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 15
    functionsReached:
    - Writer::toString
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeFormatted(const Geometry* geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeFormatted
      Src: /src/geos/src/io/WKTWriter.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - writer
    argTypes:
    - Geometry*
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 16
    functionsReached:
    - geos::io::WKTWriter::writeFormatted
    linkageType: ''
    returnType: void
    signature: void WKTWriter::writeFormatted(const Geometry* geometry, Writer* writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/io/WKTWriter.cpp:200,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    - Dst: geos::io::createXYZM
      Src: /src/geos/src/io/WKTWriter.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geometry
    - p_isFormatted
    - writer
    argTypes:
    - Geometry*
    - bool
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::io::WKTWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 16
    functionsReached:
    - geos::io::WKTWriter::appendGeometryTaggedText
    - Geometry*::getPrecisionModel
    - geos::io::createXYZM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::writeFormatted(const Geometry* geometry, bool p_isFormatted,\n
      \                         Writer* writer)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::createXY
      Src: /src/geos/src/io/WKTWriter.cpp:212,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:213,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:215,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: hasM
      Src: /src/geos/src/io/WKTWriter.cpp:216,1
    - Dst: apply_ro
      Src: /src/geos/src/io/WKTWriter.cpp:220,1
    - Dst: CheckOrdinatesFilter::getFoundOrdinates
      Src: /src/geos/src/io/WKTWriter.cpp:222,1
    - Dst: OrdinateSet::size
      Src: /src/geos/src/io/WKTWriter.cpp:225,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:226,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:228,1
    - Dst: OrdinateSet::setM
      Src: /src/geos/src/io/WKTWriter.cpp:231,1
    - Dst: OrdinateSet::setZ
      Src: /src/geos/src/io/WKTWriter.cpp:232,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:236,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:237,1
    - Dst: geos::io::WKTWriter::appendPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/io/WKTWriter.cpp:238,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:241,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:242,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: static_cast<const Polygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:244,1
    - Dst: geos::io::WKTWriter::appendMultiPointTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: static_cast<const MultiPoint&>
      Src: /src/geos/src/io/WKTWriter.cpp:245,1
    - Dst: geos::io::WKTWriter::appendMultiCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: static_cast<const MultiLineString&>
      Src: /src/geos/src/io/WKTWriter.cpp:247,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: static_cast<const MultiPolygon&>
      Src: /src/geos/src/io/WKTWriter.cpp:249,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/io/WKTWriter.cpp:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - ' geometry'
    - checkOrdinates
    - level
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 252
    functionName: geos::io::WKTWriter::appendGeometryTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKTWriter::appendGeometryCollectionTaggedText
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::appendPointTaggedText
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - OrdinateSet::hasM
    - static_cast<const GeometryCollection&>
    - getGeometryTypeId
    - OrdinateSet::size
    - static_cast<const SimpleCurve&>
    - OrdinateSet::setZ
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - static_cast<const CompoundCurve&>
    - static_cast<const MultiPoint&>
    - geos::io::WKTWriter::appendMultiCurveTaggedText
    - static_cast<const MultiLineString&>
    - geos::io::WKTWriter::appendMultiSurfaceTaggedText
    - OrdinateSet::createXY
    - OrdinateSet::setM
    - apply_ro
    - static_cast<const MultiPolygon&>
    - hasZ
    - CheckOrdinatesFilter::getFoundOrdinates
    - static_cast<const Polygon&>
    - static_cast<const Point&>
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendMultiPointTaggedText
    - hasM
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryTaggedText(const Geometry& geometry,\n
      \                                   OrdinateSet checkOrdinates,\n                                    int
      level,\n                                    Writer& writer) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryType
      Src: /src/geos/src/io/WKTWriter.cpp:256,1
    - Dst: geos::util::toUpper
      Src: /src/geos/src/io/WKTWriter.cpp:257,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:258,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:259,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' geometry'
    - outputOrdinates
    - ' writer'
    argTypes:
    - Geometry
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: geos::io::WKTWriter::appendTag
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 12
    functionsReached:
    - getGeometryType
    - geos::io::WKTWriter::write
    - geos::util::toUpper
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendTag(const Geometry& geometry, OrdinateSet outputOrdinates,
      Writer& writer) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:268,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:269,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:275,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:276,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:279,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:280,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - outputOrdinates
    - ' writer'
    argTypes:
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: geos::io::WKTWriter::appendOrdinateText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 16
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendOrdinateText(OrdinateSet outputOrdinates, Writer&
      writer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:292,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:293,1
    - Dst: getCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:295,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:297,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' point'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Point
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: geos::io::WKTWriter::appendPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - getCoordinate
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendPointTaggedText(const Point& point, OrdinateSet
      outputOrdinates, int level,\n                                 Writer& writer)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:306,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: geos::io::WKTWriter::appendSimpleCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveTaggedText(const SimpleCurve& curve,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:313,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:316,1
    - Dst: geos::io::WKTWriter::appendCompoundCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: static_cast<const CompoundCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:317,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/io/WKTWriter.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - Curve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: geos::io::WKTWriter::appendCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 6
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveText
    - static_cast<const CompoundCurve&>
    - geos::io::WKTWriter::appendCompoundCurveTaggedText
    - geos::io::WKTWriter::indent
    - getGeometryTypeId
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCurveText(const Curve& curve, OrdinateSet outputOrdinates,
      int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:326,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:329,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:330,1
    - Dst: geos::io::WKTWriter::appendSequenceText
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/io/WKTWriter.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - SimpleCurve
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: geos::io::WKTWriter::appendSimpleCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKTWriter::appendSimpleCurveTaggedText
    - geos::io::WKTWriter::indent
    - geos::io::WKTWriter::appendSequenceText
    - getCoordinatesRO
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSimpleCurveText(const SimpleCurve& curve, OrdinateSet
      outputOrdinates, int level, bool doIndent, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:340,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:341,1
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:343,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:344,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:346,1
    - Dst: getNumCurves
      Src: /src/geos/src/io/WKTWriter.cpp:348,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:350,1
    - Dst: geos::io::WKTWriter::appendSimpleCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: getCurveN
      Src: /src/geos/src/io/WKTWriter.cpp:354,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ' curve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - CompoundCurve
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: geos::io::WKTWriter::appendCompoundCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 8
    functionsReached:
    - getNumCurves
    - geos::io::WKTWriter::appendSimpleCurveText
    - geos::io::WKTWriter::write
    - getCurveN
    - geos::io::WKTWriter::appendOrdinateText
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendCompoundCurveTaggedText(const CompoundCurve&
      curve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:363,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' surface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: geos::io::WKTWriter::appendSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendSurfaceTaggedText(const Surface& surface, OrdinateSet
      outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:370,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:371,1
    - Dst: geos::io::WKTWriter::appendMultiPointText
      Src: /src/geos/src/io/WKTWriter.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' multipoint'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: geos::io::WKTWriter::appendMultiPointTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendMultiPointText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiPointTaggedText(const MultiPoint& multipoint,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:378,1
    - Dst: geos::io::WKTWriter::appendMultiCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: geos::io::WKTWriter::appendMultiCurveTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::appendMultiCurveText
    - geos::io::WKTWriter::appendTag
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiCurveTaggedText(const GeometryCollection&
      multiCurve, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::appendTag
      Src: /src/geos/src/io/WKTWriter.cpp:385,1
    - Dst: geos::io::WKTWriter::appendMultiSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' multiPolygon'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: geos::io::WKTWriter::appendMultiSurfaceTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::appendTag
    - geos::io::WKTWriter::appendMultiSurfaceText
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceTaggedText(const GeometryCollection&
      multiPolygon, OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:393,1
    - Dst: geos::io::WKTWriter::appendOrdinateText
      Src: /src/geos/src/io/WKTWriter.cpp:394,1
    - Dst: geos::io::WKTWriter::appendGeometryCollectionText
      Src: /src/geos/src/io/WKTWriter.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: geos::io::WKTWriter::appendGeometryCollectionTaggedText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendGeometryCollectionText
    - geos::io::WKTWriter::appendOrdinateText
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionTaggedText(const GeometryCollection&
      geometryCollection, OrdinateSet outputOrdinates, int level,\n        Writer&
      writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:404,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:405,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:406,1
    - Dst: OrdinateSet::hasZ
      Src: /src/geos/src/io/WKTWriter.cpp:408,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:409,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:410,1
    - Dst: OrdinateSet::hasM
      Src: /src/geos/src/io/WKTWriter.cpp:413,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:414,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ' coordinate'
    - outputOrdinates
    - ' writer'
    argTypes:
    - CoordinateXYZM
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: geos::io::WKTWriter::appendCoordinate
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 6
    functionsReached:
    - geos::io::WKTWriter::write
    - OrdinateSet::hasZ
    - geos::io::WKTWriter::writeNumber
    - OrdinateSet::hasM
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendCoordinate(const CoordinateXYZM& coordinate,\n
      \                           OrdinateSet outputOrdinates,\n                            Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:426,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:427,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:431,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:433,1
    - Dst: size
      Src: /src/geos/src/io/WKTWriter.cpp:435,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:437,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:439,1
    - Dst: getAt
      Src: /src/geos/src/io/WKTWriter.cpp:442,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:443,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ' seq'
    - outputOrdinates
    - level
    - doIndent
    - ' writer'
    argTypes:
    - CoordinateSequence
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 447
    functionName: geos::io::WKTWriter::appendSequenceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 12
    functionsReached:
    - size
    - geos::io::WKTWriter::appendCoordinate
    - geos::io::WKTWriter::write
    - getAt
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSequenceText(const CoordinateSequence& seq,\n
      \                             OrdinateSet outputOrdinates,\n                              int
      level,\n                              bool doIndent,\n                              Writer&
      writer) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/io/WKTWriter.cpp:452,1
    - Dst: std::isfinite
      Src: /src/geos/src/io/WKTWriter.cpp:453,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:455,1
    - Dst: geos_d2sexp_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:458,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: floor
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: log10
      Src: /src/geos/src/io/WKTWriter.cpp:463,1
    - Dst: geos_d2sfixed_buffered_n
      Src: /src/geos/src/io/WKTWriter.cpp:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - d
    - precision
    - buf
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 470
    functionName: geos::io::WKTWriter::writeTrimmedNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 3
    functionsReached:
    - std::isfinite
    - floor
    - geos_d2sexp_buffered_n
    - static_cast<std::uint32_t>
    - std::fabs
    - log10
    - geos_d2sfixed_buffered_n
    linkageType: ''
    returnType: int
    signature: int WKTWriter::writeTrimmedNumber(double d, uint32_t precision, char*
      buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::writeTrimmedNumber
      Src: /src/geos/src/io/WKTWriter.cpp:480,1
    - Dst: std::setprecision
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/geos/src/io/WKTWriter.cpp:492,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/io/WKTWriter.cpp:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - d
    - trim
    - precision
    argTypes:
    - double
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 496
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::WKTWriter::writeTrimmedNumber
    - std::stringstream::str
    - static_cast<int>
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d, bool trim, uint32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint32_t>
      Src: /src/geos/src/io/WKTWriter.cpp:502,1
    - Dst: geos::io::WKTWriter::writeNumber
      Src: /src/geos/src/io/WKTWriter.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: geos::io::WKTWriter::writeNumber
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 8
    functionsReached:
    - static_cast<std::uint32_t>
    - geos::io::WKTWriter::writeNumber
    linkageType: ''
    returnType: std::string
    signature: std::string WKTWriter::writeNumber(double d) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:510,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:511,1
    - Dst: geos::io::WKTWriter::indent
      Src: /src/geos/src/io/WKTWriter.cpp:515,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:517,1
    - Dst: getExteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:519,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:520,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/io/WKTWriter.cpp:522,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:523,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/io/WKTWriter.cpp:525,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:526,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' polygon'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - Surface
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 530
    functionName: geos::io::WKTWriter::appendSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 7
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getExteriorRing
    - geos::io::WKTWriter::indent
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendSurfaceText(const Surface& polygon, OrdinateSet
      outputOrdinates, int level,\n                             bool indentFirst,
      Writer& writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:536,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:538,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:541,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:544,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:546,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/io/WKTWriter.cpp:547,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:548,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:552,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/WKTWriter.cpp:553,1
    - Dst: geos::io::WKTWriter::appendCoordinate
      Src: /src/geos/src/io/WKTWriter.cpp:554,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:555,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' multiPoint'
    - outputOrdinates
    - ' writer'
    argTypes:
    - MultiPoint
    - OrdinateSet
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 560
    functionName: geos::io::WKTWriter::appendMultiPointText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::io::WKTWriter::appendCoordinate
    - getGeometryN
    - geos::io::WKTWriter::write
    - getNumGeometries
    - CoordinateSequence*::isEmpty
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiPointText(const MultiPoint& multiPoint,
      OrdinateSet outputOrdinates,\n                                int /*level*/,
      Writer& writer) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:566,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:568,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:573,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:576,1
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:581,1
    - Dst: geos::io::WKTWriter::appendCurveText
      Src: /src/geos/src/io/WKTWriter.cpp:582,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ' multiCurve'
    - outputOrdinates
    - level
    - indentFirst
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - bool
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 586
    functionName: geos::io::WKTWriter::appendMultiCurveText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - getGeometryN
    - static_cast<const Curve*>
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendCurveText
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendMultiCurveText(const GeometryCollection& multiCurve,
      OrdinateSet outputOrdinates, int level, bool indentFirst,\n                                     Writer&
      writer) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:591,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:593,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:598,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:601,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:605,1
    - Dst: Surface*::getGeometryTypeId
      Src: /src/geos/src/io/WKTWriter.cpp:606,1
    - Dst: geos::io::WKTWriter::appendSurfaceText
      Src: /src/geos/src/io/WKTWriter.cpp:607,1
    - Dst: geos::io::WKTWriter::appendSurfaceTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:610,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ' multiSurface'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 615
    functionName: geos::io::WKTWriter::appendMultiSurfaceText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::WKTWriter::appendSurfaceTaggedText
    - getGeometryN
    - geos::io::WKTWriter::write
    - geos::io::WKTWriter::appendSurfaceText
    - static_cast<const Surface*>
    - getNumGeometries
    - Surface*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void WKTWriter::appendMultiSurfaceText(const GeometryCollection& multiSurface,
      OrdinateSet outputOrdinates, int level, Writer& writer) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/io/WKTWriter.cpp:624,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:626,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:630,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:633,1
    - Dst: geos::io::WKTWriter::appendGeometryTaggedText
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: getGeometryN
      Src: /src/geos/src/io/WKTWriter.cpp:636,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/io/WKTWriter.cpp:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' geometryCollection'
    - outputOrdinates
    - level
    - ' writer'
    argTypes:
    - GeometryCollection
    - OrdinateSet
    - int
    - Writer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 640
    functionName: geos::io::WKTWriter::appendGeometryCollectionText
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 4
    functionsReached:
    - getNumGeometries
    - geos::io::WKTWriter::appendGeometryTaggedText
    - geos::io::WKTWriter::write
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: "void WKTWriter::appendGeometryCollectionText(\n    const GeometryCollection&
      geometryCollection,\n    OrdinateSet outputOrdinates,\n    int level,\n    Writer&
      writer) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:648,1
    - Dst: Writer*::write
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: string
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/io/WKTWriter.cpp:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - level
    - writer
    argTypes:
    - int
    - Writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: geos::io::WKTWriter::indent
    functionSourceFile: /src/geos/src/io/WKTWriter.cpp
    functionUses: 20
    functionsReached:
    - string
    - Writer*::write
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void WKTWriter::indent(int level, Writer* writer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/GeoJSONWriter.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: geos::io::GeoJSONWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setOutputDimension(uint8_t dims)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newIsForceCCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: geos::io::GeoJSONWriter::setForceCCW
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setForceCCW(bool newIsForceCCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:62,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geometry
    - type
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const geom::Geometry* geometry, GeoJSONType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:69,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geometry
    - type
    - indent
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::io::GeoJSONWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::writeFormatted(const geom::Geometry* geometry,
      GeoJSONType type, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:76,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' feature'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - json::dump
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeature& feature)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:83,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:84,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: isString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:91,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:92,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: isBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:99,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:100,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:101,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: isNull
      Src: /src/geos/src/io/GeoJSONWriter.cpp:107,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:112,1
    - Dst: isArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:115,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:116,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:117,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:118,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:119,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:123,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:124,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:127,1
    - Dst: isObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:130,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:131,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:132,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:133,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:134,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:138,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:139,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:140,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - ' j'
    argTypes:
    - std::string
    - GeoJSONValue
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 145
    functionName: geos::io::GeoJSONWriter::encodeGeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - isNull
    - getObject
    - isObject
    - make_array
    - getBoolean
    - isNumber
    - is_object
    - getString
    - push_back
    - isBoolean
    - isArray
    - isString
    - getArray
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    - getNumber
    linkageType: ''
    returnType: void
    signature: "void GeoJSONWriter::encodeGeoJSONValue(const std::string& key, const
      GeoJSONValue& value,\n                                       geos_nlohmann::ordered_json&
      j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:151,1
    - Dst: getFeatures
      Src: /src/geos/src/io/GeoJSONWriter.cpp:152,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:154,1
    - Dst: json::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:155,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' features'
    argTypes:
    - GeoJSONFeatureCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - getFeatures
    - make_array
    - json::dump
    - json::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeatureCollection& features)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: getGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:171,1
    - Dst: getProperties
      Src: /src/geos/src/io/GeoJSONWriter.cpp:172,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' feature'
    - ' j'
    argTypes:
    - GeoJSONFeature
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - getId
    - getGeometry
    - getProperties
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeometry
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const GeoJSONFeature& feature, geos_nlohmann::ordered_json&
      j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:183,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:186,1
    - Dst: geos::io::GeoJSONWriter::encodeFeatureCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - geometry
    - geojsonType
    - ' j'
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: geos::io::GeoJSONWriter::encode
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::GeoJSONWriter::encodeFeatureCollection
    - geos::io::GeoJSONWriter::encodeFeature
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encode(const geom::Geometry* geometry, GeoJSONType
      geojsonType, geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const geom::Geometry* g, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::io::GeoJSONWriter::encodeFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeatureCollection(const geom::Geometry* g,
      geos_nlohmann::ordered_json& j)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/io/GeoJSONWriter.cpp:213,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:215,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:217,1
    - Dst: geos::io::GeoJSONWriter::encodePoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:218,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:221,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:222,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:225,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:226,1
    - Dst: static_cast<const geom::Polygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:229,1
    - Dst: auto::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:231,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:232,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:235,1
    - Dst: static_cast<const geom::MultiPoint*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:239,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:240,1
    - Dst: static_cast<const geom::MultiLineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:243,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:244,1
    - Dst: static_cast<const geom::MultiPolygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:247,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:248,1
    - Dst: static_cast<const geom::GeometryCollection*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:251,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometryCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geometry
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONWriter::encodeGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::GeoJSONWriter::encodeMultiLineString
    - geos::io::GeoJSONWriter::encodeLineString
    - auto::get
    - geos::io::GeoJSONWriter::encodeMultiPoint
    - static_cast<const geom::LineString*>
    - static_cast<const geom::MultiPoint*>
    - static_cast<const geom::MultiLineString*>
    - static_cast<const geom::GeometryCollection*>
    - geos::util::ensureNoCurvedComponents
    - geos::io::GeoJSONWriter::encodePoint
    - auto::orientRings
    - geos::io::GeoJSONWriter::encodeMultiPolygon
    - static_cast<const geom::Polygon*>
    - geos::io::GeoJSONWriter::encodePolygon
    - static_cast<const geom::Point*>
    - auto::clone
    - geom::Geometry*::getGeometryTypeId
    - static_cast<const geom::MultiPolygon*>
    - geos::io::GeoJSONWriter::encodeGeometryCollection
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometry(const geom::Geometry* geometry,
      geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/src/io/GeoJSONWriter.cpp:259,1
    - Dst: geom::Point*::getX
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getY
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getZ
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:261,1
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - point
    - ' j'
    argTypes:
    - geom::Point*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: geos::io::GeoJSONWriter::encodePoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::GeoJSONWriter::convertCoordinate
    - array
    - geom::Point*::getY
    - geom::Point*::getX
    - geom::Point*::getZ
    - geom::Point*::isEmpty
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePoint(const geom::Point* point, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - line
    - ' j'
    argTypes:
    - geom::LineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: geos::io::GeoJSONWriter::encodeLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - geom::LineString*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeLineString(const geom::LineString* line,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' j'
    argTypes:
    - geom::Polygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::io::GeoJSONWriter::encodePolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - geos::io::GeoJSONWriter::convertLinearRings
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePolygon(const geom::Polygon* poly, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    - Dst: geom::MultiPoint*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - multiPoint
    - ' j'
    argTypes:
    - geom::MultiPoint*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: geos::io::GeoJSONWriter::encodeMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - geom::MultiPoint*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPoint(const geom::MultiPoint* multiPoint,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geom::MultiLineString*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - multiLineString
    - ' j'
    argTypes:
    - geom::MultiLineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: geos::io::GeoJSONWriter::encodeMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - std::vector::push_back
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - geom::MultiLineString*::getGeometryN
    - geom::MultiLineString*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiLineString(const geom::MultiLineString*
      multiLineString, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:302,1
    - Dst: geom::MultiPolygon*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:303,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:305,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - multiPolygon
    - ' json'
    argTypes:
    - geom::MultiPolygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: geos::io::GeoJSONWriter::encodeMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - geom::MultiPolygon*::getNumGeometries
    - std::vector::push_back
    - geom::MultiPolygon*::getGeometryN
    - geos::io::GeoJSONWriter::convertLinearRings
    - auto::get
    - auto::orientRings
    - Polygon*::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPolygon(const geom::MultiPolygon* multiPolygon,
      geos_nlohmann::ordered_json& json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:318,1
    - Dst: geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:319,1
    - Dst: object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:320,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: geom::GeometryCollection*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: auto::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::GeometryCollection*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONWriter::encodeGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - geom::GeometryCollection*::getNumGeometries
    - geom::GeometryCollection*::getGeometryN
    - array
    - auto::push_back
    - object
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometryCollection(const geom::GeometryCollection*
      g, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/io/GeoJSONWriter.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: geos::io::GeoJSONWriter::convertCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 1
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> GeoJSONWriter::convertCoordinate(const Coordinate*
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:340,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/GeoJSONWriter.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - coordinateSequence
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: geos::io::GeoJSONWriter::convertCoordinateSequence
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinate
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::vector<std::vector<double>>
    signature: "std::vector<std::vector<double>> GeoJSONWriter::convertCoordinateSequence(const
      CoordinateSequence*\n                                    coordinateSequence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Polygon*::getExteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:350,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: auto::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:353,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geom::Polygon*::getInteriorRingN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: geos::io::GeoJSONWriter::convertLinearRings
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - auto::getCoordinates
    - geom::Polygon*::getNumInteriorRing
    - geom::Polygon*::getInteriorRingN
    - std::vector::push_back
    - geom::Polygon*::getExteriorRing
    linkageType: ''
    returnType: std::vector<std::vector<std::vector<double>>>
    signature: std::vector<std::vector<std::vector<double>>> GeoJSONWriter::convertLinearRings(const
      geom::Polygon* poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/GeoJSONWriter.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: geos::io::GeoJSONWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setOutputDimension(uint8_t dims)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newIsForceCCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: geos::io::GeoJSONWriter::setForceCCW
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setForceCCW(bool newIsForceCCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:62,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geometry
    - type
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const geom::Geometry* geometry, GeoJSONType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:69,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geometry
    - type
    - indent
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::io::GeoJSONWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::writeFormatted(const geom::Geometry* geometry,
      GeoJSONType type, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:76,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' feature'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - json::dump
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeature& feature)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:83,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:84,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: isString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:91,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:92,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: isBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:99,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:100,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:101,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: isNull
      Src: /src/geos/src/io/GeoJSONWriter.cpp:107,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:112,1
    - Dst: isArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:115,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:116,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:117,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:118,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:119,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:123,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:124,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:127,1
    - Dst: isObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:130,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:131,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:132,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:133,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:134,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:138,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:139,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:140,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - ' j'
    argTypes:
    - std::string
    - GeoJSONValue
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 145
    functionName: geos::io::GeoJSONWriter::encodeGeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - isNull
    - getObject
    - isObject
    - make_array
    - getBoolean
    - isNumber
    - is_object
    - getString
    - push_back
    - isBoolean
    - isArray
    - isString
    - getArray
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    - getNumber
    linkageType: ''
    returnType: void
    signature: "void GeoJSONWriter::encodeGeoJSONValue(const std::string& key, const
      GeoJSONValue& value,\n                                       geos_nlohmann::ordered_json&
      j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:151,1
    - Dst: getFeatures
      Src: /src/geos/src/io/GeoJSONWriter.cpp:152,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:154,1
    - Dst: json::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:155,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' features'
    argTypes:
    - GeoJSONFeatureCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - getFeatures
    - make_array
    - json::dump
    - json::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeatureCollection& features)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: getGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:171,1
    - Dst: getProperties
      Src: /src/geos/src/io/GeoJSONWriter.cpp:172,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' feature'
    - ' j'
    argTypes:
    - GeoJSONFeature
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 6
    functionsReached:
    - getId
    - getGeometry
    - getProperties
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeometry
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const GeoJSONFeature& feature, geos_nlohmann::ordered_json&
      j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:183,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:186,1
    - Dst: geos::io::GeoJSONWriter::encodeFeatureCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - geometry
    - geojsonType
    - ' j'
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: geos::io::GeoJSONWriter::encode
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::GeoJSONWriter::encodeFeatureCollection
    - geos::io::GeoJSONWriter::encodeFeature
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encode(const geom::Geometry* geometry, GeoJSONType
      geojsonType, geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const geom::Geometry* g, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::io::GeoJSONWriter::encodeFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeatureCollection(const geom::Geometry* g,
      geos_nlohmann::ordered_json& j)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/io/GeoJSONWriter.cpp:213,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:215,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:217,1
    - Dst: geos::io::GeoJSONWriter::encodePoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:218,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:221,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:222,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:225,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:226,1
    - Dst: static_cast<const geom::Polygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:229,1
    - Dst: auto::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:231,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:232,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:235,1
    - Dst: static_cast<const geom::MultiPoint*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:239,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:240,1
    - Dst: static_cast<const geom::MultiLineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:243,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:244,1
    - Dst: static_cast<const geom::MultiPolygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:247,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:248,1
    - Dst: static_cast<const geom::GeometryCollection*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:251,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometryCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geometry
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONWriter::encodeGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 7
    functionsReached:
    - geos::io::GeoJSONWriter::encodeMultiLineString
    - geos::io::GeoJSONWriter::encodeLineString
    - auto::get
    - geos::io::GeoJSONWriter::encodeMultiPoint
    - static_cast<const geom::LineString*>
    - static_cast<const geom::MultiPoint*>
    - static_cast<const geom::MultiLineString*>
    - static_cast<const geom::GeometryCollection*>
    - geos::util::ensureNoCurvedComponents
    - geos::io::GeoJSONWriter::encodePoint
    - auto::orientRings
    - geos::io::GeoJSONWriter::encodeMultiPolygon
    - static_cast<const geom::Polygon*>
    - geos::io::GeoJSONWriter::encodePolygon
    - static_cast<const geom::Point*>
    - auto::clone
    - geom::Geometry*::getGeometryTypeId
    - static_cast<const geom::MultiPolygon*>
    - geos::io::GeoJSONWriter::encodeGeometryCollection
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometry(const geom::Geometry* geometry,
      geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/src/io/GeoJSONWriter.cpp:259,1
    - Dst: geom::Point*::getX
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getY
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getZ
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:261,1
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - point
    - ' j'
    argTypes:
    - geom::Point*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: geos::io::GeoJSONWriter::encodePoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::GeoJSONWriter::convertCoordinate
    - array
    - geom::Point*::getY
    - geom::Point*::getX
    - geom::Point*::getZ
    - geom::Point*::isEmpty
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePoint(const geom::Point* point, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - line
    - ' j'
    argTypes:
    - geom::LineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: geos::io::GeoJSONWriter::encodeLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - geom::LineString*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeLineString(const geom::LineString* line,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' j'
    argTypes:
    - geom::Polygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::io::GeoJSONWriter::encodePolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - geos::io::GeoJSONWriter::convertLinearRings
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePolygon(const geom::Polygon* poly, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    - Dst: geom::MultiPoint*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - multiPoint
    - ' j'
    argTypes:
    - geom::MultiPoint*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: geos::io::GeoJSONWriter::encodeMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - geom::MultiPoint*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPoint(const geom::MultiPoint* multiPoint,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geom::MultiLineString*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - multiLineString
    - ' j'
    argTypes:
    - geom::MultiLineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: geos::io::GeoJSONWriter::encodeMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - std::vector::push_back
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - geom::MultiLineString*::getGeometryN
    - geom::MultiLineString*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiLineString(const geom::MultiLineString*
      multiLineString, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:302,1
    - Dst: geom::MultiPolygon*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:303,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:305,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - multiPolygon
    - ' json'
    argTypes:
    - geom::MultiPolygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: geos::io::GeoJSONWriter::encodeMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - geom::MultiPolygon*::getNumGeometries
    - std::vector::push_back
    - geom::MultiPolygon*::getGeometryN
    - geos::io::GeoJSONWriter::convertLinearRings
    - auto::get
    - auto::orientRings
    - Polygon*::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPolygon(const geom::MultiPolygon* multiPolygon,
      geos_nlohmann::ordered_json& json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:318,1
    - Dst: geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:319,1
    - Dst: object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:320,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: geom::GeometryCollection*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: auto::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::GeometryCollection*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONWriter::encodeGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 2
    functionsReached:
    - geom::GeometryCollection*::getNumGeometries
    - geom::GeometryCollection*::getGeometryN
    - array
    - auto::push_back
    - object
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometryCollection(const geom::GeometryCollection*
      g, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/io/GeoJSONWriter.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: geos::io::GeoJSONWriter::convertCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> GeoJSONWriter::convertCoordinate(const Coordinate*
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:340,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/GeoJSONWriter.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - coordinateSequence
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: geos::io::GeoJSONWriter::convertCoordinateSequence
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence*::getAt
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinate
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::vector<std::vector<double>>
    signature: "std::vector<std::vector<double>> GeoJSONWriter::convertCoordinateSequence(const
      CoordinateSequence*\n                                    coordinateSequence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Polygon*::getExteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:350,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: auto::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:353,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geom::Polygon*::getInteriorRingN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: geos::io::GeoJSONWriter::convertLinearRings
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - auto::getCoordinates
    - geom::Polygon*::getNumInteriorRing
    - geom::Polygon*::getInteriorRingN
    - std::vector::push_back
    - geom::Polygon*::getExteriorRing
    linkageType: ''
    returnType: std::vector<std::vector<std::vector<double>>>
    signature: std::vector<std::vector<std::vector<double>>> GeoJSONWriter::convertLinearRings(const
      geom::Polygon* poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/GeoJSONWriter.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: geos::io::GeoJSONWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setOutputDimension(uint8_t dims)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newIsForceCCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: geos::io::GeoJSONWriter::setForceCCW
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setForceCCW(bool newIsForceCCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:62,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geometry
    - type
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const geom::Geometry* geometry, GeoJSONType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:69,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geometry
    - type
    - indent
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::io::GeoJSONWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::writeFormatted(const geom::Geometry* geometry,
      GeoJSONType type, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:76,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' feature'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - json::dump
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeature& feature)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:83,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:84,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: isString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:91,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:92,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: isBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:99,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:100,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:101,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: isNull
      Src: /src/geos/src/io/GeoJSONWriter.cpp:107,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:112,1
    - Dst: isArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:115,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:116,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:117,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:118,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:119,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:123,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:124,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:127,1
    - Dst: isObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:130,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:131,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:132,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:133,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:134,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:138,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:139,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:140,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - ' j'
    argTypes:
    - std::string
    - GeoJSONValue
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 145
    functionName: geos::io::GeoJSONWriter::encodeGeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 5
    functionsReached:
    - isNull
    - getObject
    - isObject
    - make_array
    - getBoolean
    - isNumber
    - is_object
    - getString
    - push_back
    - isBoolean
    - isArray
    - isString
    - getArray
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    - getNumber
    linkageType: ''
    returnType: void
    signature: "void GeoJSONWriter::encodeGeoJSONValue(const std::string& key, const
      GeoJSONValue& value,\n                                       geos_nlohmann::ordered_json&
      j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:151,1
    - Dst: getFeatures
      Src: /src/geos/src/io/GeoJSONWriter.cpp:152,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:154,1
    - Dst: json::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:155,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' features'
    argTypes:
    - GeoJSONFeatureCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - getFeatures
    - make_array
    - json::dump
    - json::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeatureCollection& features)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: getGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:171,1
    - Dst: getProperties
      Src: /src/geos/src/io/GeoJSONWriter.cpp:172,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' feature'
    - ' j'
    argTypes:
    - GeoJSONFeature
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 10
    functionsReached:
    - getId
    - getGeometry
    - getProperties
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeometry
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const GeoJSONFeature& feature, geos_nlohmann::ordered_json&
      j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:183,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:186,1
    - Dst: geos::io::GeoJSONWriter::encodeFeatureCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - geometry
    - geojsonType
    - ' j'
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: geos::io::GeoJSONWriter::encode
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 6
    functionsReached:
    - geos::io::GeoJSONWriter::encodeFeatureCollection
    - geos::io::GeoJSONWriter::encodeFeature
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encode(const geom::Geometry* geometry, GeoJSONType
      geojsonType, geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 11
    functionsReached:
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const geom::Geometry* g, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::io::GeoJSONWriter::encodeFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeatureCollection(const geom::Geometry* g,
      geos_nlohmann::ordered_json& j)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/io/GeoJSONWriter.cpp:213,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:215,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:217,1
    - Dst: geos::io::GeoJSONWriter::encodePoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:218,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:221,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:222,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:225,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:226,1
    - Dst: static_cast<const geom::Polygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:229,1
    - Dst: auto::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:231,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:232,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:235,1
    - Dst: static_cast<const geom::MultiPoint*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:239,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:240,1
    - Dst: static_cast<const geom::MultiLineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:243,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:244,1
    - Dst: static_cast<const geom::MultiPolygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:247,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:248,1
    - Dst: static_cast<const geom::GeometryCollection*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:251,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometryCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geometry
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONWriter::encodeGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 11
    functionsReached:
    - geos::io::GeoJSONWriter::encodeMultiLineString
    - geos::io::GeoJSONWriter::encodeLineString
    - auto::get
    - geos::io::GeoJSONWriter::encodeMultiPoint
    - static_cast<const geom::LineString*>
    - static_cast<const geom::MultiPoint*>
    - static_cast<const geom::MultiLineString*>
    - static_cast<const geom::GeometryCollection*>
    - geos::util::ensureNoCurvedComponents
    - geos::io::GeoJSONWriter::encodePoint
    - auto::orientRings
    - geos::io::GeoJSONWriter::encodeMultiPolygon
    - static_cast<const geom::Polygon*>
    - geos::io::GeoJSONWriter::encodePolygon
    - static_cast<const geom::Point*>
    - auto::clone
    - geom::Geometry*::getGeometryTypeId
    - static_cast<const geom::MultiPolygon*>
    - geos::io::GeoJSONWriter::encodeGeometryCollection
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometry(const geom::Geometry* geometry,
      geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/src/io/GeoJSONWriter.cpp:259,1
    - Dst: geom::Point*::getX
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getY
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getZ
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:261,1
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - point
    - ' j'
    argTypes:
    - geom::Point*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: geos::io::GeoJSONWriter::encodePoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::GeoJSONWriter::convertCoordinate
    - array
    - geom::Point*::getY
    - geom::Point*::getX
    - geom::Point*::getZ
    - geom::Point*::isEmpty
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePoint(const geom::Point* point, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - line
    - ' j'
    argTypes:
    - geom::LineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: geos::io::GeoJSONWriter::encodeLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - geom::LineString*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeLineString(const geom::LineString* line,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' j'
    argTypes:
    - geom::Polygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::io::GeoJSONWriter::encodePolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - geos::io::GeoJSONWriter::convertLinearRings
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePolygon(const geom::Polygon* poly, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    - Dst: geom::MultiPoint*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - multiPoint
    - ' j'
    argTypes:
    - geom::MultiPoint*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: geos::io::GeoJSONWriter::encodeMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - geom::MultiPoint*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPoint(const geom::MultiPoint* multiPoint,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geom::MultiLineString*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - multiLineString
    - ' j'
    argTypes:
    - geom::MultiLineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: geos::io::GeoJSONWriter::encodeMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - std::vector::reserve
    - std::vector::push_back
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - geom::MultiLineString*::getGeometryN
    - geom::MultiLineString*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiLineString(const geom::MultiLineString*
      multiLineString, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:302,1
    - Dst: geom::MultiPolygon*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:303,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:305,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - multiPolygon
    - ' json'
    argTypes:
    - geom::MultiPolygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: geos::io::GeoJSONWriter::encodeMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - std::vector::reserve
    - geom::MultiPolygon*::getNumGeometries
    - std::vector::push_back
    - geom::MultiPolygon*::getGeometryN
    - geos::io::GeoJSONWriter::convertLinearRings
    - auto::get
    - auto::orientRings
    - Polygon*::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPolygon(const geom::MultiPolygon* multiPolygon,
      geos_nlohmann::ordered_json& json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:318,1
    - Dst: geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:319,1
    - Dst: object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:320,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: geom::GeometryCollection*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: auto::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::GeometryCollection*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONWriter::encodeGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 3
    functionsReached:
    - geom::GeometryCollection*::getNumGeometries
    - geom::GeometryCollection*::getGeometryN
    - array
    - auto::push_back
    - object
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometryCollection(const geom::GeometryCollection*
      g, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/io/GeoJSONWriter.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: geos::io::GeoJSONWriter::convertCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 5
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> GeoJSONWriter::convertCoordinate(const Coordinate*
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:340,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/GeoJSONWriter.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - coordinateSequence
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: geos::io::GeoJSONWriter::convertCoordinateSequence
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 11
    functionsReached:
    - CoordinateSequence*::getAt
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinate
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::vector<std::vector<double>>
    signature: "std::vector<std::vector<double>> GeoJSONWriter::convertCoordinateSequence(const
      CoordinateSequence*\n                                    coordinateSequence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Polygon*::getExteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:350,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: auto::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:353,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geom::Polygon*::getInteriorRingN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: geos::io::GeoJSONWriter::convertLinearRings
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 6
    functionsReached:
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - auto::getCoordinates
    - geom::Polygon*::getNumInteriorRing
    - geom::Polygon*::getInteriorRingN
    - std::vector::push_back
    - geom::Polygon*::getExteriorRing
    linkageType: ''
    returnType: std::vector<std::vector<std::vector<double>>>
    signature: std::vector<std::vector<std::vector<double>>> GeoJSONWriter::convertLinearRings(const
      geom::Polygon* poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/io/GeoJSONWriter.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dims
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: geos::io::GeoJSONWriter::setOutputDimension
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setOutputDimension(uint8_t dims)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newIsForceCCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: geos::io::GeoJSONWriter::setForceCCW
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::setForceCCW(bool newIsForceCCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:62,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geometry
    - type
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const geom::Geometry* geometry, GeoJSONType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encode
      Src: /src/geos/src/io/GeoJSONWriter.cpp:69,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geometry
    - type
    - indent
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::io::GeoJSONWriter::writeFormatted
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONWriter::encode
    - json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::writeFormatted(const geom::Geometry* geometry,
      GeoJSONType type, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:76,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' feature'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - json::dump
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeature& feature)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:83,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:84,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: getNumber
      Src: /src/geos/src/io/GeoJSONWriter.cpp:88,1
    - Dst: isString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:91,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:92,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: getString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:96,1
    - Dst: isBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:99,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:100,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:101,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: getBoolean
      Src: /src/geos/src/io/GeoJSONWriter.cpp:104,1
    - Dst: isNull
      Src: /src/geos/src/io/GeoJSONWriter.cpp:107,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:112,1
    - Dst: isArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:115,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:116,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:117,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:118,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:119,1
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:123,1
    - Dst: getArray
      Src: /src/geos/src/io/GeoJSONWriter.cpp:124,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:125,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:127,1
    - Dst: isObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:130,1
    - Dst: is_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:131,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:132,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:133,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:134,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:138,1
    - Dst: getObject
      Src: /src/geos/src/io/GeoJSONWriter.cpp:139,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:140,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - ' key'
    - ' value'
    - ' j'
    argTypes:
    - std::string
    - GeoJSONValue
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 145
    functionName: geos::io::GeoJSONWriter::encodeGeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 7
    functionsReached:
    - isNull
    - getObject
    - isObject
    - make_array
    - getBoolean
    - isNumber
    - is_object
    - getString
    - push_back
    - isBoolean
    - isArray
    - isString
    - getArray
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    - getNumber
    linkageType: ''
    returnType: void
    signature: "void GeoJSONWriter::encodeGeoJSONValue(const std::string& key, const
      GeoJSONValue& value,\n                                       geos_nlohmann::ordered_json&
      j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:151,1
    - Dst: getFeatures
      Src: /src/geos/src/io/GeoJSONWriter.cpp:152,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:154,1
    - Dst: json::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:155,1
    - Dst: json::dump
      Src: /src/geos/src/io/GeoJSONWriter.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' features'
    argTypes:
    - GeoJSONFeatureCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::io::GeoJSONWriter::write
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 0
    functionsReached:
    - getFeatures
    - make_array
    - json::dump
    - json::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: std::string
    signature: std::string GeoJSONWriter::write(const GeoJSONFeatureCollection& features)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: getId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:165,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: getGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:168,1
    - Dst: tut::test_object::test_object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:171,1
    - Dst: getProperties
      Src: /src/geos/src/io/GeoJSONWriter.cpp:172,1
    - Dst: geos::io::GeoJSONWriter::encodeGeoJSONValue
      Src: /src/geos/src/io/GeoJSONWriter.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' feature'
    - ' j'
    argTypes:
    - GeoJSONFeature
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 14
    functionsReached:
    - getId
    - getGeometry
    - getProperties
    - tut::test_object::test_object
    - geos::io::GeoJSONWriter::encodeGeometry
    - geos::io::GeoJSONWriter::encodeGeoJSONValue
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const GeoJSONFeature& feature, geos_nlohmann::ordered_json&
      j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:183,1
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:186,1
    - Dst: geos::io::GeoJSONWriter::encodeFeatureCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - geometry
    - geojsonType
    - ' j'
    argTypes:
    - geom::Geometry*
    - GeoJSONType
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: geos::io::GeoJSONWriter::encode
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 8
    functionsReached:
    - geos::io::GeoJSONWriter::encodeFeatureCollection
    - geos::io::GeoJSONWriter::encodeFeature
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encode(const geom::Geometry* geometry, GeoJSONType
      geojsonType, geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: geos::io::GeoJSONWriter::encodeFeature
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 15
    functionsReached:
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeature(const geom::Geometry* g, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::encodeFeature
      Src: /src/geos/src/io/GeoJSONWriter.cpp:204,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::io::GeoJSONWriter::encodeFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - geos::io::GeoJSONWriter::encodeFeature
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeFeatureCollection(const geom::Geometry* g,
      geos_nlohmann::ordered_json& j)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/io/GeoJSONWriter.cpp:213,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/io/GeoJSONWriter.cpp:215,1
    - Dst: static_cast<const geom::Point*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:217,1
    - Dst: geos::io::GeoJSONWriter::encodePoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:218,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:221,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:222,1
    - Dst: static_cast<const geom::LineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:225,1
    - Dst: geos::io::GeoJSONWriter::encodeLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:226,1
    - Dst: static_cast<const geom::Polygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:229,1
    - Dst: auto::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:231,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:232,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:233,1
    - Dst: geos::io::GeoJSONWriter::encodePolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:235,1
    - Dst: static_cast<const geom::MultiPoint*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:239,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPoint
      Src: /src/geos/src/io/GeoJSONWriter.cpp:240,1
    - Dst: static_cast<const geom::MultiLineString*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:243,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiLineString
      Src: /src/geos/src/io/GeoJSONWriter.cpp:244,1
    - Dst: static_cast<const geom::MultiPolygon*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:247,1
    - Dst: geos::io::GeoJSONWriter::encodeMultiPolygon
      Src: /src/geos/src/io/GeoJSONWriter.cpp:248,1
    - Dst: static_cast<const geom::GeometryCollection*>
      Src: /src/geos/src/io/GeoJSONWriter.cpp:251,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometryCollection
      Src: /src/geos/src/io/GeoJSONWriter.cpp:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geometry
    - ' j'
    argTypes:
    - geom::Geometry*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: geos::io::GeoJSONWriter::encodeGeometry
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 15
    functionsReached:
    - geos::io::GeoJSONWriter::encodeMultiLineString
    - geos::io::GeoJSONWriter::encodeLineString
    - auto::get
    - geos::io::GeoJSONWriter::encodeMultiPoint
    - static_cast<const geom::LineString*>
    - static_cast<const geom::MultiPoint*>
    - static_cast<const geom::MultiLineString*>
    - static_cast<const geom::GeometryCollection*>
    - geos::util::ensureNoCurvedComponents
    - geos::io::GeoJSONWriter::encodePoint
    - auto::orientRings
    - geos::io::GeoJSONWriter::encodeMultiPolygon
    - static_cast<const geom::Polygon*>
    - geos::io::GeoJSONWriter::encodePolygon
    - static_cast<const geom::Point*>
    - auto::clone
    - geom::Geometry*::getGeometryTypeId
    - static_cast<const geom::MultiPolygon*>
    - geos::io::GeoJSONWriter::encodeGeometryCollection
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometry(const geom::Geometry* geometry,
      geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::Point*::isEmpty
      Src: /src/geos/src/io/GeoJSONWriter.cpp:259,1
    - Dst: geom::Point*::getX
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getY
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geom::Point*::getZ
      Src: /src/geos/src/io/GeoJSONWriter.cpp:260,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:261,1
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - point
    - ' j'
    argTypes:
    - geom::Point*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: geos::io::GeoJSONWriter::encodePoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::GeoJSONWriter::convertCoordinate
    - array
    - geom::Point*::getY
    - geom::Point*::getX
    - geom::Point*::getZ
    - geom::Point*::isEmpty
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePoint(const geom::Point* point, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - line
    - ' j'
    argTypes:
    - geom::LineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: geos::io::GeoJSONWriter::encodeLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - geom::LineString*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeLineString(const geom::LineString* line,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' j'
    argTypes:
    - geom::Polygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::io::GeoJSONWriter::encodePolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - geos::io::GeoJSONWriter::convertLinearRings
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodePolygon(const geom::Polygon* poly, geos_nlohmann::ordered_json&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    - Dst: geom::MultiPoint*::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - multiPoint
    - ' j'
    argTypes:
    - geom::MultiPoint*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: geos::io::GeoJSONWriter::encodeMultiPoint
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - geom::MultiPoint*::getCoordinates
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPoint(const geom::MultiPoint* multiPoint,
      geos_nlohmann::ordered_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:290,1
    - Dst: geom::MultiLineString*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    - Dst: geom::MultiLineString*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - multiLineString
    - ' j'
    argTypes:
    - geom::MultiLineString*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: geos::io::GeoJSONWriter::encodeMultiLineString
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - std::vector::reserve
    - std::vector::push_back
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - geom::MultiLineString*::getGeometryN
    - geom::MultiLineString*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiLineString(const geom::MultiLineString*
      multiLineString, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:301,1
    - Dst: geom::MultiPolygon*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:302,1
    - Dst: geom::MultiPolygon*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:303,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/io/GeoJSONWriter.cpp:305,1
    - Dst: auto::orientRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: auto::get
      Src: /src/geos/src/io/GeoJSONWriter.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    - Dst: geos::io::GeoJSONWriter::convertLinearRings
      Src: /src/geos/src/io/GeoJSONWriter.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - multiPolygon
    - ' json'
    argTypes:
    - geom::MultiPolygon*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: geos::io::GeoJSONWriter::encodeMultiPolygon
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - std::vector::reserve
    - geom::MultiPolygon*::getNumGeometries
    - std::vector::push_back
    - geom::MultiPolygon*::getGeometryN
    - geos::io::GeoJSONWriter::convertLinearRings
    - auto::get
    - auto::orientRings
    - Polygon*::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeMultiPolygon(const geom::MultiPolygon* multiPolygon,
      geos_nlohmann::ordered_json& json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array
      Src: /src/geos/src/io/GeoJSONWriter.cpp:318,1
    - Dst: geom::GeometryCollection*::getNumGeometries
      Src: /src/geos/src/io/GeoJSONWriter.cpp:319,1
    - Dst: object
      Src: /src/geos/src/io/GeoJSONWriter.cpp:320,1
    - Dst: geos::io::GeoJSONWriter::encodeGeometry
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: geom::GeometryCollection*::getGeometryN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:321,1
    - Dst: auto::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - g
    - ' j'
    argTypes:
    - geom::GeometryCollection*
    - geos_nlohmann::ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: geos::io::GeoJSONWriter::encodeGeometryCollection
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 4
    functionsReached:
    - geom::GeometryCollection*::getNumGeometries
    - geom::GeometryCollection*::getGeometryN
    - array
    - auto::push_back
    - object
    - geos::io::GeoJSONWriter::encodeGeometry
    linkageType: ''
    returnType: void
    signature: void GeoJSONWriter::encodeGeometryCollection(const geom::GeometryCollection*
      g, geos_nlohmann::ordered_json& j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/io/GeoJSONWriter.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: geos::io::GeoJSONWriter::convertCoordinate
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 7
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> GeoJSONWriter::convertCoordinate(const Coordinate*
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:339,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/io/GeoJSONWriter.cpp:340,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/io/GeoJSONWriter.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinate
      Src: /src/geos/src/io/GeoJSONWriter.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - coordinateSequence
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: geos::io::GeoJSONWriter::convertCoordinateSequence
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 15
    functionsReached:
    - CoordinateSequence*::getAt
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinate
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::vector<std::vector<double>>
    signature: "std::vector<std::vector<double>> GeoJSONWriter::convertCoordinateSequence(const
      CoordinateSequence*\n                                    coordinateSequence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Polygon*::getExteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:350,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:351,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: auto::getCoordinates
      Src: /src/geos/src/io/GeoJSONWriter.cpp:352,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/io/GeoJSONWriter.cpp:353,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geos::io::GeoJSONWriter::convertCoordinateSequence
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    - Dst: geom::Polygon*::getInteriorRingN
      Src: /src/geos/src/io/GeoJSONWriter.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: geos::io::GeoJSONWriter::convertLinearRings
    functionSourceFile: /src/geos/src/io/GeoJSONWriter.cpp
    functionUses: 8
    functionsReached:
    - std::vector::reserve
    - geos::io::GeoJSONWriter::convertCoordinateSequence
    - auto::getCoordinates
    - geom::Polygon*::getNumInteriorRing
    - geom::Polygon*::getInteriorRingN
    - std::vector::push_back
    - geom::Polygon*::getExteriorRing
    linkageType: ''
    returnType: std::vector<std::vector<std::vector<double>>>
    signature: std::vector<std::vector<std::vector<double>>> GeoJSONWriter::convertLinearRings(const
      geom::Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTStreamReader::WKTStreamReader
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::WKTStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTStreamReader::~WKTStreamReader()
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::~WKTStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTStreamReader.cpp:54,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: read
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: geos::io::WKTStreamReader::next
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - read
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTStreamReader::WKTStreamReader
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::WKTStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTStreamReader::~WKTStreamReader()
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::~WKTStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTStreamReader.cpp:54,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: read
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: geos::io::WKTStreamReader::next
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - read
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTStreamReader::WKTStreamReader
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::WKTStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTStreamReader::~WKTStreamReader()
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::~WKTStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTStreamReader.cpp:54,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: read
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: geos::io::WKTStreamReader::next
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - read
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_instr'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::io::WKTStreamReader::WKTStreamReader
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::WKTStreamReader(std::istream& p_instr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WKTStreamReader::~WKTStreamReader()
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WKTStreamReader::~WKTStreamReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/geos/src/io/WKTStreamReader.cpp:54,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:59,1
    - Dst: count
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::begin
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: std::string::end
      Src: /src/geos/src/io/WKTStreamReader.cpp:60,1
    - Dst: read
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/geos/src/io/WKTStreamReader.cpp:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: geos::io::WKTStreamReader::next
    functionSourceFile: /src/geos/src/io/WKTStreamReader.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - read
    - std::getline
    - std::string::end
    - count
    - std::string::c_str
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> WKTStreamReader::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::map<std::string, GeoJSONValue>&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:55,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::vector<GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - size
    - push_back
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::vector<GeoJSONValue>& value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ~string
      Src: /src/geos/src/io/GeoJSON.cpp:68,1
    - Dst: ~object
      Src: /src/geos/src/io/GeoJSON.cpp:71,1
    - Dst: ~array
      Src: /src/geos/src/io/GeoJSON.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: geos::io::GeoJSONValue::cleanup
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - ~string
    - ~array
    - ~object
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: GeoJSONValue::~GeoJSONValue()
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::~GeoJSONValue()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:93,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:99,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:102,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const GeoJSONValue& v)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:127,1
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:137,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:143,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:146,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:149,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: '& GeoJSONValue::operator=(const GeoJSONValue& v)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    - cleanup
    linkageType: ''
    returnType: GeoJSONValue
    signature: GeoJSONValue & GeoJSONValue::operator=(const GeoJSONValue& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: geos::io::GeoJSONValue::getNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeoJSONValue::getNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: '& GeoJSONValue::getString() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONValue::getString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::io::GeoJSONValue::getNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t GeoJSONValue::getNull() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::io::GeoJSONValue::getBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::getBoolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: '& GeoJSONValue::getObject() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONValue::getObject() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& GeoJSONValue::getArray() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONValue>
    signature: std::vector<GeoJSONValue> & GeoJSONValue::getArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: geos::io::GeoJSONValue::isNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: geos::io::GeoJSONValue::isString
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONValue::isNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: geos::io::GeoJSONValue::isBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isBoolean() const
  - 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: geos::io::GeoJSONValue::isObject
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isObject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: geos::io::GeoJSONValue::isArray
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - ' i'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p,\n                               const std::string& i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - i
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p,\n
      \                              std::string i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:245,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature&& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: '& GeoJSONFeature::operator=(const GeoJSONFeature& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(const GeoJSONFeature& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:260,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: '& GeoJSONFeature::operator=(GeoJSONFeature&& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(GeoJSONFeature&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/GeoJSON.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: geos::io::GeoJSONFeature::getGeometry
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: geom::Geometry
    signature: geom::Geometry * GeoJSONFeature::getGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '& GeoJSONFeature::getProperties() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONFeature::getProperties()
      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: '& GeoJSONFeature::getId() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONFeature::getId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(const std::vector<GeoJSONFeature>&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(std::vector<GeoJSONFeature>&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '& GeoJSONFeatureCollection::getFeatures() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONFeature>
    signature: std::vector<GeoJSONFeature> & GeoJSONFeatureCollection::getFeatures()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::map<std::string, GeoJSONValue>&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:55,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::vector<GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - size
    - push_back
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::vector<GeoJSONValue>& value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ~string
      Src: /src/geos/src/io/GeoJSON.cpp:68,1
    - Dst: ~object
      Src: /src/geos/src/io/GeoJSON.cpp:71,1
    - Dst: ~array
      Src: /src/geos/src/io/GeoJSON.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: geos::io::GeoJSONValue::cleanup
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - ~string
    - ~array
    - ~object
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: GeoJSONValue::~GeoJSONValue()
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::~GeoJSONValue()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:93,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:99,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:102,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const GeoJSONValue& v)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:127,1
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:137,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:143,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:146,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:149,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: '& GeoJSONValue::operator=(const GeoJSONValue& v)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    - cleanup
    linkageType: ''
    returnType: GeoJSONValue
    signature: GeoJSONValue & GeoJSONValue::operator=(const GeoJSONValue& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: geos::io::GeoJSONValue::getNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeoJSONValue::getNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: '& GeoJSONValue::getString() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONValue::getString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::io::GeoJSONValue::getNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t GeoJSONValue::getNull() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::io::GeoJSONValue::getBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::getBoolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: '& GeoJSONValue::getObject() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONValue::getObject() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& GeoJSONValue::getArray() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONValue>
    signature: std::vector<GeoJSONValue> & GeoJSONValue::getArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: geos::io::GeoJSONValue::isNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: geos::io::GeoJSONValue::isString
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONValue::isNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: geos::io::GeoJSONValue::isBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isBoolean() const
  - 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: geos::io::GeoJSONValue::isObject
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isObject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: geos::io::GeoJSONValue::isArray
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - ' i'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p,\n                               const std::string& i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - i
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p,\n
      \                              std::string i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:245,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature&& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: '& GeoJSONFeature::operator=(const GeoJSONFeature& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(const GeoJSONFeature& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:260,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: '& GeoJSONFeature::operator=(GeoJSONFeature&& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(GeoJSONFeature&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/GeoJSON.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: geos::io::GeoJSONFeature::getGeometry
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: geom::Geometry
    signature: geom::Geometry * GeoJSONFeature::getGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '& GeoJSONFeature::getProperties() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONFeature::getProperties()
      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: '& GeoJSONFeature::getId() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONFeature::getId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(const std::vector<GeoJSONFeature>&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(std::vector<GeoJSONFeature>&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '& GeoJSONFeatureCollection::getFeatures() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONFeature>
    signature: std::vector<GeoJSONFeature> & GeoJSONFeatureCollection::getFeatures()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::map<std::string, GeoJSONValue>&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:55,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::vector<GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - size
    - push_back
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::vector<GeoJSONValue>& value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ~string
      Src: /src/geos/src/io/GeoJSON.cpp:68,1
    - Dst: ~object
      Src: /src/geos/src/io/GeoJSON.cpp:71,1
    - Dst: ~array
      Src: /src/geos/src/io/GeoJSON.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: geos::io::GeoJSONValue::cleanup
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - ~string
    - ~array
    - ~object
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: GeoJSONValue::~GeoJSONValue()
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::~GeoJSONValue()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:93,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:99,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:102,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const GeoJSONValue& v)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:127,1
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:137,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:143,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:146,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:149,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: '& GeoJSONValue::operator=(const GeoJSONValue& v)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    - cleanup
    linkageType: ''
    returnType: GeoJSONValue
    signature: GeoJSONValue & GeoJSONValue::operator=(const GeoJSONValue& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: geos::io::GeoJSONValue::getNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeoJSONValue::getNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: '& GeoJSONValue::getString() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONValue::getString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::io::GeoJSONValue::getNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t GeoJSONValue::getNull() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::io::GeoJSONValue::getBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::getBoolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: '& GeoJSONValue::getObject() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONValue::getObject() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& GeoJSONValue::getArray() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONValue>
    signature: std::vector<GeoJSONValue> & GeoJSONValue::getArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: geos::io::GeoJSONValue::isNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: geos::io::GeoJSONValue::isString
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONValue::isNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: geos::io::GeoJSONValue::isBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isBoolean() const
  - 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: geos::io::GeoJSONValue::isObject
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isObject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: geos::io::GeoJSONValue::isArray
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - ' i'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p,\n                               const std::string& i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - i
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p,\n
      \                              std::string i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:245,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature&& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: '& GeoJSONFeature::operator=(const GeoJSONFeature& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(const GeoJSONFeature& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:260,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: '& GeoJSONFeature::operator=(GeoJSONFeature&& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(GeoJSONFeature&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/GeoJSON.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: geos::io::GeoJSONFeature::getGeometry
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: geom::Geometry
    signature: geom::Geometry * GeoJSONFeature::getGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '& GeoJSONFeature::getProperties() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONFeature::getProperties()
      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: '& GeoJSONFeature::getId() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONFeature::getId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(const std::vector<GeoJSONFeature>&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(std::vector<GeoJSONFeature>&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '& GeoJSONFeatureCollection::getFeatures() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONFeature>
    signature: std::vector<GeoJSONFeature> & GeoJSONFeatureCollection::getFeatures()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::map<std::string, GeoJSONValue>&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:55,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: size
      Src: /src/geos/src/io/GeoJSON.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::vector<GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - size
    - push_back
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const std::vector<GeoJSONValue>& value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ~string
      Src: /src/geos/src/io/GeoJSON.cpp:68,1
    - Dst: ~object
      Src: /src/geos/src/io/GeoJSON.cpp:71,1
    - Dst: ~array
      Src: /src/geos/src/io/GeoJSON.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: geos::io::GeoJSONValue::cleanup
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - ~string
    - ~array
    - ~object
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: GeoJSONValue::~GeoJSONValue()
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::~GeoJSONValue()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:93,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:99,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:102,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:103,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: geos::io::GeoJSONValue::GeoJSONValue
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    linkageType: ''
    returnType: void
    signature: void GeoJSONValue::GeoJSONValue(const GeoJSONValue& v)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/geos/src/io/GeoJSON.cpp:127,1
    - Dst: std::string::string
      Src: /src/geos/src/io/GeoJSON.cpp:137,1
    - Dst: std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:143,1
    - Dst: std::vector<GeoJSONValue>::vector<GeoJSONValue>
      Src: /src/geos/src/io/GeoJSON.cpp:146,1
    - Dst: reserve
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: a::size
      Src: /src/geos/src/io/GeoJSON.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/io/GeoJSON.cpp:149,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - GeoJSONValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: '& GeoJSONValue::operator=(const GeoJSONValue& v)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - a::size
    - std::vector<GeoJSONValue>::vector<GeoJSONValue>
    - std::map<std::string, GeoJSONValue>::string, GeoJSONValue>
    - push_back
    - std::string::string
    - cleanup
    linkageType: ''
    returnType: GeoJSONValue
    signature: GeoJSONValue & GeoJSONValue::operator=(const GeoJSONValue& v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: geos::io::GeoJSONValue::getNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double GeoJSONValue::getNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: '& GeoJSONValue::getString() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONValue::getString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::io::GeoJSONValue::getNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t GeoJSONValue::getNull() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::io::GeoJSONValue::getBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::getBoolean() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: '& GeoJSONValue::getObject() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONValue::getObject() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '& GeoJSONValue::getArray() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONValue>
    signature: std::vector<GeoJSONValue> & GeoJSONValue::getArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: geos::io::GeoJSONValue::isNumber
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: geos::io::GeoJSONValue::isString
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: geos::io::GeoJSONValue::isNull
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: geos::io::GeoJSONValue::isBoolean
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isBoolean() const
  - 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: geos::io::GeoJSONValue::isObject
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isObject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: geos::io::GeoJSONValue::isArray
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeoJSONValue::isArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - g
    - ' p'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - ' i'
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               const std::map<std::string, GeoJSONValue>&
      p,\n                               const std::string& i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - g
    - ' p'
    - i
    argTypes:
    - std::unique_ptr<geom::Geometry>
    - std::map<std::string, GeoJSONValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GeoJSONFeature::GeoJSONFeature(std::unique_ptr<geom::Geometry>
      g,\n                               std::map<std::string, GeoJSONValue>&& p,\n
      \                              std::string i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:245,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: geos::io::GeoJSONFeature::GeoJSONFeature
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeature::GeoJSONFeature(GeoJSONFeature&& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geometry::clone
      Src: /src/geos/src/io/GeoJSON.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: '& GeoJSONFeature::operator=(const GeoJSONFeature& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - geometry::clone
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(const GeoJSONFeature& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:260,1
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GeoJSONFeature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: '& GeoJSONFeature::operator=(GeoJSONFeature&& other)'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: GeoJSONFeature
    signature: GeoJSONFeature & GeoJSONFeature::operator=(GeoJSONFeature&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/io/GeoJSON.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: geos::io::GeoJSONFeature::getGeometry
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: geom::Geometry
    signature: geom::Geometry * GeoJSONFeature::getGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '& GeoJSONFeature::getProperties() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<std::string, GeoJSONValue>
    signature: std::map<std::string, GeoJSONValue> & GeoJSONFeature::getProperties()
      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: '& GeoJSONFeature::getId() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GeoJSONFeature::getId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(const std::vector<GeoJSONFeature>&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/io/GeoJSON.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::vector<GeoJSONFeature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: geos::io::GeoJSONFeatureCollection::GeoJSONFeatureCollection
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void GeoJSONFeatureCollection::GeoJSONFeatureCollection(std::vector<GeoJSONFeature>&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '& GeoJSONFeatureCollection::getFeatures() const'
    functionSourceFile: /src/geos/src/io/GeoJSON.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<GeoJSONFeature>
    signature: std::vector<GeoJSONFeature> & GeoJSONFeatureCollection::getFeatures()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:37,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: geos::algorithm::InteriorPointPoint::InteriorPointPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::InteriorPointPoint(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:50,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:53,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:59,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:61,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Point*::getCoordinate
    - Geometry*::isEmpty
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:71,1
    - Dst: CoordinateXY*::distance
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - point
    argTypes:
    - CoordinateXY*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/algorithm/InteriorPointPoint.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 2
    functionsReached:
    - assert
    - CoordinateXY*::distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const CoordinateXY* point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointPoint::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointPoint::getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:37,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: geos::algorithm::InteriorPointPoint::InteriorPointPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::InteriorPointPoint(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:50,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:53,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:59,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:61,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Point*::getCoordinate
    - Geometry*::isEmpty
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:71,1
    - Dst: CoordinateXY*::distance
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - point
    argTypes:
    - CoordinateXY*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/algorithm/InteriorPointPoint.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 4
    functionsReached:
    - assert
    - CoordinateXY*::distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const CoordinateXY* point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointPoint::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointPoint::getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:37,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: geos::algorithm::InteriorPointPoint::InteriorPointPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::InteriorPointPoint(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:50,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:53,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:59,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:61,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Point*::getCoordinate
    - Geometry*::isEmpty
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:71,1
    - Dst: CoordinateXY*::distance
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - point
    argTypes:
    - CoordinateXY*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/algorithm/InteriorPointPoint.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 6
    functionsReached:
    - assert
    - CoordinateXY*::distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const CoordinateXY* point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointPoint::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointPoint::getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:37,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: geos::algorithm::InteriorPointPoint::InteriorPointPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::InteriorPointPoint(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:50,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:53,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:55,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:59,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:61,1
    - Dst: geos::algorithm::InteriorPointPoint::add
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Point*::getCoordinate
    - Geometry*::isEmpty
    - geos::algorithm::InteriorPointPoint::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:71,1
    - Dst: CoordinateXY*::distance
      Src: /src/geos/src/algorithm/InteriorPointPoint.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - point
    argTypes:
    - CoordinateXY*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/algorithm/InteriorPointPoint.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: geos::algorithm::InteriorPointPoint::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 8
    functionsReached:
    - assert
    - CoordinateXY*::distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointPoint::add(const CoordinateXY* point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointPoint::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointPoint::getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dd
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: OrientationDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OrientationDD(const DD &dd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dd
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: OrientationDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OrientationDD(const DD &dd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:59,1
    - Dst: orientationIndexFilter
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:64,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - qx
    - qy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 0
    functionsReached:
    - OrientationDD
    - std::isfinite
    - orientationIndexFilter
    - geos::util::IllegalArgumentException
    - DD
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(double p1x, double p1y,\n                                 double
      p2x, double p2y,\n                                 double qx,  double qy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(const CoordinateXY& p1,\n                                 const
      CoordinateXY& p2,\n                                 const CoordinateXY& q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - OrientationDD
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(const DD& x1, const DD& y1, const
      DD& x2, const DD& y2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:107,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(double dx1, double dy1, double dx2,
      double dy2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:142,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:143,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: geos::algorithm::CGAlgorithmsDD::intersection
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - ToDouble
    - Coordinate::setNull
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY CGAlgorithmsDD::intersection(const CoordinateXY& p1,
      const CoordinateXY& p2,\n                             const CoordinateXY& q1,
      const CoordinateXY& q2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:172,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:173,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: geos::algorithm::CGAlgorithmsDD::circumcentreDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    - ToDouble
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CGAlgorithmsDD::circumcentreDD(const CoordinateXY& a,
      const CoordinateXY& b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(const DD& x1, const DD& y1, const DD& x2,
      const DD& y2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:59,1
    - Dst: orientationIndexFilter
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:64,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - qx
    - qy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 1
    functionsReached:
    - OrientationDD
    - std::isfinite
    - orientationIndexFilter
    - geos::util::IllegalArgumentException
    - DD
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(double p1x, double p1y,\n                                 double
      p2x, double p2y,\n                                 double qx,  double qy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(const CoordinateXY& p1,\n                                 const
      CoordinateXY& p2,\n                                 const CoordinateXY& q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 3
    functionsReached:
    - OrientationDD
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(const DD& x1, const DD& y1, const
      DD& x2, const DD& y2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:107,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(double dx1, double dy1, double dx2,
      double dy2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:142,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:143,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: geos::algorithm::CGAlgorithmsDD::intersection
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - ToDouble
    - Coordinate::setNull
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY CGAlgorithmsDD::intersection(const CoordinateXY& p1,
      const CoordinateXY& p2,\n                             const CoordinateXY& q1,
      const CoordinateXY& q2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:172,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:173,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: geos::algorithm::CGAlgorithmsDD::circumcentreDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    - ToDouble
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CGAlgorithmsDD::circumcentreDD(const CoordinateXY& a,
      const CoordinateXY& b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(const DD& x1, const DD& y1, const DD& x2,
      const DD& y2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:59,1
    - Dst: orientationIndexFilter
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:64,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - qx
    - qy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - OrientationDD
    - std::isfinite
    - orientationIndexFilter
    - geos::util::IllegalArgumentException
    - DD
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(double p1x, double p1y,\n                                 double
      p2x, double p2y,\n                                 double qx,  double qy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(const CoordinateXY& p1,\n                                 const
      CoordinateXY& p2,\n                                 const CoordinateXY& q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 4
    functionsReached:
    - OrientationDD
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(const DD& x1, const DD& y1, const
      DD& x2, const DD& y2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:107,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 5
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(double dx1, double dy1, double dx2,
      double dy2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:142,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:143,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: geos::algorithm::CGAlgorithmsDD::intersection
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - ToDouble
    - Coordinate::setNull
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY CGAlgorithmsDD::intersection(const CoordinateXY& p1,
      const CoordinateXY& p2,\n                             const CoordinateXY& q1,
      const CoordinateXY& q2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:172,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:173,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: geos::algorithm::CGAlgorithmsDD::circumcentreDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    - ToDouble
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CGAlgorithmsDD::circumcentreDD(const CoordinateXY& a,
      const CoordinateXY& b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(const DD& x1, const DD& y1, const DD& x2,
      const DD& y2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:58,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:59,1
    - Dst: orientationIndexFilter
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:64,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:70,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:71,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:72,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:73,1
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - p1x
    - p1y
    - p2x
    - p2y
    - qx
    - qy
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 3
    functionsReached:
    - OrientationDD
    - std::isfinite
    - orientationIndexFilter
    - geos::util::IllegalArgumentException
    - DD
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(double p1x, double p1y,\n                                 double
      p2x, double p2y,\n                                 double qx,  double qy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: geos::algorithm::CGAlgorithmsDD::orientationIndex
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int CGAlgorithmsDD::orientationIndex(const CoordinateXY& p1,\n                                 const
      CoordinateXY& p2,\n                                 const CoordinateXY& q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OrientationDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 5
    functionsReached:
    - OrientationDD
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(const DD& x1, const DD& y1, const
      DD& x2, const DD& y2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:106,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:107,1
    - Dst: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - dx1
    - dy1
    - dx2
    - dy2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - geos::algorithm::CGAlgorithmsDD::signOfDet2x2
    linkageType: ''
    returnType: int
    signature: int CGAlgorithmsDD::signOfDet2x2(double dx1, double dy1, double dx2,
      double dy2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:142,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:143,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:147,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: geos::algorithm::CGAlgorithmsDD::intersection
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - ToDouble
    - Coordinate::setNull
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY CGAlgorithmsDD::intersection(const CoordinateXY& p1,
      const CoordinateXY& p2,\n                             const CoordinateXY& q1,
      const CoordinateXY& q2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:164,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:165,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:166,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:167,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:169,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:172,1
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:173,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:174,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    - Dst: ToDouble
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 178
    functionName: geos::algorithm::CGAlgorithmsDD::circumcentreDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    - ToDouble
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CGAlgorithmsDD::circumcentreDD(const CoordinateXY& a,
      const CoordinateXY& b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::detDD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    - Dst: DD
      Src: /src/geos/src/algorithm/CGAlgorithmsDD.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::detDD
    - DD
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' x1'
    - ' y1'
    - ' x2'
    - ' y2'
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: geos::algorithm::CGAlgorithmsDD::detDD
    functionSourceFile: /src/geos/src/algorithm/CGAlgorithmsDD.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD CGAlgorithmsDD::detDD(const DD& x1, const DD& y1, const DD& x2,
      const DD& y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Intersection::intersection
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersection(const geom::CoordinateXY&
      p1, const geom::CoordinateXY& p2,\n                           const geom::CoordinateXY&
      q1, const geom::CoordinateXY& q2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:59,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:63,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Intersection.cpp:71,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:78,1
    - Dst: geom::CoordinateXY::isNull
      Src: /src/geos/src/algorithm/Intersection.cpp:79,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:86,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ' line1'
    - ' line2'
    - ' seg1'
    - ' seg2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 92
    functionName: geos::algorithm::Intersection::intersectionLineSegment
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToLinePerpendicular
    - geom::CoordinateXY::isNull
    - geos::algorithm::Orientation::index
    - geos::io::GeoJSONValue::getNull
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersectionLineSegment(\n    const
      geom::CoordinateXY& line1,\n    const geom::CoordinateXY& line2,\n    const
      geom::CoordinateXY& seg1,\n    const geom::CoordinateXY& seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Intersection::intersection
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersection(const geom::CoordinateXY&
      p1, const geom::CoordinateXY& p2,\n                           const geom::CoordinateXY&
      q1, const geom::CoordinateXY& q2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:59,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:63,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Intersection.cpp:71,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:78,1
    - Dst: geom::CoordinateXY::isNull
      Src: /src/geos/src/algorithm/Intersection.cpp:79,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:86,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ' line1'
    - ' line2'
    - ' seg1'
    - ' seg2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 92
    functionName: geos::algorithm::Intersection::intersectionLineSegment
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToLinePerpendicular
    - geom::CoordinateXY::isNull
    - geos::algorithm::Orientation::index
    - geos::io::GeoJSONValue::getNull
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersectionLineSegment(\n    const
      geom::CoordinateXY& line1,\n    const geom::CoordinateXY& line2,\n    const
      geom::CoordinateXY& seg1,\n    const geom::CoordinateXY& seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Intersection::intersection
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersection(const geom::CoordinateXY&
      p1, const geom::CoordinateXY& p2,\n                           const geom::CoordinateXY&
      q1, const geom::CoordinateXY& q2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:59,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:63,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Intersection.cpp:71,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:78,1
    - Dst: geom::CoordinateXY::isNull
      Src: /src/geos/src/algorithm/Intersection.cpp:79,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:86,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ' line1'
    - ' line2'
    - ' seg1'
    - ' seg2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 92
    functionName: geos::algorithm::Intersection::intersectionLineSegment
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToLinePerpendicular
    - geom::CoordinateXY::isNull
    - geos::algorithm::Orientation::index
    - geos::io::GeoJSONValue::getNull
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersectionLineSegment(\n    const
      geom::CoordinateXY& line1,\n    const geom::CoordinateXY& line2,\n    const
      geom::CoordinateXY& seg1,\n    const geom::CoordinateXY& seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Intersection::intersection
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersection(const geom::CoordinateXY&
      p1, const geom::CoordinateXY& p2,\n                           const geom::CoordinateXY&
      q1, const geom::CoordinateXY& q2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:59,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Intersection.cpp:63,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Intersection.cpp:71,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/algorithm/Intersection.cpp:78,1
    - Dst: geom::CoordinateXY::isNull
      Src: /src/geos/src/algorithm/Intersection.cpp:79,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:86,1
    - Dst: geos::algorithm::Distance::pointToLinePerpendicular
      Src: /src/geos/src/algorithm/Intersection.cpp:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - ' line1'
    - ' line2'
    - ' seg1'
    - ' seg2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 92
    functionName: geos::algorithm::Intersection::intersectionLineSegment
    functionSourceFile: /src/geos/src/algorithm/Intersection.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToLinePerpendicular
    - geom::CoordinateXY::isNull
    - geos::algorithm::Orientation::index
    - geos::io::GeoJSONValue::getNull
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: "geom::CoordinateXY Intersection::intersectionLineSegment(\n    const
      geom::CoordinateXY& line1,\n    const geom::CoordinateXY& line2,\n    const
      geom::CoordinateXY& seg1,\n    const geom::CoordinateXY& seg2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:51,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:52,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:55,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumBoundingCircle::getCircle
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getFactory
    - std::unique_ptr<Geometry>
    - std::unique_ptr::buffer
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getCircle()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:66,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:68,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:70,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: geos::algorithm::MinimumBoundingCircle::farthestPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:80,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumBoundingCircle::getMaximumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - back
    - front
    - geos::algorithm::MinimumBoundingCircle::compute
    - geos::algorithm::MinimumBoundingCircle::farthestPoints
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getMaximumDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:96,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: geos::algorithm::MinimumBoundingCircle::farthestPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 1
    functionsReached:
    - distance
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::farthestPoints(std::vector<CoordinateXY>&
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:118,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:120,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:128,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:129,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: geos::algorithm::MinimumBoundingCircle::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::MinimumBoundingCircle::compute
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getDiameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::MinimumBoundingCircle::getExtremalPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::getExtremalPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumBoundingCircle::getCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::getCentre()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::algorithm::MinimumBoundingCircle::getRadius
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: double
    signature: double MinimumBoundingCircle::getRadius()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:162,1
    - Dst: setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:164,1
    - Dst: geos::geom::Triangle::circumcentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:179,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: geos::algorithm::MinimumBoundingCircle::computeCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - size
    - setNull
    - geos::geom::Triangle::circumcentre
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCentre()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:192,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:196,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:197,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:198,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: geos::algorithm::MinimumBoundingCircle::compute
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 6
    functionsReached:
    - isNull
    - geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    - geos::algorithm::MinimumBoundingCircle::computeCentre
    - distance
    - empty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::compute()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:220,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:222,1
    - Dst: std::unique_ptr::toVector
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:224,1
    - Dst: std::vector::front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:228,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:234,1
    - Dst: geos::algorithm::MinimumBoundingCircle::lowestPoint
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:240,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:243,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:252,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:254,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:257,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:259,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:263,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:268,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:273,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:274,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:275,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 280
    functionName: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::lowestPoint
    - geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    - geos::io::util::GEOSException
    - getCoordinate
    - std::vector::front
    - std::vector::back
    - geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    - std::unique_ptr::getCoordinates
    - push_back
    - std::unique_ptr::toVector
    - std::vector::pop_back
    - getNumPoints
    - std::vector::size
    - geos::algorithm::Angle::isObtuse
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCirclePoints()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: geos::algorithm::MinimumBoundingCircle::lowestPoint
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::lowestPoint(std::vector<CoordinateXY>&
      pts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:302,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' pts'
    - ' P'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 326
    functionName: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 1
    functionsReached:
    - CoordinateXY::setNull
    - std::sqrt
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWitMinAngleWithX(std::vector<CoordinateXY>&
      pts, CoordinateXY& P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: geos::algorithm::Angle::angleBetween
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' pts'
    - ' P'
    - ' Q'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!pts.empty())
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    constantsTouched: []
    func_position:
      end: 352
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 352
    functionName: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 1
    functionsReached:
    - assert
    - geos::algorithm::Angle::angleBetween
    - empty
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWithMinAngleWithSegment(std::vector<CoordinateXY>&
      pts, CoordinateXY& P, CoordinateXY& Q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:51,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:52,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:55,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumBoundingCircle::getCircle
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getFactory
    - std::unique_ptr<Geometry>
    - std::unique_ptr::buffer
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getCircle()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:66,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:68,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:70,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: geos::algorithm::MinimumBoundingCircle::farthestPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:80,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumBoundingCircle::getMaximumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - back
    - front
    - geos::algorithm::MinimumBoundingCircle::compute
    - geos::algorithm::MinimumBoundingCircle::farthestPoints
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getMaximumDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:96,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: geos::algorithm::MinimumBoundingCircle::farthestPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 2
    functionsReached:
    - distance
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::farthestPoints(std::vector<CoordinateXY>&
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:118,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:120,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:128,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:129,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: geos::algorithm::MinimumBoundingCircle::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::MinimumBoundingCircle::compute
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getDiameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::MinimumBoundingCircle::getExtremalPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::getExtremalPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumBoundingCircle::getCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::getCentre()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::algorithm::MinimumBoundingCircle::getRadius
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: double
    signature: double MinimumBoundingCircle::getRadius()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:162,1
    - Dst: setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:164,1
    - Dst: geos::geom::Triangle::circumcentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:179,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: geos::algorithm::MinimumBoundingCircle::computeCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 1
    functionsReached:
    - size
    - setNull
    - geos::geom::Triangle::circumcentre
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCentre()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:192,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:196,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:197,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:198,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: geos::algorithm::MinimumBoundingCircle::compute
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 12
    functionsReached:
    - isNull
    - geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    - geos::algorithm::MinimumBoundingCircle::computeCentre
    - distance
    - empty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::compute()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:220,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:222,1
    - Dst: std::unique_ptr::toVector
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:224,1
    - Dst: std::vector::front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:228,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:234,1
    - Dst: geos::algorithm::MinimumBoundingCircle::lowestPoint
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:240,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:243,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:252,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:254,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:257,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:259,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:263,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:268,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:273,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:274,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:275,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 280
    functionName: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::lowestPoint
    - geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    - geos::io::util::GEOSException
    - getCoordinate
    - std::vector::front
    - std::vector::back
    - geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    - std::unique_ptr::getCoordinates
    - push_back
    - std::unique_ptr::toVector
    - std::vector::pop_back
    - getNumPoints
    - std::vector::size
    - geos::algorithm::Angle::isObtuse
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCirclePoints()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: geos::algorithm::MinimumBoundingCircle::lowestPoint
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::lowestPoint(std::vector<CoordinateXY>&
      pts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:302,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' pts'
    - ' P'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 326
    functionName: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 2
    functionsReached:
    - CoordinateXY::setNull
    - std::sqrt
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWitMinAngleWithX(std::vector<CoordinateXY>&
      pts, CoordinateXY& P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: geos::algorithm::Angle::angleBetween
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' pts'
    - ' P'
    - ' Q'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!pts.empty())
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    constantsTouched: []
    func_position:
      end: 352
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 352
    functionName: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 2
    functionsReached:
    - assert
    - geos::algorithm::Angle::angleBetween
    - empty
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWithMinAngleWithSegment(std::vector<CoordinateXY>&
      pts, CoordinateXY& P, CoordinateXY& Q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:51,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:52,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:55,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumBoundingCircle::getCircle
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getFactory
    - std::unique_ptr<Geometry>
    - std::unique_ptr::buffer
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getCircle()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:66,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:68,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:70,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: geos::algorithm::MinimumBoundingCircle::farthestPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:80,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumBoundingCircle::getMaximumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - back
    - front
    - geos::algorithm::MinimumBoundingCircle::compute
    - geos::algorithm::MinimumBoundingCircle::farthestPoints
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getMaximumDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:96,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: geos::algorithm::MinimumBoundingCircle::farthestPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 3
    functionsReached:
    - distance
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::farthestPoints(std::vector<CoordinateXY>&
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:118,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:120,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:128,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:129,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: geos::algorithm::MinimumBoundingCircle::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::MinimumBoundingCircle::compute
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getDiameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::MinimumBoundingCircle::getExtremalPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::getExtremalPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumBoundingCircle::getCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::getCentre()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::algorithm::MinimumBoundingCircle::getRadius
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: double
    signature: double MinimumBoundingCircle::getRadius()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:162,1
    - Dst: setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:164,1
    - Dst: geos::geom::Triangle::circumcentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:179,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: geos::algorithm::MinimumBoundingCircle::computeCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 2
    functionsReached:
    - size
    - setNull
    - geos::geom::Triangle::circumcentre
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCentre()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:192,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:196,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:197,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:198,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: geos::algorithm::MinimumBoundingCircle::compute
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 18
    functionsReached:
    - isNull
    - geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    - geos::algorithm::MinimumBoundingCircle::computeCentre
    - distance
    - empty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::compute()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:220,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:222,1
    - Dst: std::unique_ptr::toVector
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:224,1
    - Dst: std::vector::front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:228,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:234,1
    - Dst: geos::algorithm::MinimumBoundingCircle::lowestPoint
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:240,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:243,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:252,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:254,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:257,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:259,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:263,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:268,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:273,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:274,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:275,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 280
    functionName: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::lowestPoint
    - geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    - geos::io::util::GEOSException
    - getCoordinate
    - std::vector::front
    - std::vector::back
    - geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    - std::unique_ptr::getCoordinates
    - push_back
    - std::unique_ptr::toVector
    - std::vector::pop_back
    - getNumPoints
    - std::vector::size
    - geos::algorithm::Angle::isObtuse
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCirclePoints()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: geos::algorithm::MinimumBoundingCircle::lowestPoint
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::lowestPoint(std::vector<CoordinateXY>&
      pts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:302,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' pts'
    - ' P'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 326
    functionName: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 3
    functionsReached:
    - CoordinateXY::setNull
    - std::sqrt
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWitMinAngleWithX(std::vector<CoordinateXY>&
      pts, CoordinateXY& P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: geos::algorithm::Angle::angleBetween
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' pts'
    - ' P'
    - ' Q'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!pts.empty())
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    constantsTouched: []
    func_position:
      end: 352
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 352
    functionName: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 3
    functionsReached:
    - assert
    - geos::algorithm::Angle::angleBetween
    - empty
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWithMinAngleWithSegment(std::vector<CoordinateXY>&
      pts, CoordinateXY& P, CoordinateXY& Q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:51,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:52,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:53,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:55,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumBoundingCircle::getCircle
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getFactory
    - std::unique_ptr<Geometry>
    - std::unique_ptr::buffer
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getCircle()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:66,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:68,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:70,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:72,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:74,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:75,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:77,1
    - Dst: geos::algorithm::MinimumBoundingCircle::farthestPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:80,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:81,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:82,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:83,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumBoundingCircle::getMaximumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - back
    - front
    - geos::algorithm::MinimumBoundingCircle::compute
    - geos::algorithm::MinimumBoundingCircle::farthestPoints
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getMaximumDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:96,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:108,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: geos::algorithm::MinimumBoundingCircle::farthestPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 4
    functionsReached:
    - distance
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::farthestPoints(std::vector<CoordinateXY>&
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:118,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:120,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:122,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasZ
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: hasM
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:128,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:129,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: geos::algorithm::MinimumBoundingCircle::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - size
    - std::unique_ptr<Geometry>
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::MinimumBoundingCircle::compute
    - hasM
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumBoundingCircle::getDiameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::MinimumBoundingCircle::getExtremalPoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: std::vector<CoordinateXY>
    signature: std::vector<CoordinateXY> MinimumBoundingCircle::getExtremalPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumBoundingCircle::getCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::getCentre()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumBoundingCircle::compute
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::algorithm::MinimumBoundingCircle::getRadius
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::compute
    linkageType: ''
    returnType: double
    signature: double MinimumBoundingCircle::getRadius()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:162,1
    - Dst: setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:164,1
    - Dst: geos::geom::Triangle::circumcentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:179,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: geos::algorithm::MinimumBoundingCircle::computeCentre
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 3
    functionsReached:
    - size
    - setNull
    - geos::geom::Triangle::circumcentre
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCentre()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:192,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:196,1
    - Dst: geos::algorithm::MinimumBoundingCircle::computeCentre
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:197,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:198,1
    - Dst: distance
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: geos::algorithm::MinimumBoundingCircle::compute
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 24
    functionsReached:
    - isNull
    - geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    - geos::algorithm::MinimumBoundingCircle::computeCentre
    - distance
    - empty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::compute()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:212,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:220,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:222,1
    - Dst: std::unique_ptr::toVector
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:224,1
    - Dst: std::vector::front
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:227,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:228,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:234,1
    - Dst: geos::algorithm::MinimumBoundingCircle::lowestPoint
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:240,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:243,1
    - Dst: std::vector::size
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:252,1
    - Dst: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:254,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:257,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:259,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:263,1
    - Dst: geos::algorithm::Angle::isObtuse
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:268,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:273,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:274,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:275,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 280
    functionName: geos::algorithm::MinimumBoundingCircle::computeCirclePoints
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::MinimumBoundingCircle::lowestPoint
    - geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    - geos::io::util::GEOSException
    - getCoordinate
    - std::vector::front
    - std::vector::back
    - geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    - std::unique_ptr::getCoordinates
    - push_back
    - std::unique_ptr::toVector
    - std::vector::pop_back
    - getNumPoints
    - std::vector::size
    - geos::algorithm::Angle::isObtuse
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumBoundingCircle::computeCirclePoints()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: geos::algorithm::MinimumBoundingCircle::lowestPoint
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::lowestPoint(std::vector<CoordinateXY>&
      pts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:302,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' pts'
    - ' P'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 326
    functionName: geos::algorithm::MinimumBoundingCircle::pointWitMinAngleWithX
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 4
    functionsReached:
    - CoordinateXY::setNull
    - std::sqrt
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWitMinAngleWithX(std::vector<CoordinateXY>&
      pts, CoordinateXY& P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: empty
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:333,1
    - Dst: geos::algorithm::Angle::angleBetween
      Src: /src/geos/src/algorithm/MinimumBoundingCircle.cpp:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ' pts'
    - ' P'
    - ' Q'
    argTypes:
    - std::vector<CoordinateXY>
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!pts.empty())
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    constantsTouched: []
    func_position:
      end: 352
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 352
    functionName: geos::algorithm::MinimumBoundingCircle::pointWithMinAngleWithSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumBoundingCircle.cpp
    functionUses: 4
    functionsReached:
    - assert
    - geos::algorithm::Angle::angleBetween
    - empty
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY MinimumBoundingCircle::pointWithMinAngleWithSegment(std::vector<CoordinateXY>&
      pts, CoordinateXY& P, CoordinateXY& Q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:50,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:51,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:52,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:53,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:56,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:57,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:58,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:59,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:70,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:71,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:72,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:73,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:74,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:76,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:77,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' baseRightPt'
    - ' baseLeftPt'
    - ' oppositePt'
    - ' leftSidePt'
    - ' rightSidePt'
    - factory
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: geos::algorithm::Rectangle::createFromSidePts
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::lineIntersection
    - geos::algorithm::Rectangle::computeLineEquationC
    - GeometryFactory*::createPolygon
    - equals2D
    - geos::algorithm::Rectangle::createLineForStandardEquation
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: "std::unique_ptr<Polygon> Rectangle::createFromSidePts(\n    const
      CoordinateXY& baseRightPt,\n    const CoordinateXY& baseLeftPt,\n    const CoordinateXY&
      oppositePt,\n    const CoordinateXY& leftSidePt,\n    const CoordinateXY& rightSidePt,\n
      \   const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::algorithm::Rectangle::computeLineEquationC
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Rectangle::computeLineEquationC(double a, double b, const CoordinateXY&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:111,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:116,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:117,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/Rectangle.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: geos::algorithm::Rectangle::createLineForStandardEquation
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 1
    functionsReached:
    - Coordinate
    - std::abs
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment Rectangle::createLineForStandardEquation(double a, double
      b, double c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:50,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:51,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:52,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:53,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:56,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:57,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:58,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:59,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:70,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:71,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:72,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:73,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:74,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:76,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:77,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' baseRightPt'
    - ' baseLeftPt'
    - ' oppositePt'
    - ' leftSidePt'
    - ' rightSidePt'
    - factory
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: geos::algorithm::Rectangle::createFromSidePts
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::lineIntersection
    - geos::algorithm::Rectangle::computeLineEquationC
    - GeometryFactory*::createPolygon
    - equals2D
    - geos::algorithm::Rectangle::createLineForStandardEquation
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: "std::unique_ptr<Polygon> Rectangle::createFromSidePts(\n    const
      CoordinateXY& baseRightPt,\n    const CoordinateXY& baseLeftPt,\n    const CoordinateXY&
      oppositePt,\n    const CoordinateXY& leftSidePt,\n    const CoordinateXY& rightSidePt,\n
      \   const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::algorithm::Rectangle::computeLineEquationC
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Rectangle::computeLineEquationC(double a, double b, const CoordinateXY&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:111,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:116,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:117,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/Rectangle.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: geos::algorithm::Rectangle::createLineForStandardEquation
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 2
    functionsReached:
    - Coordinate
    - std::abs
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment Rectangle::createLineForStandardEquation(double a, double
      b, double c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:50,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:51,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:52,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:53,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:56,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:57,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:58,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:59,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:70,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:71,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:72,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:73,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:74,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:76,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:77,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' baseRightPt'
    - ' baseLeftPt'
    - ' oppositePt'
    - ' leftSidePt'
    - ' rightSidePt'
    - factory
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: geos::algorithm::Rectangle::createFromSidePts
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::lineIntersection
    - geos::algorithm::Rectangle::computeLineEquationC
    - GeometryFactory*::createPolygon
    - equals2D
    - geos::algorithm::Rectangle::createLineForStandardEquation
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: "std::unique_ptr<Polygon> Rectangle::createFromSidePts(\n    const
      CoordinateXY& baseRightPt,\n    const CoordinateXY& baseLeftPt,\n    const CoordinateXY&
      oppositePt,\n    const CoordinateXY& leftSidePt,\n    const CoordinateXY& rightSidePt,\n
      \   const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::algorithm::Rectangle::computeLineEquationC
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Rectangle::computeLineEquationC(double a, double b, const CoordinateXY&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:111,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:116,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:117,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/Rectangle.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: geos::algorithm::Rectangle::createLineForStandardEquation
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 3
    functionsReached:
    - Coordinate
    - std::abs
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment Rectangle::createLineForStandardEquation(double a, double
      b, double c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:50,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:51,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:52,1
    - Dst: geos::algorithm::Rectangle::computeLineEquationC
      Src: /src/geos/src/algorithm/Rectangle.cpp:53,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:56,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:57,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:58,1
    - Dst: geos::algorithm::Rectangle::createLineForStandardEquation
      Src: /src/geos/src/algorithm/Rectangle.cpp:59,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:70,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:71,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:72,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:73,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:74,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Rectangle.cpp:76,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/Rectangle.cpp:77,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/Rectangle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' baseRightPt'
    - ' baseLeftPt'
    - ' oppositePt'
    - ' leftSidePt'
    - ' rightSidePt'
    - factory
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: geos::algorithm::Rectangle::createFromSidePts
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::lineIntersection
    - geos::algorithm::Rectangle::computeLineEquationC
    - GeometryFactory*::createPolygon
    - equals2D
    - geos::algorithm::Rectangle::createLineForStandardEquation
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: "std::unique_ptr<Polygon> Rectangle::createFromSidePts(\n    const
      CoordinateXY& baseRightPt,\n    const CoordinateXY& baseLeftPt,\n    const CoordinateXY&
      oppositePt,\n    const CoordinateXY& leftSidePt,\n    const CoordinateXY& rightSidePt,\n
      \   const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::algorithm::Rectangle::computeLineEquationC
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Rectangle::computeLineEquationC(double a, double b, const CoordinateXY&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Rectangle.cpp:109,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:111,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:112,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:116,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/Rectangle.cpp:117,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/Rectangle.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: geos::algorithm::Rectangle::createLineForStandardEquation
    functionSourceFile: /src/geos/src/algorithm/Rectangle.cpp
    functionUses: 4
    functionsReached:
    - Coordinate
    - std::abs
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment Rectangle::createLineForStandardEquation(double a, double
      b, double c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: geos::algorithm::CircularArcs::getCenter
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 10
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CircularArcs::getCenter(const CoordinateXY& p0, const
      CoordinateXY& p1, const CoordinateXY& p2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:60,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:61,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:62,1
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/src/algorithm/CircularArcs.cpp:64,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: std::isnan
      Src: /src/geos/src/algorithm/CircularArcs.cpp:72,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:76,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:84,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:85,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/CircularArcs.cpp:86,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:91,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:92,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:93,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:95,1
    - Dst: swap
      Src: /src/geos/src/algorithm/CircularArcs.cpp:102,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:108,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:111,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:114,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ' e'
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::Envelope
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 121
    functionName: geos::algorithm::CircularArcs::expandEnvelope
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 2
    functionsReached:
    - expandToInclude
    - swap
    - geos::algorithm::Orientation::index
    - std::isnan
    - CoordinateXY::distance
    - geos::algorithm::CircularArcs::getCenter
    - CoordinateXY::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: "void CircularArcs::expandEnvelope(geom::Envelope& e, const geom::CoordinateXY&
      p0, const geom::CoordinateXY& p1,\n                             const geom::CoordinateXY&
      p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: geos::algorithm::CircularArcs::getCenter
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 11
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CircularArcs::getCenter(const CoordinateXY& p0, const
      CoordinateXY& p1, const CoordinateXY& p2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:60,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:61,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:62,1
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/src/algorithm/CircularArcs.cpp:64,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: std::isnan
      Src: /src/geos/src/algorithm/CircularArcs.cpp:72,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:76,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:84,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:85,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/CircularArcs.cpp:86,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:91,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:92,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:93,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:95,1
    - Dst: swap
      Src: /src/geos/src/algorithm/CircularArcs.cpp:102,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:108,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:111,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:114,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ' e'
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::Envelope
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 121
    functionName: geos::algorithm::CircularArcs::expandEnvelope
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 2
    functionsReached:
    - expandToInclude
    - swap
    - geos::algorithm::Orientation::index
    - std::isnan
    - CoordinateXY::distance
    - geos::algorithm::CircularArcs::getCenter
    - CoordinateXY::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: "void CircularArcs::expandEnvelope(geom::Envelope& e, const geom::CoordinateXY&
      p0, const geom::CoordinateXY& p1,\n                             const geom::CoordinateXY&
      p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: geos::algorithm::CircularArcs::getCenter
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 12
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CircularArcs::getCenter(const CoordinateXY& p0, const
      CoordinateXY& p1, const CoordinateXY& p2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:60,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:61,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:62,1
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/src/algorithm/CircularArcs.cpp:64,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: std::isnan
      Src: /src/geos/src/algorithm/CircularArcs.cpp:72,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:76,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:84,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:85,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/CircularArcs.cpp:86,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:91,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:92,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:93,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:95,1
    - Dst: swap
      Src: /src/geos/src/algorithm/CircularArcs.cpp:102,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:108,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:111,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:114,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ' e'
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::Envelope
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 121
    functionName: geos::algorithm::CircularArcs::expandEnvelope
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 2
    functionsReached:
    - expandToInclude
    - swap
    - geos::algorithm::Orientation::index
    - std::isnan
    - CoordinateXY::distance
    - geos::algorithm::CircularArcs::getCenter
    - CoordinateXY::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: "void CircularArcs::expandEnvelope(geom::Envelope& e, const geom::CoordinateXY&
      p0, const geom::CoordinateXY& p1,\n                             const geom::CoordinateXY&
      p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: geos::algorithm::CircularArcs::getCenter
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 13
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY CircularArcs::getCenter(const CoordinateXY& p0, const
      CoordinateXY& p1, const CoordinateXY& p2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:60,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:61,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:62,1
    - Dst: geos::algorithm::CircularArcs::getCenter
      Src: /src/geos/src/algorithm/CircularArcs.cpp:64,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/algorithm/CircularArcs.cpp:67,1
    - Dst: std::isnan
      Src: /src/geos/src/algorithm/CircularArcs.cpp:72,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:76,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:84,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/CircularArcs.cpp:85,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/CircularArcs.cpp:86,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/CircularArcs.cpp:91,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:92,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:93,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:95,1
    - Dst: swap
      Src: /src/geos/src/algorithm/CircularArcs.cpp:102,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:108,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:111,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:114,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/CircularArcs.cpp:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ' e'
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::Envelope
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 121
    functionName: geos::algorithm::CircularArcs::expandEnvelope
    functionSourceFile: /src/geos/src/algorithm/CircularArcs.cpp
    functionUses: 2
    functionsReached:
    - expandToInclude
    - swap
    - geos::algorithm::Orientation::index
    - std::isnan
    - CoordinateXY::distance
    - geos::algorithm::CircularArcs::getCenter
    - CoordinateXY::equals2D
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: "void CircularArcs::expandEnvelope(geom::Envelope& e, const geom::CoordinateXY&
      p0, const geom::CoordinateXY& p1,\n                             const geom::CoordinateXY&
      p2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:120,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/ConvexHull.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cv'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::algorithm::ConvexHull::toCoordinateSequence
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - size
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> ConvexHull::toCoordinateSequence(Coordinate::ConstVect&
      cv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::ConstVect
      Src: /src/geos/src/algorithm/ConvexHull.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralPts
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::ConstVect
    - size
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::computeInnerOctolateralPts(const Coordinate::ConstVect&
      p_inputPts,\n                          Coordinate::ConstVect& pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralPts
      Src: /src/geos/src/algorithm/ConvexHull.cpp:170,1
    - Dst: erase
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: std::unique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:178,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' dest'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - erase
    - size
    - geos::algorithm::ConvexHull::computeInnerOctolateralPts
    - push_back
    - begin
    - std::unique
    - end
    linkageType: ''
    returnType: bool
    signature: "bool ConvexHull::computeInnerOctolateralRing(const Coordinate::ConstVect&
      p_inputPts,\n                           Coordinate::ConstVect& dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:194,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:212,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:213,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:214,1
    - Dst: assign
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:220,1
    - Dst: geos::algorithm::ConvexHull::padArray3
      Src: /src/geos/src/algorithm/ConvexHull.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 223
    functionName: geos::algorithm::ConvexHull::reduce
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - size
    - Coordinate::ConstSet::begin
    - geos::algorithm::ConvexHull::padArray3
    - Coordinate::ConstVect::begin
    - assign
    - Coordinate::ConstSet::end
    - Coordinate::ConstSet::insert
    - geos::algorithm::ConvexHull::computeInnerOctolateralRing
    - Coordinate::ConstVect::end
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: void ConvexHull::reduce(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:229,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - geom::Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: geos::algorithm::ConvexHull::padArray3
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConvexHull::padArray3(geom::Coordinate::ConstVect& pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::createFewPointsResult
      Src: /src/geos/src/algorithm/ConvexHull.cpp:237,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:242,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:244,1
    - Dst: geos::algorithm::ConvexHull::reduce
      Src: /src/geos/src/algorithm/ConvexHull.cpp:248,1
    - Dst: clear
      Src: /src/geos/src/algorithm/ConvexHull.cpp:251,1
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:252,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:255,1
    - Dst: geos::algorithm::ConvexHull::preSort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:258,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:260,1
    - Dst: geos::algorithm::ConvexHull::grahamScan
      Src: /src/geos/src/algorithm/ConvexHull.cpp:264,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:266,1
    - Dst: geos::algorithm::ConvexHull::lineOrPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: geos::algorithm::ConvexHull::getConvexHull
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ConvexHull::lineOrPolygon
    - size
    - apply_ro
    - clear
    - geos::algorithm::ConvexHull::extractUnique
    - geos::algorithm::ConvexHull::grahamScan
    - geos::algorithm::ConvexHull::preSort
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::ConvexHull::reduce
    - geos::algorithm::ConvexHull::createFewPointsResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::getConvexHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:278,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: RadiallyLessThen
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: geos::algorithm::ConvexHull::preSort
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - size
    - RadiallyLessThen
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void ConvexHull::preSort(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:297,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:298,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:299,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:301,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:302,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:303,1
    - Dst: empty
      Src: /src/geos/src/algorithm/ConvexHull.cpp:304,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:305,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:306,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:307,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:310,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:311,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' c'
    - ' ps'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: geos::algorithm::ConvexHull::grahamScan
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - pop_back
    - size
    - push_back
    - geos::algorithm::Orientation::index
    - back
    - empty
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::grahamScan(const Coordinate::ConstVect& c,\n                       Coordinate::ConstVect&
      ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' c3'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 341
    functionName: geos::algorithm::ConvexHull::isBetween
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::isBetween(const Coordinate& c1, const Coordinate&
      c2, const Coordinate& c3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::cleanRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:350,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:352,1
    - Dst: Coordinate::ConstVect::resize
      Src: /src/geos/src/algorithm/ConvexHull.cpp:353,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:354,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:357,1
    - Dst: createLinearRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: geos::algorithm::ConvexHull::lineOrPolygon
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::ConvexHull::cleanRing
    - createPolygon
    - createLinearRing
    - Coordinate::ConstVect::resize
    - std::move
    - createLineString
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::lineOrPolygon(const Coordinate::ConstVect&
      input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:372,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:381,1
    - Dst: geos::algorithm::ConvexHull::isBetween
      Src: /src/geos/src/algorithm/ConvexHull.cpp:385,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:389,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' original'
    - ' cleaned'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts:
    - condition: (last)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    - condition: (original[0]->equals2D(*last))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    constantsTouched: []
    func_position:
      end: 395
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 395
    functionName: geos::algorithm::ConvexHull::cleanRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::algorithm::ConvexHull::isBetween
    - push_back
    - equals2D
    - Coordinate*::equals2D
    - assert
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::cleanRing(const Coordinate::ConstVect& original,\n
      \                     Coordinate::ConstVect& cleaned)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:408,1
    - Dst: util::UniqueCoordinateArrayFilter::isDone
      Src: /src/geos/src/algorithm/ConvexHull.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' pts'
    - maxPts
    argTypes:
    - Coordinate::ConstVect
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: geos::algorithm::ConvexHull::extractUnique
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - util::UniqueCoordinateArrayFilter::isDone
    - apply_ro
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::extractUnique(Coordinate::ConstVect& pts, std::size_t
      maxPts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:418,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:424,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/algorithm/ConvexHull.cpp:425,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:427,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:432,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: geos::algorithm::ConvexHull::createFewPointsResult
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - createPoint
    - std::unique_ptr<Geometry>
    - geos::algorithm::ConvexHull::extractUnique
    - createLineString
    - std::move
    - createEmptyGeometry
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::createFewPointsResult()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:120,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/ConvexHull.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cv'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::algorithm::ConvexHull::toCoordinateSequence
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - size
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> ConvexHull::toCoordinateSequence(Coordinate::ConstVect&
      cv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::ConstVect
      Src: /src/geos/src/algorithm/ConvexHull.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralPts
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - Coordinate::ConstVect
    - size
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::computeInnerOctolateralPts(const Coordinate::ConstVect&
      p_inputPts,\n                          Coordinate::ConstVect& pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralPts
      Src: /src/geos/src/algorithm/ConvexHull.cpp:170,1
    - Dst: erase
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: std::unique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:178,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' dest'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - erase
    - size
    - geos::algorithm::ConvexHull::computeInnerOctolateralPts
    - push_back
    - begin
    - std::unique
    - end
    linkageType: ''
    returnType: bool
    signature: "bool ConvexHull::computeInnerOctolateralRing(const Coordinate::ConstVect&
      p_inputPts,\n                           Coordinate::ConstVect& dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:194,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:212,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:213,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:214,1
    - Dst: assign
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:220,1
    - Dst: geos::algorithm::ConvexHull::padArray3
      Src: /src/geos/src/algorithm/ConvexHull.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 223
    functionName: geos::algorithm::ConvexHull::reduce
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - size
    - Coordinate::ConstSet::begin
    - geos::algorithm::ConvexHull::padArray3
    - Coordinate::ConstVect::begin
    - assign
    - Coordinate::ConstSet::end
    - Coordinate::ConstSet::insert
    - geos::algorithm::ConvexHull::computeInnerOctolateralRing
    - Coordinate::ConstVect::end
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: void ConvexHull::reduce(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:229,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - geom::Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: geos::algorithm::ConvexHull::padArray3
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConvexHull::padArray3(geom::Coordinate::ConstVect& pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::createFewPointsResult
      Src: /src/geos/src/algorithm/ConvexHull.cpp:237,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:242,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:244,1
    - Dst: geos::algorithm::ConvexHull::reduce
      Src: /src/geos/src/algorithm/ConvexHull.cpp:248,1
    - Dst: clear
      Src: /src/geos/src/algorithm/ConvexHull.cpp:251,1
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:252,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:255,1
    - Dst: geos::algorithm::ConvexHull::preSort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:258,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:260,1
    - Dst: geos::algorithm::ConvexHull::grahamScan
      Src: /src/geos/src/algorithm/ConvexHull.cpp:264,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:266,1
    - Dst: geos::algorithm::ConvexHull::lineOrPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: geos::algorithm::ConvexHull::getConvexHull
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ConvexHull::lineOrPolygon
    - size
    - apply_ro
    - clear
    - geos::algorithm::ConvexHull::extractUnique
    - geos::algorithm::ConvexHull::grahamScan
    - geos::algorithm::ConvexHull::preSort
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::ConvexHull::reduce
    - geos::algorithm::ConvexHull::createFewPointsResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::getConvexHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:278,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: RadiallyLessThen
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: geos::algorithm::ConvexHull::preSort
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - size
    - RadiallyLessThen
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void ConvexHull::preSort(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:297,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:298,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:299,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:301,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:302,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:303,1
    - Dst: empty
      Src: /src/geos/src/algorithm/ConvexHull.cpp:304,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:305,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:306,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:307,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:310,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:311,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' c'
    - ' ps'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: geos::algorithm::ConvexHull::grahamScan
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - pop_back
    - size
    - push_back
    - geos::algorithm::Orientation::index
    - back
    - empty
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::grahamScan(const Coordinate::ConstVect& c,\n                       Coordinate::ConstVect&
      ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' c3'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 341
    functionName: geos::algorithm::ConvexHull::isBetween
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::isBetween(const Coordinate& c1, const Coordinate&
      c2, const Coordinate& c3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::cleanRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:350,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:352,1
    - Dst: Coordinate::ConstVect::resize
      Src: /src/geos/src/algorithm/ConvexHull.cpp:353,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:354,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:357,1
    - Dst: createLinearRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: geos::algorithm::ConvexHull::lineOrPolygon
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::ConvexHull::cleanRing
    - createPolygon
    - createLinearRing
    - Coordinate::ConstVect::resize
    - std::move
    - createLineString
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::lineOrPolygon(const Coordinate::ConstVect&
      input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:372,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:381,1
    - Dst: geos::algorithm::ConvexHull::isBetween
      Src: /src/geos/src/algorithm/ConvexHull.cpp:385,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:389,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' original'
    - ' cleaned'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts:
    - condition: (last)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    - condition: (original[0]->equals2D(*last))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    constantsTouched: []
    func_position:
      end: 395
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 395
    functionName: geos::algorithm::ConvexHull::cleanRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::algorithm::ConvexHull::isBetween
    - push_back
    - equals2D
    - Coordinate*::equals2D
    - assert
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::cleanRing(const Coordinate::ConstVect& original,\n
      \                     Coordinate::ConstVect& cleaned)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:408,1
    - Dst: util::UniqueCoordinateArrayFilter::isDone
      Src: /src/geos/src/algorithm/ConvexHull.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' pts'
    - maxPts
    argTypes:
    - Coordinate::ConstVect
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: geos::algorithm::ConvexHull::extractUnique
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - util::UniqueCoordinateArrayFilter::isDone
    - apply_ro
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::extractUnique(Coordinate::ConstVect& pts, std::size_t
      maxPts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:418,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:424,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/algorithm/ConvexHull.cpp:425,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:427,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:432,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: geos::algorithm::ConvexHull::createFewPointsResult
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - createPoint
    - std::unique_ptr<Geometry>
    - geos::algorithm::ConvexHull::extractUnique
    - createLineString
    - std::move
    - createEmptyGeometry
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::createFewPointsResult()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:120,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/ConvexHull.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cv'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::algorithm::ConvexHull::toCoordinateSequence
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 4
    functionsReached:
    - size
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> ConvexHull::toCoordinateSequence(Coordinate::ConstVect&
      cv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::ConstVect
      Src: /src/geos/src/algorithm/ConvexHull.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralPts
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - Coordinate::ConstVect
    - size
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::computeInnerOctolateralPts(const Coordinate::ConstVect&
      p_inputPts,\n                          Coordinate::ConstVect& pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralPts
      Src: /src/geos/src/algorithm/ConvexHull.cpp:170,1
    - Dst: erase
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: std::unique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:178,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' dest'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - erase
    - size
    - geos::algorithm::ConvexHull::computeInnerOctolateralPts
    - push_back
    - begin
    - std::unique
    - end
    linkageType: ''
    returnType: bool
    signature: "bool ConvexHull::computeInnerOctolateralRing(const Coordinate::ConstVect&
      p_inputPts,\n                           Coordinate::ConstVect& dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:194,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:212,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:213,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:214,1
    - Dst: assign
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:220,1
    - Dst: geos::algorithm::ConvexHull::padArray3
      Src: /src/geos/src/algorithm/ConvexHull.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 223
    functionName: geos::algorithm::ConvexHull::reduce
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - size
    - Coordinate::ConstSet::begin
    - geos::algorithm::ConvexHull::padArray3
    - Coordinate::ConstVect::begin
    - assign
    - Coordinate::ConstSet::end
    - Coordinate::ConstSet::insert
    - geos::algorithm::ConvexHull::computeInnerOctolateralRing
    - Coordinate::ConstVect::end
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: void ConvexHull::reduce(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:229,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - geom::Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: geos::algorithm::ConvexHull::padArray3
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConvexHull::padArray3(geom::Coordinate::ConstVect& pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::createFewPointsResult
      Src: /src/geos/src/algorithm/ConvexHull.cpp:237,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:242,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:244,1
    - Dst: geos::algorithm::ConvexHull::reduce
      Src: /src/geos/src/algorithm/ConvexHull.cpp:248,1
    - Dst: clear
      Src: /src/geos/src/algorithm/ConvexHull.cpp:251,1
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:252,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:255,1
    - Dst: geos::algorithm::ConvexHull::preSort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:258,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:260,1
    - Dst: geos::algorithm::ConvexHull::grahamScan
      Src: /src/geos/src/algorithm/ConvexHull.cpp:264,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:266,1
    - Dst: geos::algorithm::ConvexHull::lineOrPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: geos::algorithm::ConvexHull::getConvexHull
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ConvexHull::lineOrPolygon
    - size
    - apply_ro
    - clear
    - geos::algorithm::ConvexHull::extractUnique
    - geos::algorithm::ConvexHull::grahamScan
    - geos::algorithm::ConvexHull::preSort
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::ConvexHull::reduce
    - geos::algorithm::ConvexHull::createFewPointsResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::getConvexHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:278,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: RadiallyLessThen
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: geos::algorithm::ConvexHull::preSort
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - size
    - RadiallyLessThen
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void ConvexHull::preSort(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:297,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:298,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:299,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:301,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:302,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:303,1
    - Dst: empty
      Src: /src/geos/src/algorithm/ConvexHull.cpp:304,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:305,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:306,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:307,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:310,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:311,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' c'
    - ' ps'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: geos::algorithm::ConvexHull::grahamScan
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - pop_back
    - size
    - push_back
    - geos::algorithm::Orientation::index
    - back
    - empty
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::grahamScan(const Coordinate::ConstVect& c,\n                       Coordinate::ConstVect&
      ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' c3'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 341
    functionName: geos::algorithm::ConvexHull::isBetween
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::isBetween(const Coordinate& c1, const Coordinate&
      c2, const Coordinate& c3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::cleanRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:350,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:352,1
    - Dst: Coordinate::ConstVect::resize
      Src: /src/geos/src/algorithm/ConvexHull.cpp:353,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:354,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:357,1
    - Dst: createLinearRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: geos::algorithm::ConvexHull::lineOrPolygon
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::ConvexHull::cleanRing
    - createPolygon
    - createLinearRing
    - Coordinate::ConstVect::resize
    - std::move
    - createLineString
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::lineOrPolygon(const Coordinate::ConstVect&
      input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:372,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:381,1
    - Dst: geos::algorithm::ConvexHull::isBetween
      Src: /src/geos/src/algorithm/ConvexHull.cpp:385,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:389,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' original'
    - ' cleaned'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts:
    - condition: (last)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    - condition: (original[0]->equals2D(*last))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    constantsTouched: []
    func_position:
      end: 395
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 395
    functionName: geos::algorithm::ConvexHull::cleanRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::algorithm::ConvexHull::isBetween
    - push_back
    - equals2D
    - Coordinate*::equals2D
    - assert
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::cleanRing(const Coordinate::ConstVect& original,\n
      \                     Coordinate::ConstVect& cleaned)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:408,1
    - Dst: util::UniqueCoordinateArrayFilter::isDone
      Src: /src/geos/src/algorithm/ConvexHull.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' pts'
    - maxPts
    argTypes:
    - Coordinate::ConstVect
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: geos::algorithm::ConvexHull::extractUnique
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 5
    functionsReached:
    - util::UniqueCoordinateArrayFilter::isDone
    - apply_ro
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::extractUnique(Coordinate::ConstVect& pts, std::size_t
      maxPts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:418,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:424,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/algorithm/ConvexHull.cpp:425,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:427,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:432,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: geos::algorithm::ConvexHull::createFewPointsResult
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - createPoint
    - std::unique_ptr<Geometry>
    - geos::algorithm::ConvexHull::extractUnique
    - createLineString
    - std::move
    - createEmptyGeometry
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::createFewPointsResult()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - o
    - p
    - q
    argTypes:
    - Coordinate*
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: geos::algorithm::RadiallyLessThen::polarCompare
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int polarCompare(const Coordinate* o, const Coordinate* p,\n                 const
      Coordinate* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c
    argTypes:
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: geos::algorithm::RadiallyLessThen::RadiallyLessThen
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiallyLessThen(const Coordinate* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polarCompare
      Src: /src/geos/src/algorithm/ConvexHull.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - Coordinate*
    - Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: operator()(const Coordinate* p1, const Coordinate* p2)
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - polarCompare
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Coordinate* p1, const Coordinate* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:118,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:120,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/ConvexHull.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' cv'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::algorithm::ConvexHull::toCoordinateSequence
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 6
    functionsReached:
    - size
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> ConvexHull::toCoordinateSequence(Coordinate::ConstVect&
      cv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::ConstVect
      Src: /src/geos/src/algorithm/ConvexHull.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralPts
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - Coordinate::ConstVect
    - size
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::computeInnerOctolateralPts(const Coordinate::ConstVect&
      p_inputPts,\n                          Coordinate::ConstVect& pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralPts
      Src: /src/geos/src/algorithm/ConvexHull.cpp:170,1
    - Dst: erase
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: std::unique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:175,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:178,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' p_inputPts'
    - ' dest'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: geos::algorithm::ConvexHull::computeInnerOctolateralRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - erase
    - size
    - geos::algorithm::ConvexHull::computeInnerOctolateralPts
    - push_back
    - begin
    - std::unique
    - end
    linkageType: ''
    returnType: bool
    signature: "bool ConvexHull::computeInnerOctolateralRing(const Coordinate::ConstVect&
      p_inputPts,\n                           Coordinate::ConstVect& dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::computeInnerOctolateralRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:194,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: Coordinate::ConstVect::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:201,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:212,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:213,1
    - Dst: Coordinate::ConstSet::insert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:214,1
    - Dst: assign
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: Coordinate::ConstSet::end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:218,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:220,1
    - Dst: geos::algorithm::ConvexHull::padArray3
      Src: /src/geos/src/algorithm/ConvexHull.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 223
    functionName: geos::algorithm::ConvexHull::reduce
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - size
    - Coordinate::ConstSet::begin
    - geos::algorithm::ConvexHull::padArray3
    - Coordinate::ConstVect::begin
    - assign
    - Coordinate::ConstSet::end
    - Coordinate::ConstSet::insert
    - geos::algorithm::ConvexHull::computeInnerOctolateralRing
    - Coordinate::ConstVect::end
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: void
    signature: void ConvexHull::reduce(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:229,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - geom::Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: geos::algorithm::ConvexHull::padArray3
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 4
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConvexHull::padArray3(geom::Coordinate::ConstVect& pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::createFewPointsResult
      Src: /src/geos/src/algorithm/ConvexHull.cpp:237,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:242,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:244,1
    - Dst: geos::algorithm::ConvexHull::reduce
      Src: /src/geos/src/algorithm/ConvexHull.cpp:248,1
    - Dst: clear
      Src: /src/geos/src/algorithm/ConvexHull.cpp:251,1
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:252,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:255,1
    - Dst: geos::algorithm::ConvexHull::preSort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:258,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:260,1
    - Dst: geos::algorithm::ConvexHull::grahamScan
      Src: /src/geos/src/algorithm/ConvexHull.cpp:264,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/ConvexHull.cpp:266,1
    - Dst: geos::algorithm::ConvexHull::lineOrPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: geos::algorithm::ConvexHull::getConvexHull
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ConvexHull::lineOrPolygon
    - size
    - apply_ro
    - clear
    - geos::algorithm::ConvexHull::extractUnique
    - geos::algorithm::ConvexHull::grahamScan
    - geos::algorithm::ConvexHull::preSort
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::ConvexHull::reduce
    - geos::algorithm::ConvexHull::createFewPointsResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::getConvexHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:278,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: begin
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: end
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    - Dst: RadiallyLessThen
      Src: /src/geos/src/algorithm/ConvexHull.cpp:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: geos::algorithm::ConvexHull::preSort
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 4
    functionsReached:
    - size
    - RadiallyLessThen
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void ConvexHull::preSort(Coordinate::ConstVect& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:297,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:298,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:299,1
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:301,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:302,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:303,1
    - Dst: empty
      Src: /src/geos/src/algorithm/ConvexHull.cpp:304,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:305,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:306,1
    - Dst: back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:307,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:310,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:311,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' c'
    - ' ps'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: geos::algorithm::ConvexHull::grahamScan
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 4
    functionsReached:
    - pop_back
    - size
    - push_back
    - geos::algorithm::Orientation::index
    - back
    - empty
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::grahamScan(const Coordinate::ConstVect& c,\n                       Coordinate::ConstVect&
      ps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/ConvexHull.cpp:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - ' c3'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 341
    functionName: geos::algorithm::ConvexHull::isBetween
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::isBetween(const Coordinate& c1, const Coordinate&
      c2, const Coordinate& c3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::cleanRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:350,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:352,1
    - Dst: Coordinate::ConstVect::resize
      Src: /src/geos/src/algorithm/ConvexHull.cpp:353,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:354,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:355,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:357,1
    - Dst: createLinearRing
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:358,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Coordinate::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: geos::algorithm::ConvexHull::lineOrPolygon
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::ConvexHull::cleanRing
    - createPolygon
    - createLinearRing
    - Coordinate::ConstVect::resize
    - std::move
    - createLineString
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::lineOrPolygon(const Coordinate::ConstVect&
      input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:367,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:372,1
    - Dst: assert
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:373,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/algorithm/ConvexHull.cpp:381,1
    - Dst: geos::algorithm::ConvexHull::isBetween
      Src: /src/geos/src/algorithm/ConvexHull.cpp:385,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:389,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/ConvexHull.cpp:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' original'
    - ' cleaned'
    argTypes:
    - Coordinate::ConstVect
    - Coordinate::ConstVect
    assertStmts:
    - condition: (last)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    - condition: (original[0]->equals2D(*last))
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/geos/src/algorithm/ConvexHull.cpp
    constantsTouched: []
    func_position:
      end: 395
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 395
    functionName: geos::algorithm::ConvexHull::cleanRing
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::algorithm::ConvexHull::isBetween
    - push_back
    - equals2D
    - Coordinate*::equals2D
    - assert
    linkageType: ''
    returnType: void
    signature: "void ConvexHull::cleanRing(const Coordinate::ConstVect& original,\n
      \                     Coordinate::ConstVect& cleaned)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/ConvexHull.cpp:408,1
    - Dst: util::UniqueCoordinateArrayFilter::isDone
      Src: /src/geos/src/algorithm/ConvexHull.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' pts'
    - maxPts
    argTypes:
    - Coordinate::ConstVect
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: geos::algorithm::ConvexHull::extractUnique
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 7
    functionsReached:
    - util::UniqueCoordinateArrayFilter::isDone
    - apply_ro
    linkageType: ''
    returnType: bool
    signature: bool ConvexHull::extractUnique(Coordinate::ConstVect& pts, std::size_t
      maxPts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ConvexHull::extractUnique
      Src: /src/geos/src/algorithm/ConvexHull.cpp:418,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:424,1
    - Dst: createEmptyGeometry
      Src: /src/geos/src/algorithm/ConvexHull.cpp:425,1
    - Dst: Coordinate::ConstVect::size
      Src: /src/geos/src/algorithm/ConvexHull.cpp:427,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/ConvexHull.cpp:429,1
    - Dst: geos::algorithm::ConvexHull::toCoordinateSequence
      Src: /src/geos/src/algorithm/ConvexHull.cpp:432,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/ConvexHull.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: geos::algorithm::ConvexHull::createFewPointsResult
    functionSourceFile: /src/geos/src/algorithm/ConvexHull.cpp
    functionUses: 4
    functionsReached:
    - createPoint
    - std::unique_ptr<Geometry>
    - geos::algorithm::ConvexHull::extractUnique
    - createLineString
    - std::move
    - createEmptyGeometry
    - Coordinate::ConstVect::size
    - geos::algorithm::ConvexHull::toCoordinateSequence
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConvexHull::createFewPointsResult()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:36,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:49,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodePt
    - a0
    - a1
    - b0
    - b1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::algorithm::PolygonNodeTopology::isCrossing
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::compareBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isCrossing(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1,\n    const CoordinateXY*
      b0, const CoordinateXY* b1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:66,1
    - Dst: geos::algorithm::PolygonNodeTopology::isBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - nodePt
    - a0
    - a1
    - b
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::algorithm::PolygonNodeTopology::isInteriorSegment
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::isBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isInteriorSegment(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1, const CoordinateXY* b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:83,1
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::algorithm::PolygonNodeTopology::isBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isBetween(const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:96,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::PolygonNodeTopology::compareBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::compareAngle
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareBetween(\n    const CoordinateXY*
      origin, const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:112,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:113,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: geos::algorithm::PolygonNodeTopology::compareAngle
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareAngle(\n    const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:141,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:142,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: geos::algorithm::PolygonNodeTopology::isAngleGreater
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isAngleGreater(const CoordinateXY* origin,\n
      \   const CoordinateXY* p, const CoordinateXY* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - origin
    - p
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: geos::algorithm::PolygonNodeTopology::quadrant
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 15
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: int
    signature: int PolygonNodeTopology::quadrant(const CoordinateXY* origin, const
      CoordinateXY* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:36,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:49,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodePt
    - a0
    - a1
    - b0
    - b1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::algorithm::PolygonNodeTopology::isCrossing
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::compareBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isCrossing(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1,\n    const CoordinateXY*
      b0, const CoordinateXY* b1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:66,1
    - Dst: geos::algorithm::PolygonNodeTopology::isBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - nodePt
    - a0
    - a1
    - b
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::algorithm::PolygonNodeTopology::isInteriorSegment
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::isBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isInteriorSegment(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1, const CoordinateXY* b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:83,1
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::algorithm::PolygonNodeTopology::isBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isBetween(const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:96,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::PolygonNodeTopology::compareBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::compareAngle
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareBetween(\n    const CoordinateXY*
      origin, const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:112,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:113,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: geos::algorithm::PolygonNodeTopology::compareAngle
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareAngle(\n    const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:141,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:142,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: geos::algorithm::PolygonNodeTopology::isAngleGreater
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isAngleGreater(const CoordinateXY* origin,\n
      \   const CoordinateXY* p, const CoordinateXY* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - origin
    - p
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: geos::algorithm::PolygonNodeTopology::quadrant
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 18
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: int
    signature: int PolygonNodeTopology::quadrant(const CoordinateXY* origin, const
      CoordinateXY* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:36,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:49,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodePt
    - a0
    - a1
    - b0
    - b1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::algorithm::PolygonNodeTopology::isCrossing
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::compareBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isCrossing(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1,\n    const CoordinateXY*
      b0, const CoordinateXY* b1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:66,1
    - Dst: geos::algorithm::PolygonNodeTopology::isBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - nodePt
    - a0
    - a1
    - b
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::algorithm::PolygonNodeTopology::isInteriorSegment
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::isBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isInteriorSegment(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1, const CoordinateXY* b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:83,1
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::algorithm::PolygonNodeTopology::isBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isBetween(const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:96,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::PolygonNodeTopology::compareBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::compareAngle
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareBetween(\n    const CoordinateXY*
      origin, const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:112,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:113,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: geos::algorithm::PolygonNodeTopology::compareAngle
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareAngle(\n    const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:141,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:142,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: geos::algorithm::PolygonNodeTopology::isAngleGreater
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isAngleGreater(const CoordinateXY* origin,\n
      \   const CoordinateXY* p, const CoordinateXY* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - origin
    - p
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: geos::algorithm::PolygonNodeTopology::quadrant
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 21
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: int
    signature: int PolygonNodeTopology::quadrant(const CoordinateXY* origin, const
      CoordinateXY* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:36,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:49,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - nodePt
    - a0
    - a1
    - b0
    - b1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::algorithm::PolygonNodeTopology::isCrossing
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::compareBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isCrossing(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1,\n    const CoordinateXY*
      b0, const CoordinateXY* b1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:66,1
    - Dst: geos::algorithm::PolygonNodeTopology::isBetween
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - nodePt
    - a0
    - a1
    - b
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::algorithm::PolygonNodeTopology::isInteriorSegment
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    - geos::algorithm::PolygonNodeTopology::isBetween
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isInteriorSegment(const CoordinateXY* nodePt,\n
      \   const CoordinateXY* a0, const CoordinateXY* a1, const CoordinateXY* b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:83,1
    - Dst: geos::algorithm::PolygonNodeTopology::isAngleGreater
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::algorithm::PolygonNodeTopology::isBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isAngleGreater
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isBetween(const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:96,1
    - Dst: geos::algorithm::PolygonNodeTopology::compareAngle
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - origin
    - p
    - e0
    - e1
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::PolygonNodeTopology::compareBetween
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::compareAngle
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareBetween(\n    const CoordinateXY*
      origin, const CoordinateXY* p,\n    const CoordinateXY* e0, const CoordinateXY*
      e1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:112,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:113,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: geos::algorithm::PolygonNodeTopology::compareAngle
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: "int PolygonNodeTopology::compareAngle(\n    const CoordinateXY* origin,\n
      \   const CoordinateXY* p,\n    const CoordinateXY* q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:141,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:142,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - origin
    - p
    - q
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: geos::algorithm::PolygonNodeTopology::isAngleGreater
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PolygonNodeTopology::isAngleGreater(const CoordinateXY* origin,\n
      \   const CoordinateXY* p, const CoordinateXY* q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/algorithm/PolygonNodeTopology.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - origin
    - p
    argTypes:
    - CoordinateXY*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: geos::algorithm::PolygonNodeTopology::quadrant
    functionSourceFile: /src/geos/src/algorithm/PolygonNodeTopology.cpp
    functionUses: 24
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: int
    signature: int PolygonNodeTopology::quadrant(const CoordinateXY* origin, const
      CoordinateXY* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - newInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - newInputGeom
    - newIsConvex
    argTypes:
    - Geometry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom,
      const bool newIsConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::algorithm::MinimumDiameter::getLength
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::getLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: '&

      MinimumDiameter::getWidthCoordinate()'
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - computeMinimumDiameter
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      MinimumDiameter::getWidthCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:123,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: geos::algorithm::MinimumDiameter::getSupportingSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - getFactory
    - toGeometry
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getSupportingSegment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:135,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:137,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: project
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:142,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:144,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:145,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumDiameter::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - detail::make_unique<CoordinateSequence>
    - project
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:155,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:159,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:163,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: geos::algorithm::MinimumDiameter::computeMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached:
    - isNull
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumDiameter::computeWidthConvex
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeMinimumDiameter()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:174,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:175,1
    - Dst: Geometry*::getCoordinates
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:178,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:182,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:185,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:189,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:196,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:197,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:198,1
    - Dst: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumDiameter::computeWidthConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getCoordinates
    - getSize
    - getAt
    - geos::io::GeoJSONValue::getNull
    - get
    - dynamic_cast<const Polygon*>
    - typeid
    - geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeWidthConvex(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:220,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:222,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:223,1
    - Dst: geos::algorithm::MinimumDiameter::findMaxPerpDistance
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::MinimumDiameter::findMaxPerpDistance
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeConvexRingMinDiameter(const CoordinateSequence*
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: geos::algorithm::MinimumDiameter::getNextIndex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:239,1
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pts
    - seg
    - startIndex
    argTypes:
    - CoordinateSequence*
    - LineSegment*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: geos::algorithm::MinimumDiameter::findMaxPerpDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumDiameter::getNextIndex
    - LineSegment*::distancePerpendicular
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::findMaxPerpDistance(const CoordinateSequence*
      pts,\n                                     const LineSegment* seg, unsigned
      int startIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pts
    - index
    argTypes:
    - CoordinateSequence*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: geos::algorithm::MinimumDiameter::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::getNextIndex(const CoordinateSequence*
      pts,\n                              unsigned int index)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:268,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:270,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: p0::equals2D
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:277,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: geos::algorithm::MinimumDiameter::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:294,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:315,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:316,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:317,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:318,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:321,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:322,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:323,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:324,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:326,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:327,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:328,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:329,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:330,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:331,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 335
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - LineSegment::lineIntersection
    - geos::algorithm::MinimumDiameter::computeC
    - p0::equals2D
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    - get
    - geos::algorithm::MinimumDiameter::computeMaximumLine
    - geos::algorithm::MinimumDiameter::computeSegmentForLine
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:343,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:344,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:345,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:346,1
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:348,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:350,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:364,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:365,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:366,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - geom::CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: geos::algorithm::MinimumDiameter::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 1
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    - geom::CoordinateSequence*::getSize
    - GeometryFactory*::createLineString
    - std::move
    - geom::CoordinateSequence*::getAt
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> MinimumDiameter::computeMaximumLine(const
      geom::CoordinateSequence* pts,\n        const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: geos::algorithm::MinimumDiameter::computeC
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::computeC(double a, double b, const Coordinate&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:388,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:389,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:392,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:393,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 396
    functionName: geos::algorithm::MinimumDiameter::computeSegmentForLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 1
    functionsReached:
    - fabs
    - Coordinate
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment MinimumDiameter::computeSegmentForLine(double a, double
      b, double c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: geos::algorithm::MinimumDiameter::getMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getDiameter
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumDiameter(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - newInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - newInputGeom
    - newIsConvex
    argTypes:
    - Geometry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom,
      const bool newIsConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::algorithm::MinimumDiameter::getLength
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::getLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: '&

      MinimumDiameter::getWidthCoordinate()'
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - computeMinimumDiameter
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      MinimumDiameter::getWidthCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:123,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: geos::algorithm::MinimumDiameter::getSupportingSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - getFactory
    - toGeometry
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getSupportingSegment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:135,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:137,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: project
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:142,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:144,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:145,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumDiameter::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - detail::make_unique<CoordinateSequence>
    - project
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:155,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:159,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:163,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: geos::algorithm::MinimumDiameter::computeMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 7
    functionsReached:
    - isNull
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumDiameter::computeWidthConvex
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeMinimumDiameter()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:174,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:175,1
    - Dst: Geometry*::getCoordinates
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:178,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:182,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:185,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:189,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:196,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:197,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:198,1
    - Dst: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumDiameter::computeWidthConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getCoordinates
    - getSize
    - getAt
    - geos::io::GeoJSONValue::getNull
    - get
    - dynamic_cast<const Polygon*>
    - typeid
    - geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeWidthConvex(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:220,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:222,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:223,1
    - Dst: geos::algorithm::MinimumDiameter::findMaxPerpDistance
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::MinimumDiameter::findMaxPerpDistance
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeConvexRingMinDiameter(const CoordinateSequence*
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: geos::algorithm::MinimumDiameter::getNextIndex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:239,1
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pts
    - seg
    - startIndex
    argTypes:
    - CoordinateSequence*
    - LineSegment*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: geos::algorithm::MinimumDiameter::findMaxPerpDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumDiameter::getNextIndex
    - LineSegment*::distancePerpendicular
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::findMaxPerpDistance(const CoordinateSequence*
      pts,\n                                     const LineSegment* seg, unsigned
      int startIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pts
    - index
    argTypes:
    - CoordinateSequence*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: geos::algorithm::MinimumDiameter::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::getNextIndex(const CoordinateSequence*
      pts,\n                              unsigned int index)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:268,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:270,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: p0::equals2D
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:277,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: geos::algorithm::MinimumDiameter::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:294,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:315,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:316,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:317,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:318,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:321,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:322,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:323,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:324,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:326,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:327,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:328,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:329,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:330,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:331,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 335
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - LineSegment::lineIntersection
    - geos::algorithm::MinimumDiameter::computeC
    - p0::equals2D
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    - get
    - geos::algorithm::MinimumDiameter::computeMaximumLine
    - geos::algorithm::MinimumDiameter::computeSegmentForLine
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:343,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:344,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:345,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:346,1
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:348,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:350,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:364,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:365,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:366,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - geom::CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: geos::algorithm::MinimumDiameter::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 2
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    - geom::CoordinateSequence*::getSize
    - GeometryFactory*::createLineString
    - std::move
    - geom::CoordinateSequence*::getAt
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> MinimumDiameter::computeMaximumLine(const
      geom::CoordinateSequence* pts,\n        const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: geos::algorithm::MinimumDiameter::computeC
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::computeC(double a, double b, const Coordinate&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:388,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:389,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:392,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:393,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 396
    functionName: geos::algorithm::MinimumDiameter::computeSegmentForLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 2
    functionsReached:
    - fabs
    - Coordinate
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment MinimumDiameter::computeSegmentForLine(double a, double
      b, double c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: geos::algorithm::MinimumDiameter::getMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getDiameter
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumDiameter(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - newInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - newInputGeom
    - newIsConvex
    argTypes:
    - Geometry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom,
      const bool newIsConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::algorithm::MinimumDiameter::getLength
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::getLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: '&

      MinimumDiameter::getWidthCoordinate()'
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - computeMinimumDiameter
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      MinimumDiameter::getWidthCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:123,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: geos::algorithm::MinimumDiameter::getSupportingSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - getFactory
    - toGeometry
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getSupportingSegment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:135,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:137,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: project
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:142,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:144,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:145,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumDiameter::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - detail::make_unique<CoordinateSequence>
    - project
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:155,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:159,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:163,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: geos::algorithm::MinimumDiameter::computeMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 11
    functionsReached:
    - isNull
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumDiameter::computeWidthConvex
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeMinimumDiameter()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:174,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:175,1
    - Dst: Geometry*::getCoordinates
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:178,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:182,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:185,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:189,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:196,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:197,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:198,1
    - Dst: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumDiameter::computeWidthConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getCoordinates
    - getSize
    - getAt
    - geos::io::GeoJSONValue::getNull
    - get
    - dynamic_cast<const Polygon*>
    - typeid
    - geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeWidthConvex(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:220,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:222,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:223,1
    - Dst: geos::algorithm::MinimumDiameter::findMaxPerpDistance
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::MinimumDiameter::findMaxPerpDistance
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeConvexRingMinDiameter(const CoordinateSequence*
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: geos::algorithm::MinimumDiameter::getNextIndex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:239,1
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pts
    - seg
    - startIndex
    argTypes:
    - CoordinateSequence*
    - LineSegment*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: geos::algorithm::MinimumDiameter::findMaxPerpDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumDiameter::getNextIndex
    - LineSegment*::distancePerpendicular
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::findMaxPerpDistance(const CoordinateSequence*
      pts,\n                                     const LineSegment* seg, unsigned
      int startIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pts
    - index
    argTypes:
    - CoordinateSequence*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: geos::algorithm::MinimumDiameter::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::getNextIndex(const CoordinateSequence*
      pts,\n                              unsigned int index)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:268,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:270,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: p0::equals2D
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:277,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: geos::algorithm::MinimumDiameter::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:294,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:315,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:316,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:317,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:318,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:321,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:322,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:323,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:324,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:326,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:327,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:328,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:329,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:330,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:331,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 335
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - LineSegment::lineIntersection
    - geos::algorithm::MinimumDiameter::computeC
    - p0::equals2D
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    - get
    - geos::algorithm::MinimumDiameter::computeMaximumLine
    - geos::algorithm::MinimumDiameter::computeSegmentForLine
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:343,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:344,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:345,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:346,1
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:348,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:350,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:364,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:365,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:366,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - geom::CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: geos::algorithm::MinimumDiameter::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    - geom::CoordinateSequence*::getSize
    - GeometryFactory*::createLineString
    - std::move
    - geom::CoordinateSequence*::getAt
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> MinimumDiameter::computeMaximumLine(const
      geom::CoordinateSequence* pts,\n        const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: geos::algorithm::MinimumDiameter::computeC
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::computeC(double a, double b, const Coordinate&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:388,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:389,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:392,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:393,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 396
    functionName: geos::algorithm::MinimumDiameter::computeSegmentForLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 3
    functionsReached:
    - fabs
    - Coordinate
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment MinimumDiameter::computeSegmentForLine(double a, double
      b, double c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: geos::algorithm::MinimumDiameter::getMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getDiameter
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumDiameter(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - newInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - newInputGeom
    - newIsConvex
    argTypes:
    - Geometry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::MinimumDiameter::MinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::MinimumDiameter(const Geometry* newInputGeom,
      const bool newIsConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: geos::algorithm::MinimumDiameter::getLength
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::getLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: '&

      MinimumDiameter::getWidthCoordinate()'
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - computeMinimumDiameter
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      MinimumDiameter::getWidthCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:122,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:123,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: geos::algorithm::MinimumDiameter::getSupportingSegment
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - getFactory
    - toGeometry
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getSupportingSegment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:135,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:137,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:138,1
    - Dst: project
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:142,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:144,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:145,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: geos::algorithm::MinimumDiameter::getDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - detail::make_unique<CoordinateSequence>
    - project
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumDiameter::getDiameter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:155,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:159,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:163,1
    - Dst: geos::algorithm::MinimumDiameter::computeWidthConvex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: geos::algorithm::MinimumDiameter::computeMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 15
    functionsReached:
    - isNull
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumDiameter::computeWidthConvex
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeMinimumDiameter()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:173,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:174,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:175,1
    - Dst: Geometry*::getCoordinates
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:178,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:182,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:185,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:189,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:196,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:197,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:198,1
    - Dst: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumDiameter::computeWidthConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getCoordinates
    - getSize
    - getAt
    - geos::io::GeoJSONValue::getNull
    - get
    - dynamic_cast<const Polygon*>
    - typeid
    - geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeWidthConvex(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:220,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:222,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:223,1
    - Dst: geos::algorithm::MinimumDiameter::findMaxPerpDistance
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: geos::algorithm::MinimumDiameter::computeConvexRingMinDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::MinimumDiameter::findMaxPerpDistance
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void MinimumDiameter::computeConvexRingMinDiameter(const CoordinateSequence*
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:232,1
    - Dst: geos::algorithm::MinimumDiameter::getNextIndex
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:239,1
    - Dst: LineSegment*::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:242,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pts
    - seg
    - startIndex
    argTypes:
    - CoordinateSequence*
    - LineSegment*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: geos::algorithm::MinimumDiameter::findMaxPerpDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumDiameter::getNextIndex
    - LineSegment*::distancePerpendicular
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::findMaxPerpDistance(const CoordinateSequence*
      pts,\n                                     const LineSegment* seg, unsigned
      int startIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pts
    - index
    argTypes:
    - CoordinateSequence*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: geos::algorithm::MinimumDiameter::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int MinimumDiameter::getNextIndex(const CoordinateSequence*
      pts,\n                              unsigned int index)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumDiameter::computeMinimumDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:268,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:270,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:272,1
    - Dst: p0::equals2D
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:277,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:278,1
    - Dst: geos::algorithm::MinimumDiameter::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: get
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:281,1
    - Dst: getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:294,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:297,1
    - Dst: geos::algorithm::MinimumDiameter::computeC
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:305,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:315,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:316,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:317,1
    - Dst: geos::algorithm::MinimumDiameter::computeSegmentForLine
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:318,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:321,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:322,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:323,1
    - Dst: LineSegment::lineIntersection
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:324,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:326,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:327,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:328,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:329,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:330,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:331,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:333,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 335
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::MinimumDiameter::computeMinimumDiameter
    - isNull
    - getFactory
    - LineSegment::lineIntersection
    - geos::algorithm::MinimumDiameter::computeC
    - p0::equals2D
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    - get
    - geos::algorithm::MinimumDiameter::computeMaximumLine
    - geos::algorithm::MinimumDiameter::computeSegmentForLine
    - std::move
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:343,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:344,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:345,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:346,1
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:348,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:350,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:364,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:365,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:366,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - geom::CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: geos::algorithm::MinimumDiameter::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 4
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    - geom::CoordinateSequence*::getSize
    - GeometryFactory*::createLineString
    - std::move
    - geom::CoordinateSequence*::getAt
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> MinimumDiameter::computeMaximumLine(const
      geom::CoordinateSequence* pts,\n        const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ' p'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: geos::algorithm::MinimumDiameter::computeC
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double MinimumDiameter::computeC(double a, double b, const Coordinate&
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:387,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:388,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:389,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:392,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:393,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 396
    functionName: geos::algorithm::MinimumDiameter::computeSegmentForLine
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 4
    functionsReached:
    - fabs
    - Coordinate
    - LineSegment
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment MinimumDiameter::computeSegmentForLine(double a, double
      b, double c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: geos::algorithm::MinimumDiameter::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumRectangle(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumDiameter::getDiameter
      Src: /src/geos/src/algorithm/MinimumDiameter.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: geos::algorithm::MinimumDiameter::getMinimumDiameter
    functionSourceFile: /src/geos/src/algorithm/MinimumDiameter.cpp
    functionUses: 10
    functionsReached:
    - MinimumDiameter::getDiameter
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumDiameter::getMinimumDiameter(Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException(std::string
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException(std::string
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException(std::string
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - msg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::algorithm::NotRepresentableException::NotRepresentableException
    functionSourceFile: /src/geos/src/algorithm/NotRepresentableException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotRepresentableException::NotRepresentableException(std::string
      msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:56,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:57,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:71,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:72,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/LineIntersector.cpp:82,1
    - Dst: assert
      Src: /src/geos/src/algorithm/LineIntersector.cpp:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!(dist == 0.0 && !(p == p0)))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/geos/src/algorithm/LineIntersector.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: geos::algorithm::LineIntersector::computeEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - assert
    - fabs
    - std::max
    linkageType: ''
    returnType: double
    signature: double LineIntersector::computeEdgeDistance(const CoordinateXY& p,
      const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::toString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:94,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:97,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:98,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:99,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:100,1
    - Dst: isEndPoint
      Src: /src/geos/src/algorithm/LineIntersector.cpp:101,1
    - Dst: isCollinear
      Src: /src/geos/src/algorithm/LineIntersector.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/algorithm/LineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: geos::algorithm::LineIntersector::toString
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - geos::algorithm::LineIntersector::toString
    - isEndPoint
    - getCoordString
    - isCollinear
    linkageType: ''
    returnType: std::string
    signature: std::string LineIntersector::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: geos::algorithm::LineIntersector::isSameSignAndNonZero
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineIntersector::isSameSignAndNonZero(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:127,1
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: '&

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - computeIntLineIndex
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: geos::algorithm::LineIntersector::getIndexAlongSegment
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: size_t
    signature: size_t LineIntersector::getIndexAlongSegment(std::size_t segmentIndex,
      std::size_t intIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:153,1
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - segmentIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::LineIntersector::getEdgeDistance
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex(std::size_t segmentIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::algorithm::LineIntersector::getEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::LineIntersector::computeEdgeDistance
    linkageType: ''
    returnType: double
    signature: double LineIntersector::getEdgeDistance(std::size_t segmentIndex, std::size_t
      intIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' li'
    - ' seq0'
    - i0
    - ' seq1'
    - i1
    argTypes:
    - algorithm::LineIntersector
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: geos::algorithm::DoIntersect::DoIntersect
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIntersect(algorithm::LineIntersector& li,\n                const
      CoordinateSequence& seq0,\n                std::size_t i0,\n                const
      CoordinateSequence& seq1,\n                std::size_t i1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:192,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:193,1
    - Dst: geos::algorithm::computeIntersection
      Src: /src/geos/src/algorithm/LineIntersector.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: operator()()
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::computeIntersection
    - getAt
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/src/algorithm/LineIntersector.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - p0
    - ' q'
    - q0
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::LineIntersector::computeIntersection
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CoordinateSequences::binaryDispatch
    linkageType: ''
    returnType: void
    signature: "void LineIntersector::computeIntersection(const CoordinateSequence&
      p, std::size_t p0,\n                                     const CoordinateSequence&
      q, std::size_t q0)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:221,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:223,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:228,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: "&\nLineIntersector::nearestEndpoint(const CoordinateXY& p1, const
      CoordinateXY& p2,\n                                 const CoordinateXY& q1,
      const CoordinateXY& q2)"
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY &\nLineIntersector::nearestEndpoint(const CoordinateXY&
      p1, const CoordinateXY& p2,\n                                 const CoordinateXY&
      q1, const CoordinateXY& q2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:56,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:57,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:71,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:72,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/LineIntersector.cpp:82,1
    - Dst: assert
      Src: /src/geos/src/algorithm/LineIntersector.cpp:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!(dist == 0.0 && !(p == p0)))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/geos/src/algorithm/LineIntersector.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: geos::algorithm::LineIntersector::computeEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 1
    functionsReached:
    - assert
    - fabs
    - std::max
    linkageType: ''
    returnType: double
    signature: double LineIntersector::computeEdgeDistance(const CoordinateXY& p,
      const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::toString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:94,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:97,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:98,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:99,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:100,1
    - Dst: isEndPoint
      Src: /src/geos/src/algorithm/LineIntersector.cpp:101,1
    - Dst: isCollinear
      Src: /src/geos/src/algorithm/LineIntersector.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/algorithm/LineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: geos::algorithm::LineIntersector::toString
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - geos::algorithm::LineIntersector::toString
    - isEndPoint
    - getCoordString
    - isCollinear
    linkageType: ''
    returnType: std::string
    signature: std::string LineIntersector::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: geos::algorithm::LineIntersector::isSameSignAndNonZero
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineIntersector::isSameSignAndNonZero(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:127,1
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: '&

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - computeIntLineIndex
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: geos::algorithm::LineIntersector::getIndexAlongSegment
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: size_t
    signature: size_t LineIntersector::getIndexAlongSegment(std::size_t segmentIndex,
      std::size_t intIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:153,1
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - segmentIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::LineIntersector::getEdgeDistance
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex(std::size_t segmentIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::algorithm::LineIntersector::getEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::LineIntersector::computeEdgeDistance
    linkageType: ''
    returnType: double
    signature: double LineIntersector::getEdgeDistance(std::size_t segmentIndex, std::size_t
      intIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' li'
    - ' seq0'
    - i0
    - ' seq1'
    - i1
    argTypes:
    - algorithm::LineIntersector
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: geos::algorithm::DoIntersect::DoIntersect
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIntersect(algorithm::LineIntersector& li,\n                const
      CoordinateSequence& seq0,\n                std::size_t i0,\n                const
      CoordinateSequence& seq1,\n                std::size_t i1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:192,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:193,1
    - Dst: computeIntersection
      Src: /src/geos/src/algorithm/LineIntersector.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: operator()()
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - computeIntersection
    - getAt
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/src/algorithm/LineIntersector.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - p0
    - ' q'
    - q0
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::LineIntersector::computeIntersection
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CoordinateSequences::binaryDispatch
    linkageType: ''
    returnType: void
    signature: "void LineIntersector::computeIntersection(const CoordinateSequence&
      p, std::size_t p0,\n                                     const CoordinateSequence&
      q, std::size_t q0)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:221,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:223,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:228,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: "&\nLineIntersector::nearestEndpoint(const CoordinateXY& p1, const
      CoordinateXY& p2,\n                                 const CoordinateXY& q1,
      const CoordinateXY& q2)"
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY &\nLineIntersector::nearestEndpoint(const CoordinateXY&
      p1, const CoordinateXY& p2,\n                                 const CoordinateXY&
      q1, const CoordinateXY& q2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:56,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:57,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:71,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:72,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/LineIntersector.cpp:82,1
    - Dst: assert
      Src: /src/geos/src/algorithm/LineIntersector.cpp:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!(dist == 0.0 && !(p == p0)))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/geos/src/algorithm/LineIntersector.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: geos::algorithm::LineIntersector::computeEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 2
    functionsReached:
    - assert
    - fabs
    - std::max
    linkageType: ''
    returnType: double
    signature: double LineIntersector::computeEdgeDistance(const CoordinateXY& p,
      const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::toString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:94,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:97,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:98,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:99,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:100,1
    - Dst: isEndPoint
      Src: /src/geos/src/algorithm/LineIntersector.cpp:101,1
    - Dst: isCollinear
      Src: /src/geos/src/algorithm/LineIntersector.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/algorithm/LineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: geos::algorithm::LineIntersector::toString
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 3
    functionsReached:
    - std::ostringstream::str
    - geos::algorithm::LineIntersector::toString
    - isEndPoint
    - getCoordString
    - isCollinear
    linkageType: ''
    returnType: std::string
    signature: std::string LineIntersector::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: geos::algorithm::LineIntersector::isSameSignAndNonZero
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineIntersector::isSameSignAndNonZero(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:127,1
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: '&

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - computeIntLineIndex
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: geos::algorithm::LineIntersector::getIndexAlongSegment
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: size_t
    signature: size_t LineIntersector::getIndexAlongSegment(std::size_t segmentIndex,
      std::size_t intIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:153,1
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - segmentIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::LineIntersector::getEdgeDistance
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex(std::size_t segmentIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::algorithm::LineIntersector::getEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::LineIntersector::computeEdgeDistance
    linkageType: ''
    returnType: double
    signature: double LineIntersector::getEdgeDistance(std::size_t segmentIndex, std::size_t
      intIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' li'
    - ' seq0'
    - i0
    - ' seq1'
    - i1
    argTypes:
    - algorithm::LineIntersector
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: geos::algorithm::DoIntersect::DoIntersect
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIntersect(algorithm::LineIntersector& li,\n                const
      CoordinateSequence& seq0,\n                std::size_t i0,\n                const
      CoordinateSequence& seq1,\n                std::size_t i1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:192,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:193,1
    - Dst: computeIntersection
      Src: /src/geos/src/algorithm/LineIntersector.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: operator()()
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - computeIntersection
    - getAt
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/src/algorithm/LineIntersector.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - p0
    - ' q'
    - q0
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::LineIntersector::computeIntersection
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CoordinateSequences::binaryDispatch
    linkageType: ''
    returnType: void
    signature: "void LineIntersector::computeIntersection(const CoordinateSequence&
      p, std::size_t p0,\n                                     const CoordinateSequence&
      q, std::size_t q0)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:221,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:223,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:228,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: "&\nLineIntersector::nearestEndpoint(const CoordinateXY& p1, const
      CoordinateXY& p2,\n                                 const CoordinateXY& q1,
      const CoordinateXY& q2)"
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY &\nLineIntersector::nearestEndpoint(const CoordinateXY&
      p1, const CoordinateXY& p2,\n                                 const CoordinateXY&
      q1, const CoordinateXY& q2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:56,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:57,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:71,1
    - Dst: fabs
      Src: /src/geos/src/algorithm/LineIntersector.cpp:72,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/LineIntersector.cpp:82,1
    - Dst: assert
      Src: /src/geos/src/algorithm/LineIntersector.cpp:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts:
    - condition: (!(dist == 0.0 && !(p == p0)))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/geos/src/algorithm/LineIntersector.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: geos::algorithm::LineIntersector::computeEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 3
    functionsReached:
    - assert
    - fabs
    - std::max
    linkageType: ''
    returnType: double
    signature: double LineIntersector::computeEdgeDistance(const CoordinateXY& p,
      const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::toString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:94,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:97,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:98,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:99,1
    - Dst: getCoordString
      Src: /src/geos/src/algorithm/LineIntersector.cpp:100,1
    - Dst: isEndPoint
      Src: /src/geos/src/algorithm/LineIntersector.cpp:101,1
    - Dst: isCollinear
      Src: /src/geos/src/algorithm/LineIntersector.cpp:107,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/algorithm/LineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: geos::algorithm::LineIntersector::toString
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 4
    functionsReached:
    - std::ostringstream::str
    - geos::algorithm::LineIntersector::toString
    - isEndPoint
    - getCoordString
    - isCollinear
    linkageType: ''
    returnType: std::string
    signature: std::string LineIntersector::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: geos::algorithm::LineIntersector::isSameSignAndNonZero
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineIntersector::isSameSignAndNonZero(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:127,1
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: '&

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - computeIntLineIndex
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LineIntersector::getIntersectionAlongSegment(std::size_t segmentIndex, std::size_t
      intIndex)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeIntLineIndex
      Src: /src/geos/src/algorithm/LineIntersector.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: geos::algorithm::LineIntersector::getIndexAlongSegment
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::LineIntersector::computeIntLineIndex
    linkageType: ''
    returnType: size_t
    signature: size_t LineIntersector::getIndexAlongSegment(std::size_t segmentIndex,
      std::size_t intIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:153,1
    - Dst: geos::algorithm::LineIntersector::getEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - segmentIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: geos::algorithm::LineIntersector::computeIntLineIndex
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::LineIntersector::getEdgeDistance
    linkageType: ''
    returnType: void
    signature: void LineIntersector::computeIntLineIndex(std::size_t segmentIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::LineIntersector::computeEdgeDistance
      Src: /src/geos/src/algorithm/LineIntersector.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - segmentIndex
    - intIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: geos::algorithm::LineIntersector::getEdgeDistance
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::LineIntersector::computeEdgeDistance
    linkageType: ''
    returnType: double
    signature: double LineIntersector::getEdgeDistance(std::size_t segmentIndex, std::size_t
      intIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' li'
    - ' seq0'
    - i0
    - ' seq1'
    - i1
    argTypes:
    - algorithm::LineIntersector
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: geos::algorithm::DoIntersect::DoIntersect
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIntersect(algorithm::LineIntersector& li,\n                const
      CoordinateSequence& seq0,\n                std::size_t i0,\n                const
      CoordinateSequence& seq1,\n                std::size_t i1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:190,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:191,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:192,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/LineIntersector.cpp:193,1
    - Dst: computeIntersection
      Src: /src/geos/src/algorithm/LineIntersector.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: operator()()
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - computeIntersection
    - getAt
    linkageType: ''
    returnType: void
    signature: void operator()()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CoordinateSequences::binaryDispatch
      Src: /src/geos/src/algorithm/LineIntersector.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - p0
    - ' q'
    - q0
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::LineIntersector::computeIntersection
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CoordinateSequences::binaryDispatch
    linkageType: ''
    returnType: void
    signature: "void LineIntersector::computeIntersection(const CoordinateSequence&
      p, std::size_t p0,\n                                     const CoordinateSequence&
      q, std::size_t q0)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:221,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:223,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:228,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/LineIntersector.cpp:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: "&\nLineIntersector::nearestEndpoint(const CoordinateXY& p1, const
      CoordinateXY& p2,\n                                 const CoordinateXY& q1,
      const CoordinateXY& q2)"
    functionSourceFile: /src/geos/src/algorithm/LineIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY &\nLineIntersector::nearestEndpoint(const CoordinateXY&
      p1, const CoordinateXY& p2,\n                                 const CoordinateXY&
      q1, const CoordinateXY& q2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:38,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:60,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:63,1
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: geos::algorithm::Distance::pointToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 4
    functionsReached:
    - distance
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegment(const geom::CoordinateXY& p,\n                         const
      geom::CoordinateXY& A,\n                         const geom::CoordinateXY& B)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: geos::algorithm::Distance::pointToLinePerpendicular
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 4
    functionsReached:
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicular(const geom::CoordinateXY&
      p,\n                                   const geom::CoordinateXY& A, const geom::CoordinateXY&
      B)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:111,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:114,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/Distance.cpp:148,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 176
    functionName: geos::algorithm::Distance::segmentToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    - std::min
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: double
    signature: "double Distance::segmentToSegment(const geom::CoordinateXY& A,\n                           const
      geom::CoordinateXY& B, const geom::CoordinateXY& C,\n                           const
      geom::CoordinateXY& D)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::isEmpty
      Src: /src/geos/src/algorithm/Distance.cpp:183,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Distance.cpp:184,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Distance.cpp:190,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:191,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:192,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - seq
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: geos::algorithm::Distance::pointToSegmentString
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence*::size
    - distance
    - geos::util::IllegalArgumentException
    - geos::algorithm::Distance::pointToSegment
    - geom::CoordinateSequence*::isEmpty
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegmentString(const geom::CoordinateXY& p,\n
      \                              const geom::CoordinateSequence* seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: geos::algorithm::Distance::pointToLinePerpendicularSigned
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicularSigned(\n    const geom::CoordinateXY&
      p,\n    const geom::CoordinateXY& A,\n    const geom::CoordinateXY& B)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:38,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:60,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:63,1
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: geos::algorithm::Distance::pointToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 6
    functionsReached:
    - distance
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegment(const geom::CoordinateXY& p,\n                         const
      geom::CoordinateXY& A,\n                         const geom::CoordinateXY& B)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: geos::algorithm::Distance::pointToLinePerpendicular
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 4
    functionsReached:
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicular(const geom::CoordinateXY&
      p,\n                                   const geom::CoordinateXY& A, const geom::CoordinateXY&
      B)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:111,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:114,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/Distance.cpp:148,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 176
    functionName: geos::algorithm::Distance::segmentToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    - std::min
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: double
    signature: "double Distance::segmentToSegment(const geom::CoordinateXY& A,\n                           const
      geom::CoordinateXY& B, const geom::CoordinateXY& C,\n                           const
      geom::CoordinateXY& D)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::isEmpty
      Src: /src/geos/src/algorithm/Distance.cpp:183,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Distance.cpp:184,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Distance.cpp:190,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:191,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:192,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - seq
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: geos::algorithm::Distance::pointToSegmentString
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence*::size
    - distance
    - geos::util::IllegalArgumentException
    - geos::algorithm::Distance::pointToSegment
    - geom::CoordinateSequence*::isEmpty
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegmentString(const geom::CoordinateXY& p,\n
      \                              const geom::CoordinateSequence* seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: geos::algorithm::Distance::pointToLinePerpendicularSigned
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicularSigned(\n    const geom::CoordinateXY&
      p,\n    const geom::CoordinateXY& A,\n    const geom::CoordinateXY& B)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:38,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:60,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:63,1
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: geos::algorithm::Distance::pointToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 8
    functionsReached:
    - distance
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegment(const geom::CoordinateXY& p,\n                         const
      geom::CoordinateXY& A,\n                         const geom::CoordinateXY& B)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: geos::algorithm::Distance::pointToLinePerpendicular
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 4
    functionsReached:
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicular(const geom::CoordinateXY&
      p,\n                                   const geom::CoordinateXY& A, const geom::CoordinateXY&
      B)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:111,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:114,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/Distance.cpp:148,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 176
    functionName: geos::algorithm::Distance::segmentToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    - std::min
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: double
    signature: "double Distance::segmentToSegment(const geom::CoordinateXY& A,\n                           const
      geom::CoordinateXY& B, const geom::CoordinateXY& C,\n                           const
      geom::CoordinateXY& D)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::isEmpty
      Src: /src/geos/src/algorithm/Distance.cpp:183,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Distance.cpp:184,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Distance.cpp:190,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:191,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:192,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - seq
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: geos::algorithm::Distance::pointToSegmentString
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence*::size
    - distance
    - geos::util::IllegalArgumentException
    - geos::algorithm::Distance::pointToSegment
    - geom::CoordinateSequence*::isEmpty
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegmentString(const geom::CoordinateXY& p,\n
      \                              const geom::CoordinateSequence* seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: geos::algorithm::Distance::pointToLinePerpendicularSigned
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicularSigned(\n    const geom::CoordinateXY&
      p,\n    const geom::CoordinateXY& A,\n    const geom::CoordinateXY& B)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:38,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:60,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:63,1
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: geos::algorithm::Distance::pointToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 10
    functionsReached:
    - distance
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegment(const geom::CoordinateXY& p,\n                         const
      geom::CoordinateXY& A,\n                         const geom::CoordinateXY& B)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: geos::algorithm::Distance::pointToLinePerpendicular
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 4
    functionsReached:
    - std::fabs
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicular(const geom::CoordinateXY&
      p,\n                                   const geom::CoordinateXY& A, const geom::CoordinateXY&
      B)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:111,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:114,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/Distance.cpp:148,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:170,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:171,1
    - Dst: std::min
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' A'
    - ' B'
    - ' C'
    - ' D'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 176
    functionName: geos::algorithm::Distance::segmentToSegment
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Distance::pointToSegment
    - std::min
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: double
    signature: "double Distance::segmentToSegment(const geom::CoordinateXY& A,\n                           const
      geom::CoordinateXY& B, const geom::CoordinateXY& C,\n                           const
      geom::CoordinateXY& D)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::isEmpty
      Src: /src/geos/src/algorithm/Distance.cpp:183,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Distance.cpp:184,1
    - Dst: distance
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:189,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Distance.cpp:190,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:191,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Distance.cpp:192,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/algorithm/Distance.cpp:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - seq
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: geos::algorithm::Distance::pointToSegmentString
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence*::size
    - distance
    - geos::util::IllegalArgumentException
    - geos::algorithm::Distance::pointToSegment
    - geom::CoordinateSequence*::isEmpty
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToSegmentString(const geom::CoordinateXY& p,\n
      \                              const geom::CoordinateSequence* seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Distance.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' A'
    - ' B'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: geos::algorithm::Distance::pointToLinePerpendicularSigned
    functionSourceFile: /src/geos/src/algorithm/Distance.cpp
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: double
    signature: "double Distance::pointToLinePerpendicularSigned(\n    const geom::CoordinateXY&
      p,\n    const geom::CoordinateXY& A,\n    const geom::CoordinateXY& B)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/Orientation.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::algorithm::Orientation::index
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 46
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int Orientation::index(const geom::CoordinateXY& p1, const geom::CoordinateXY&
      p2,\n                   const geom::CoordinateXY& q)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/algorithm/Orientation.cpp:55,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:64,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Orientation.cpp:65,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:70,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:77,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:94,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:96,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:98,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:109,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Orientation.cpp:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 134
    functionName: geos::algorithm::Orientation::isCCW
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 6
    functionsReached:
    - geom::CoordinateSequence*::size
    - static_cast<uint32_t>
    - geom::CoordinateSequence*::getY
    - geos::algorithm::Orientation::index
    - equals2D
    - CoordinateXY*::equals2D
    - geos::io::GeoJSONValue::getNull
    - static_cast<int>
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCW(const geom::CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Orientation.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::algorithm::Orientation::isCCWArea
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCWArea(const geom::CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/Orientation.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::algorithm::Orientation::index
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 47
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int Orientation::index(const geom::CoordinateXY& p1, const geom::CoordinateXY&
      p2,\n                   const geom::CoordinateXY& q)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/algorithm/Orientation.cpp:55,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:64,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Orientation.cpp:65,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:70,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:77,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:94,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:96,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:98,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:109,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Orientation.cpp:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 134
    functionName: geos::algorithm::Orientation::isCCW
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 6
    functionsReached:
    - geom::CoordinateSequence*::size
    - static_cast<uint32_t>
    - geom::CoordinateSequence*::getY
    - geos::algorithm::Orientation::index
    - equals2D
    - CoordinateXY*::equals2D
    - geos::io::GeoJSONValue::getNull
    - static_cast<int>
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCW(const geom::CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Orientation.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::algorithm::Orientation::isCCWArea
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCWArea(const geom::CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/Orientation.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::algorithm::Orientation::index
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 48
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int Orientation::index(const geom::CoordinateXY& p1, const geom::CoordinateXY&
      p2,\n                   const geom::CoordinateXY& q)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/algorithm/Orientation.cpp:55,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:64,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Orientation.cpp:65,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:70,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:77,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:94,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:96,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:98,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:109,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Orientation.cpp:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 134
    functionName: geos::algorithm::Orientation::isCCW
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 6
    functionsReached:
    - geom::CoordinateSequence*::size
    - static_cast<uint32_t>
    - geom::CoordinateSequence*::getY
    - geos::algorithm::Orientation::index
    - equals2D
    - CoordinateXY*::equals2D
    - geos::io::GeoJSONValue::getNull
    - static_cast<int>
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCW(const geom::CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Orientation.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::algorithm::Orientation::isCCWArea
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCWArea(const geom::CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/Orientation.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::algorithm::Orientation::index
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 49
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: int
    signature: "int Orientation::index(const geom::CoordinateXY& p1, const geom::CoordinateXY&
      p2,\n                   const geom::CoordinateXY& q)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Orientation.cpp:50,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/algorithm/Orientation.cpp:55,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:64,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/Orientation.cpp:65,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:70,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:77,1
    - Dst: geom::CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/Orientation.cpp:94,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:96,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Orientation.cpp:98,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:109,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/Orientation.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Orientation.cpp:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 134
    functionName: geos::algorithm::Orientation::isCCW
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 6
    functionsReached:
    - geom::CoordinateSequence*::size
    - static_cast<uint32_t>
    - geom::CoordinateSequence*::getY
    - geos::algorithm::Orientation::index
    - equals2D
    - CoordinateXY*::equals2D
    - geos::io::GeoJSONValue::getNull
    - static_cast<int>
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCW(const geom::CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Orientation.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::algorithm::Orientation::isCCWArea
    functionSourceFile: /src/geos/src/algorithm/Orientation.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: bool
    signature: bool Orientation::isCCWArea(const geom::CoordinateSequence* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:45,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:49,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:52,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:53,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:57,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:58,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:63,1
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/algorithm/PointLocator.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 71
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 3
    functionsReached:
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::computeLocation
    - geos::geomgraph::GeometryGraph::isInBoundary
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:78,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:82,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:86,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:91,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:96,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:101,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:106,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:113,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:114,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:115,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:121,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:122,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:123,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:129,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/algorithm/PointLocator.cpp:136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: geos::algorithm::PointLocator::computeLocation
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 2
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::updateLocationInfo
    - static_cast<const GeometryCollection*>
    - geos::algorithm::PointLocator::computeLocation
    - static_cast<const MultiLineString*>
    - MultiLineString*::getGeometryN
    - MultiLineString*::getNumGeometries
    - get
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    - static_cast<const MultiPolygon*>
    - static_cast<const Point*>
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void PointLocator::computeLocation(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loc
    argTypes:
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::PointLocator::updateLocationInfo
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointLocator::updateLocationInfo(geom::Location loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/PointLocator.cpp:159,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/PointLocator.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - CoordinateXY
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 4
    functionsReached:
    - CoordinateXY*::equals2D
    - Point*::getCoordinate
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Point* pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:170,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:174,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/algorithm/PointLocator.cpp:175,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' p'
    - l
    argTypes:
    - CoordinateXY
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getEnvelopeInternal
    - LineString*::isClosed
    - CoordinateSequence*::getSize
    - geos::algorithm::PointLocation::isOnLine
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const LineString*
      l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:190,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:194,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:196,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - CoordinateXY
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::PointLocator::locateInPolygonRing
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::PointLocation::isOnLine
    - LinearRing*::getEnvelopeInternal
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locateInPolygonRing(const CoordinateXY& p, const
      LinearRing* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:209,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/algorithm/PointLocator.cpp:214,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:216,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:225,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/algorithm/PointLocator.cpp:226,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - poly
    argTypes:
    - CoordinateXY
    - Polygon*
    assertStmts:
    - condition: (shell)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/algorithm/PointLocator.cpp
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 4
    functionsReached:
    - Polygon*::isEmpty
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::PointLocator::locateInPolygonRing
    - assert
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Polygon*
      poly)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:45,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:49,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:52,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:53,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:57,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:58,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:63,1
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/algorithm/PointLocator.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 71
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 5
    functionsReached:
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::computeLocation
    - geos::geomgraph::GeometryGraph::isInBoundary
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:78,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:82,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:86,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:91,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:96,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:101,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:106,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:113,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:114,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:115,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:121,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:122,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:123,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:129,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/algorithm/PointLocator.cpp:136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: geos::algorithm::PointLocator::computeLocation
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 4
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::updateLocationInfo
    - static_cast<const GeometryCollection*>
    - geos::algorithm::PointLocator::computeLocation
    - static_cast<const MultiLineString*>
    - MultiLineString*::getGeometryN
    - MultiLineString*::getNumGeometries
    - get
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    - static_cast<const MultiPolygon*>
    - static_cast<const Point*>
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void PointLocator::computeLocation(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loc
    argTypes:
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::PointLocator::updateLocationInfo
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointLocator::updateLocationInfo(geom::Location loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/PointLocator.cpp:159,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/PointLocator.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - CoordinateXY
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY*::equals2D
    - Point*::getCoordinate
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Point* pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:170,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:174,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/algorithm/PointLocator.cpp:175,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' p'
    - l
    argTypes:
    - CoordinateXY
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getEnvelopeInternal
    - LineString*::isClosed
    - CoordinateSequence*::getSize
    - geos::algorithm::PointLocation::isOnLine
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const LineString*
      l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:190,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:194,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:196,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - CoordinateXY
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::PointLocator::locateInPolygonRing
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 1
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::PointLocation::isOnLine
    - LinearRing*::getEnvelopeInternal
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locateInPolygonRing(const CoordinateXY& p, const
      LinearRing* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:209,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/algorithm/PointLocator.cpp:214,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:216,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:225,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/algorithm/PointLocator.cpp:226,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - poly
    argTypes:
    - CoordinateXY
    - Polygon*
    assertStmts:
    - condition: (shell)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/algorithm/PointLocator.cpp
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 6
    functionsReached:
    - Polygon*::isEmpty
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::PointLocator::locateInPolygonRing
    - assert
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Polygon*
      poly)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:45,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:49,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:52,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:53,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:57,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:58,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:63,1
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/algorithm/PointLocator.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 71
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 7
    functionsReached:
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::computeLocation
    - geos::geomgraph::GeometryGraph::isInBoundary
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:78,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:82,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:86,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:91,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:96,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:101,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:106,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:113,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:114,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:115,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:121,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:122,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:123,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:129,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/algorithm/PointLocator.cpp:136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: geos::algorithm::PointLocator::computeLocation
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 6
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::updateLocationInfo
    - static_cast<const GeometryCollection*>
    - geos::algorithm::PointLocator::computeLocation
    - static_cast<const MultiLineString*>
    - MultiLineString*::getGeometryN
    - MultiLineString*::getNumGeometries
    - get
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    - static_cast<const MultiPolygon*>
    - static_cast<const Point*>
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void PointLocator::computeLocation(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loc
    argTypes:
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::PointLocator::updateLocationInfo
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointLocator::updateLocationInfo(geom::Location loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/PointLocator.cpp:159,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/PointLocator.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - CoordinateXY
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 8
    functionsReached:
    - CoordinateXY*::equals2D
    - Point*::getCoordinate
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Point* pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:170,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:174,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/algorithm/PointLocator.cpp:175,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' p'
    - l
    argTypes:
    - CoordinateXY
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getEnvelopeInternal
    - LineString*::isClosed
    - CoordinateSequence*::getSize
    - geos::algorithm::PointLocation::isOnLine
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const LineString*
      l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:190,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:194,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:196,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - CoordinateXY
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::PointLocator::locateInPolygonRing
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 2
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::PointLocation::isOnLine
    - LinearRing*::getEnvelopeInternal
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locateInPolygonRing(const CoordinateXY& p, const
      LinearRing* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:209,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/algorithm/PointLocator.cpp:214,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:216,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:225,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/algorithm/PointLocator.cpp:226,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - poly
    argTypes:
    - CoordinateXY
    - Polygon*
    assertStmts:
    - condition: (shell)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/algorithm/PointLocator.cpp
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 8
    functionsReached:
    - Polygon*::isEmpty
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::PointLocator::locateInPolygonRing
    - assert
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Polygon*
      poly)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:45,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:49,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:52,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:53,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:57,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:58,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:63,1
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/algorithm/PointLocator.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 71
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 9
    functionsReached:
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::computeLocation
    - geos::geomgraph::GeometryGraph::isInBoundary
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:78,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/PointLocator.cpp:82,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:86,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:87,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:91,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:92,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:96,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:97,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:101,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:102,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:106,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:108,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:113,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:114,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:115,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:116,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:121,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/algorithm/PointLocator.cpp:122,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/algorithm/PointLocator.cpp:123,1
    - Dst: geos::algorithm::PointLocator::updateLocationInfo
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: geos::algorithm::PointLocator::locate
      Src: /src/geos/src/algorithm/PointLocator.cpp:124,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/PointLocator.cpp:129,1
    - Dst: geos::algorithm::PointLocator::computeLocation
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: get
      Src: /src/geos/src/algorithm/PointLocator.cpp:131,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/algorithm/PointLocator.cpp:136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 140
    functionName: geos::algorithm::PointLocator::computeLocation
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 8
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::PointLocator::updateLocationInfo
    - static_cast<const GeometryCollection*>
    - geos::algorithm::PointLocator::computeLocation
    - static_cast<const MultiLineString*>
    - MultiLineString*::getGeometryN
    - MultiLineString*::getNumGeometries
    - get
    - geos::algorithm::PointLocator::locate
    - Geometry*::isEmpty
    - static_cast<const MultiPolygon*>
    - static_cast<const Point*>
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void PointLocator::computeLocation(const CoordinateXY& p, const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - loc
    argTypes:
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::PointLocator::updateLocationInfo
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointLocator::updateLocationInfo(geom::Location loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/PointLocator.cpp:159,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/algorithm/PointLocator.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - CoordinateXY
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 10
    functionsReached:
    - CoordinateXY*::equals2D
    - Point*::getCoordinate
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Point* pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:170,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:174,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/algorithm/PointLocator.cpp:175,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocator.cpp:176,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ' p'
    - l
    argTypes:
    - CoordinateXY
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 10
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getEnvelopeInternal
    - LineString*::isClosed
    - CoordinateSequence*::getSize
    - geos::algorithm::PointLocation::isOnLine
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const LineString*
      l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/PointLocator.cpp:190,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/PointLocator.cpp:194,1
    - Dst: geos::algorithm::PointLocation::isOnLine
      Src: /src/geos/src/algorithm/PointLocator.cpp:196,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - CoordinateXY
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::PointLocator::locateInPolygonRing
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 3
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::PointLocation::isOnLine
    - LinearRing*::getEnvelopeInternal
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locateInPolygonRing(const CoordinateXY& p, const
      LinearRing* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/algorithm/PointLocator.cpp:209,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/algorithm/PointLocator.cpp:214,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:216,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:225,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/algorithm/PointLocator.cpp:226,1
    - Dst: geos::algorithm::PointLocator::locateInPolygonRing
      Src: /src/geos/src/algorithm/PointLocator.cpp:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' p'
    - poly
    argTypes:
    - CoordinateXY
    - Polygon*
    assertStmts:
    - condition: (shell)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/algorithm/PointLocator.cpp
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: geos::algorithm::PointLocator::locate
    functionSourceFile: /src/geos/src/algorithm/PointLocator.cpp
    functionUses: 10
    functionsReached:
    - Polygon*::isEmpty
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::PointLocator::locateInPolygonRing
    - assert
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: Location
    signature: Location PointLocator::locate(const CoordinateXY& p, const Polygon*
      poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - radians
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Angle::toDegrees
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toDegrees(double radians)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - angleDegrees
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::Angle::toRadians
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toRadians(double angleDegrees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: "double Angle::angle(const geom::CoordinateXY& p0,\n             const
      geom::CoordinateXY& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: double Angle::angle(const geom::CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::algorithm::Angle::isAcute
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isAcute(const geom::CoordinateXY& p0,\n               const
      geom::CoordinateXY& p1,\n               const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: geos::algorithm::Angle::isObtuse
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isObtuse(const geom::CoordinateXY& p0,\n                const
      geom::CoordinateXY& p1,\n                const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:95,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:96,1
    - Dst: geos::algorithm::Angle::diff
      Src: /src/geos/src/algorithm/Angle.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: geos::algorithm::Angle::angleBetween
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::diff
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetween(const geom::CoordinateXY& tip1,\n                    const
      geom::CoordinateXY& tail,\n                    const geom::CoordinateXY& tip2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:107,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: geos::algorithm::Angle::angleBetweenOriented
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::angle
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetweenOriented(const geom::CoordinateXY& tip1,\n
      \                           const geom::CoordinateXY& tail,\n                            const
      geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/algorithm/Angle.cpp:128,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:129,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/src/algorithm/Angle.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: geos::algorithm::Angle::bisector
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::normalize
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::angleBetweenOriented
    linkageType: ''
    returnType: double
    signature: "double Angle::bisector(const geom::CoordinateXY& tip1,\n                const
      geom::CoordinateXY& tail,\n                const geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:139,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:140,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/src/algorithm/Angle.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::algorithm::Angle::interiorAngle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::normalizePositive
    linkageType: ''
    returnType: double
    signature: "double Angle::interiorAngle(const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1,\n                     const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/geos/src/algorithm/Angle.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: geos::algorithm::Angle::getTurn
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - sin
    linkageType: ''
    returnType: int
    signature: int Angle::getTurn(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Angle::normalize
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalize(double angle)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Angle::normalizePositive
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalizePositive(double angle)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::algorithm::Angle::diff
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::diff(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinCosSnap
      Src: /src/geos/src/algorithm/Angle.cpp:222,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/src/algorithm/Angle.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - angle
    - dist
    argTypes:
    - geom::CoordinateXY
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: geos::algorithm::Angle::project
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - sinCosSnap
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: geom::CoordinateXY Angle::project(const geom::CoordinateXY& p, double
      angle, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - radians
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Angle::toDegrees
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toDegrees(double radians)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - angleDegrees
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::Angle::toRadians
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toRadians(double angleDegrees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 6
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: "double Angle::angle(const geom::CoordinateXY& p0,\n             const
      geom::CoordinateXY& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 6
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: double Angle::angle(const geom::CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::algorithm::Angle::isAcute
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isAcute(const geom::CoordinateXY& p0,\n               const
      geom::CoordinateXY& p1,\n               const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: geos::algorithm::Angle::isObtuse
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isObtuse(const geom::CoordinateXY& p0,\n                const
      geom::CoordinateXY& p1,\n                const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:95,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:96,1
    - Dst: geos::algorithm::Angle::diff
      Src: /src/geos/src/algorithm/Angle.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: geos::algorithm::Angle::angleBetween
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::diff
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetween(const geom::CoordinateXY& tip1,\n                    const
      geom::CoordinateXY& tail,\n                    const geom::CoordinateXY& tip2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:107,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: geos::algorithm::Angle::angleBetweenOriented
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Angle::angle
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetweenOriented(const geom::CoordinateXY& tip1,\n
      \                           const geom::CoordinateXY& tail,\n                            const
      geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/algorithm/Angle.cpp:128,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:129,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/src/algorithm/Angle.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: geos::algorithm::Angle::bisector
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::normalize
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::angleBetweenOriented
    linkageType: ''
    returnType: double
    signature: "double Angle::bisector(const geom::CoordinateXY& tip1,\n                const
      geom::CoordinateXY& tail,\n                const geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:139,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:140,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/src/algorithm/Angle.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::algorithm::Angle::interiorAngle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::normalizePositive
    linkageType: ''
    returnType: double
    signature: "double Angle::interiorAngle(const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1,\n                     const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/geos/src/algorithm/Angle.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: geos::algorithm::Angle::getTurn
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - sin
    linkageType: ''
    returnType: int
    signature: int Angle::getTurn(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Angle::normalize
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalize(double angle)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Angle::normalizePositive
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalizePositive(double angle)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::algorithm::Angle::diff
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::diff(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinCosSnap
      Src: /src/geos/src/algorithm/Angle.cpp:222,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/src/algorithm/Angle.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - angle
    - dist
    argTypes:
    - geom::CoordinateXY
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: geos::algorithm::Angle::project
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - sinCosSnap
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: geom::CoordinateXY Angle::project(const geom::CoordinateXY& p, double
      angle, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - radians
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Angle::toDegrees
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toDegrees(double radians)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - angleDegrees
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::Angle::toRadians
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toRadians(double angleDegrees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 10
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: "double Angle::angle(const geom::CoordinateXY& p0,\n             const
      geom::CoordinateXY& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 10
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: double Angle::angle(const geom::CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::algorithm::Angle::isAcute
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isAcute(const geom::CoordinateXY& p0,\n               const
      geom::CoordinateXY& p1,\n               const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: geos::algorithm::Angle::isObtuse
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isObtuse(const geom::CoordinateXY& p0,\n                const
      geom::CoordinateXY& p1,\n                const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:95,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:96,1
    - Dst: geos::algorithm::Angle::diff
      Src: /src/geos/src/algorithm/Angle.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: geos::algorithm::Angle::angleBetween
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::diff
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetween(const geom::CoordinateXY& tip1,\n                    const
      geom::CoordinateXY& tail,\n                    const geom::CoordinateXY& tip2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:107,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: geos::algorithm::Angle::angleBetweenOriented
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Angle::angle
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetweenOriented(const geom::CoordinateXY& tip1,\n
      \                           const geom::CoordinateXY& tail,\n                            const
      geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/algorithm/Angle.cpp:128,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:129,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/src/algorithm/Angle.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: geos::algorithm::Angle::bisector
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::normalize
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::angleBetweenOriented
    linkageType: ''
    returnType: double
    signature: "double Angle::bisector(const geom::CoordinateXY& tip1,\n                const
      geom::CoordinateXY& tail,\n                const geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:139,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:140,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/src/algorithm/Angle.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::algorithm::Angle::interiorAngle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::normalizePositive
    linkageType: ''
    returnType: double
    signature: "double Angle::interiorAngle(const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1,\n                     const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/geos/src/algorithm/Angle.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: geos::algorithm::Angle::getTurn
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - sin
    linkageType: ''
    returnType: int
    signature: int Angle::getTurn(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Angle::normalize
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalize(double angle)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Angle::normalizePositive
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalizePositive(double angle)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::algorithm::Angle::diff
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::diff(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinCosSnap
      Src: /src/geos/src/algorithm/Angle.cpp:222,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/src/algorithm/Angle.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - angle
    - dist
    argTypes:
    - geom::CoordinateXY
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: geos::algorithm::Angle::project
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - sinCosSnap
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: geom::CoordinateXY Angle::project(const geom::CoordinateXY& p, double
      angle, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - radians
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::Angle::toDegrees
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toDegrees(double radians)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - angleDegrees
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::Angle::toRadians
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::toRadians(double angleDegrees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 14
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: "double Angle::angle(const geom::CoordinateXY& p0,\n             const
      geom::CoordinateXY& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/geos/src/algorithm/Angle.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::algorithm::Angle::angle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 14
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: double Angle::angle(const geom::CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::algorithm::Angle::isAcute
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isAcute(const geom::CoordinateXY& p0,\n               const
      geom::CoordinateXY& p1,\n               const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: geos::algorithm::Angle::isObtuse
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Angle::isObtuse(const geom::CoordinateXY& p0,\n                const
      geom::CoordinateXY& p1,\n                const geom::CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:95,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:96,1
    - Dst: geos::algorithm::Angle::diff
      Src: /src/geos/src/algorithm/Angle.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: geos::algorithm::Angle::angleBetween
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::diff
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetween(const geom::CoordinateXY& tip1,\n                    const
      geom::CoordinateXY& tail,\n                    const geom::CoordinateXY& tip2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:107,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: geos::algorithm::Angle::angleBetweenOriented
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Angle::angle
    linkageType: ''
    returnType: double
    signature: "double Angle::angleBetweenOriented(const geom::CoordinateXY& tip1,\n
      \                           const geom::CoordinateXY& tail,\n                            const
      geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/algorithm/Angle.cpp:128,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:129,1
    - Dst: geos::algorithm::Angle::normalize
      Src: /src/geos/src/algorithm/Angle.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tip1'
    - ' tail'
    - ' tip2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: geos::algorithm::Angle::bisector
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::normalize
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::angleBetweenOriented
    linkageType: ''
    returnType: double
    signature: "double Angle::bisector(const geom::CoordinateXY& tip1,\n                const
      geom::CoordinateXY& tail,\n                const geom::CoordinateXY& tip2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:139,1
    - Dst: geos::algorithm::Angle::angle
      Src: /src/geos/src/algorithm/Angle.cpp:140,1
    - Dst: geos::algorithm::Angle::normalizePositive
      Src: /src/geos/src/algorithm/Angle.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::algorithm::Angle::interiorAngle
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Angle::angle
    - geos::algorithm::Angle::normalizePositive
    linkageType: ''
    returnType: double
    signature: "double Angle::interiorAngle(const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1,\n                     const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/geos/src/algorithm/Angle.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: geos::algorithm::Angle::getTurn
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - sin
    linkageType: ''
    returnType: int
    signature: int Angle::getTurn(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Angle::normalize
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalize(double angle)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - angle
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Angle::normalizePositive
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::normalizePositive(double angle)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ang1
    - ang2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::algorithm::Angle::diff
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Angle::diff(double ang1, double ang2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinCosSnap
      Src: /src/geos/src/algorithm/Angle.cpp:222,1
    - Dst: geos::geom::CoordinateXY
      Src: /src/geos/src/algorithm/Angle.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - angle
    - dist
    argTypes:
    - geom::CoordinateXY
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: geos::algorithm::Angle::project
    functionSourceFile: /src/geos/src/algorithm/Angle.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CoordinateXY
    - sinCosSnap
    linkageType: ''
    returnType: geom::CoordinateXY
    signature: geom::CoordinateXY Angle::project(const geom::CoordinateXY& p, double
      angle, double dist)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:216,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:263,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 183
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 307
    functionName: geos::algorithm::RobustDeterminant::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/RobustDeterminant.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - std::floor
    linkageType: ''
    returnType: int
    signature: int RobustDeterminant::signOfDet2x2(double x1, double y1, double x2,
      double y2)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:216,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:263,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 183
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 307
    functionName: geos::algorithm::RobustDeterminant::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/RobustDeterminant.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - std::floor
    linkageType: ''
    returnType: int
    signature: int RobustDeterminant::signOfDet2x2(double x1, double y1, double x2,
      double y2)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:216,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:263,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 183
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 307
    functionName: geos::algorithm::RobustDeterminant::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/RobustDeterminant.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - std::floor
    linkageType: ''
    returnType: int
    signature: int RobustDeterminant::signOfDet2x2(double x1, double y1, double x2,
      double y2)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:216,1
    - Dst: std::floor
      Src: /src/geos/src/algorithm/RobustDeterminant.cpp:263,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 183
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 307
    functionName: geos::algorithm::RobustDeterminant::signOfDet2x2
    functionSourceFile: /src/geos/src/algorithm/RobustDeterminant.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isfinite
    - std::floor
    linkageType: ''
    returnType: int
    signature: int RobustDeterminant::signOfDet2x2(double x1, double y1, double x2,
      double y2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Length.cpp:32,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:39,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:44,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Length.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: geos::algorithm::Length::ofLine
    functionSourceFile: /src/geos/src/algorithm/Length.cpp
    functionUses: 2
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - std::sqrt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Length::ofLine(const geom::CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Length.cpp:32,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:39,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:44,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Length.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: geos::algorithm::Length::ofLine
    functionSourceFile: /src/geos/src/algorithm/Length.cpp
    functionUses: 2
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - std::sqrt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Length::ofLine(const geom::CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Length.cpp:32,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:39,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:44,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Length.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: geos::algorithm::Length::ofLine
    functionSourceFile: /src/geos/src/algorithm/Length.cpp
    functionUses: 2
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - std::sqrt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Length::ofLine(const geom::CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Length.cpp:32,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:39,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Length.cpp:44,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/Length.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: geos::algorithm::Length::ofLine
    functionSourceFile: /src/geos/src/algorithm/Length.cpp
    functionUses: 2
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - std::sqrt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Length::ofLine(const geom::CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/algorithm/HCoordinate.cpp:48,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: geos::algorithm::HCoordinate::intersection
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - Coordinate
    - std::setprecision
    - NotRepresentableException
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::intersection(const Coordinate& p1, const Coordinate&
      p2,\n                          const Coordinate& q1, const Coordinate& q2, Coordinate&
      ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _w
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(double _x, double _y, double _w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2,\n                         const Coordinate& q1, const Coordinate& q2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - HCoordinate
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const HCoordinate& p1, const HCoordinate&
      p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:148,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: geos::algorithm::HCoordinate::getX
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:159,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: geos::algorithm::HCoordinate::getY
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getY() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getX
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getY
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: geos::algorithm::HCoordinate::getCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::HCoordinate::getX
    - geos::algorithm::HCoordinate::getY
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void HCoordinate::getCoordinate(Coordinate& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' c'
    argTypes:
    - std::ostream
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '&

      operator<< (std::ostream& o, const HCoordinate& c)'
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& o, const HCoordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/algorithm/HCoordinate.cpp:48,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: geos::algorithm::HCoordinate::intersection
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - Coordinate
    - std::setprecision
    - NotRepresentableException
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::intersection(const Coordinate& p1, const Coordinate&
      p2,\n                          const Coordinate& q1, const Coordinate& q2, Coordinate&
      ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _w
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(double _x, double _y, double _w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2,\n                         const Coordinate& q1, const Coordinate& q2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - HCoordinate
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const HCoordinate& p1, const HCoordinate&
      p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:148,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: geos::algorithm::HCoordinate::getX
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 1
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:159,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: geos::algorithm::HCoordinate::getY
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 1
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getY() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getX
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getY
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: geos::algorithm::HCoordinate::getCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::HCoordinate::getX
    - geos::algorithm::HCoordinate::getY
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void HCoordinate::getCoordinate(Coordinate& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' c'
    argTypes:
    - std::ostream
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '&

      operator<< (std::ostream& o, const HCoordinate& c)'
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& o, const HCoordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/algorithm/HCoordinate.cpp:48,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: geos::algorithm::HCoordinate::intersection
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - Coordinate
    - std::setprecision
    - NotRepresentableException
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::intersection(const Coordinate& p1, const Coordinate&
      p2,\n                          const Coordinate& q1, const Coordinate& q2, Coordinate&
      ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _w
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(double _x, double _y, double _w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2,\n                         const Coordinate& q1, const Coordinate& q2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - HCoordinate
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const HCoordinate& p1, const HCoordinate&
      p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:148,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: geos::algorithm::HCoordinate::getX
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 2
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:159,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: geos::algorithm::HCoordinate::getY
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 2
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getY() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getX
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getY
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: geos::algorithm::HCoordinate::getCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::HCoordinate::getX
    - geos::algorithm::HCoordinate::getY
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void HCoordinate::getCoordinate(Coordinate& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' c'
    argTypes:
    - std::ostream
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '&

      operator<< (std::ostream& o, const HCoordinate& c)'
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& o, const HCoordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/algorithm/HCoordinate.cpp:48,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:72,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:73,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: geos::algorithm::HCoordinate::intersection
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - Coordinate
    - std::setprecision
    - NotRepresentableException
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::intersection(const Coordinate& p1, const Coordinate&
      p2,\n                          const Coordinate& q1, const Coordinate& q2, Coordinate&
      ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _w
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(double _x, double _y, double _w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' q1'
    - ' q2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HCoordinate::HCoordinate(const Coordinate& p1, const Coordinate&
      p2,\n                         const Coordinate& q1, const Coordinate& q2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - HCoordinate
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::algorithm::HCoordinate::HCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HCoordinate::HCoordinate(const HCoordinate& p1, const HCoordinate&
      p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:148,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: geos::algorithm::HCoordinate::getX
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 3
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/algorithm/HCoordinate.cpp:159,1
    - Dst: NotRepresentableException
      Src: /src/geos/src/algorithm/HCoordinate.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: geos::algorithm::HCoordinate::getY
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 3
    functionsReached:
    - std::isfinite
    - NotRepresentableException
    linkageType: ''
    returnType: double
    signature: double HCoordinate::getY() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getX
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    - Dst: geos::algorithm::HCoordinate::getY
      Src: /src/geos/src/algorithm/HCoordinate.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: geos::algorithm::HCoordinate::getCoordinate
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::HCoordinate::getX
    - geos::algorithm::HCoordinate::getY
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void HCoordinate::getCoordinate(Coordinate& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' c'
    argTypes:
    - std::ostream
    - HCoordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '&

      operator<< (std::ostream& o, const HCoordinate& c)'
    functionSourceFile: /src/geos/src/algorithm/HCoordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& o, const HCoordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:50,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:52,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:54,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:56,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:57,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - getAt
    - RayCrossingCounter::isOnSegment
    - RayCrossingCounter::getLocation
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::CoordinateSequence&
      ring)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:69,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:73,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:75,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:76,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - RayCrossingCounter::isOnSegment
    - size
    - RayCrossingCounter::countSegment
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:88,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:89,1
    - Dst: RayCrossingCounter::processSequence
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::getCoordinatesRO
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::hasCurvedComponents
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - getNumCurves
    - RayCrossingCounter::processSequence
    - geom::SimpleCurve*::getCoordinatesRO
    - geom::SimpleCurve*::hasCurvedComponents
    - getCurveN
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::Curve& ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:99,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:105,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:106,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:108,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:110,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:115,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:116,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:117,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:118,1
    - Dst: geos::algorithm::RayCrossingCounter::countArc
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:120,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' seq'
    - isLinear
    argTypes:
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: geos::algorithm::RayCrossingCounter::processSequence
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::RayCrossingCounter::countArc
    - getAt
    - isOnSegment
    - geos::algorithm::RayCrossingCounter::countSegment
    linkageType: ''
    returnType: void
    signature: void RayCrossingCounter::processSequence(const geom::CoordinateSequence&
      seq, bool isLinear)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 192
    functionName: geos::algorithm::RayCrossingCounter::countSegment
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countSegment(const geom::CoordinateXY& p1,\n
      \                                const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:200,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:201,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:202,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' arc'
    - ' q'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: geos::algorithm::RayCrossingCounter::shouldCountCrossing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - equals2D
    - isUpwardAtPoint
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::shouldCountCrossing(const geom::CircularArc&
      arc, const geom::CoordinateXY& q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getCenter
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:214,1
    - Dst: getRadius
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:215,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: std::pow
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:232,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:235,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:244,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ' arc'
    - ' origin'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 252
    functionName: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - containsPointOnCircle
    - getCenter
    - std::pow
    - CoordinateXY::distance
    - geos::io::GeoJSONValue::getNull
    - std::sqrt
    - getRadius
    linkageType: ''
    returnType: std::array<geom::CoordinateXY, 2>
    signature: std::array<geom::CoordinateXY, 2> RayCrossingCounter::pointsIntersectingHorizontalRay(const
      geom::CircularArc& arc, const geom::CoordinateXY& origin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:265,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:266,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:267,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:273,1
    - Dst: geom::Envelope::getMaxX
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:275,1
    - Dst: geom::Envelope::getMaxY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::Envelope::getMinY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::CircularArc::containsPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:281,1
    - Dst: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:286,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 294
    functionName: geos::algorithm::RayCrossingCounter::countArc
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 1
    functionsReached:
    - isNull
    - geom::CircularArc::containsPoint
    - geom::Envelope::getMaxY
    - geos::algorithm::RayCrossingCounter::shouldCountCrossing
    - geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    - geos::algorithm::RayCrossingCounter::countSegment
    - geom::Envelope::getMaxX
    - geos::algorithm::CircularArcs::expandEnvelope
    - geom::Envelope::getMinY
    - geom::CircularArc::isLinear
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countArc(const CoordinateXY& p1,\n                             const
      CoordinateXY& p2,\n                             const CoordinateXY& p3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: geos::algorithm::RayCrossingCounter::getLocation
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location RayCrossingCounter::getLocation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::algorithm::RayCrossingCounter::isPointInPolygon
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::isPointInPolygon() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:50,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:52,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:54,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:56,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:57,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - getAt
    - RayCrossingCounter::isOnSegment
    - RayCrossingCounter::getLocation
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::CoordinateSequence&
      ring)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:69,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:73,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:75,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:76,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - RayCrossingCounter::isOnSegment
    - size
    - RayCrossingCounter::countSegment
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:88,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:89,1
    - Dst: RayCrossingCounter::processSequence
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::getCoordinatesRO
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::hasCurvedComponents
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - getNumCurves
    - RayCrossingCounter::processSequence
    - geom::SimpleCurve*::getCoordinatesRO
    - geom::SimpleCurve*::hasCurvedComponents
    - getCurveN
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::Curve& ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:99,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:105,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:106,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:108,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:110,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:115,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:116,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:117,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:118,1
    - Dst: geos::algorithm::RayCrossingCounter::countArc
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:120,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' seq'
    - isLinear
    argTypes:
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: geos::algorithm::RayCrossingCounter::processSequence
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::RayCrossingCounter::countArc
    - getAt
    - isOnSegment
    - geos::algorithm::RayCrossingCounter::countSegment
    linkageType: ''
    returnType: void
    signature: void RayCrossingCounter::processSequence(const geom::CoordinateSequence&
      seq, bool isLinear)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 192
    functionName: geos::algorithm::RayCrossingCounter::countSegment
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countSegment(const geom::CoordinateXY& p1,\n
      \                                const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:200,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:201,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:202,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' arc'
    - ' q'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: geos::algorithm::RayCrossingCounter::shouldCountCrossing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 1
    functionsReached:
    - equals2D
    - isUpwardAtPoint
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::shouldCountCrossing(const geom::CircularArc&
      arc, const geom::CoordinateXY& q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getCenter
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:214,1
    - Dst: getRadius
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:215,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: std::pow
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:232,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:235,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:244,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ' arc'
    - ' origin'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 252
    functionName: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 1
    functionsReached:
    - containsPointOnCircle
    - getCenter
    - std::pow
    - CoordinateXY::distance
    - geos::io::GeoJSONValue::getNull
    - std::sqrt
    - getRadius
    linkageType: ''
    returnType: std::array<geom::CoordinateXY, 2>
    signature: std::array<geom::CoordinateXY, 2> RayCrossingCounter::pointsIntersectingHorizontalRay(const
      geom::CircularArc& arc, const geom::CoordinateXY& origin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:265,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:266,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:267,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:273,1
    - Dst: geom::Envelope::getMaxX
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:275,1
    - Dst: geom::Envelope::getMaxY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::Envelope::getMinY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::CircularArc::containsPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:281,1
    - Dst: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:286,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 294
    functionName: geos::algorithm::RayCrossingCounter::countArc
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - geom::CircularArc::containsPoint
    - geom::Envelope::getMaxY
    - geos::algorithm::RayCrossingCounter::shouldCountCrossing
    - geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    - geos::algorithm::RayCrossingCounter::countSegment
    - geom::Envelope::getMaxX
    - geos::algorithm::CircularArcs::expandEnvelope
    - geom::Envelope::getMinY
    - geom::CircularArc::isLinear
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countArc(const CoordinateXY& p1,\n                             const
      CoordinateXY& p2,\n                             const CoordinateXY& p3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: geos::algorithm::RayCrossingCounter::getLocation
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location RayCrossingCounter::getLocation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::algorithm::RayCrossingCounter::isPointInPolygon
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::isPointInPolygon() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:50,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:52,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:54,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:56,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:57,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - getAt
    - RayCrossingCounter::isOnSegment
    - RayCrossingCounter::getLocation
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::CoordinateSequence&
      ring)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:69,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:73,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:75,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:76,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - RayCrossingCounter::isOnSegment
    - size
    - RayCrossingCounter::countSegment
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:88,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:89,1
    - Dst: RayCrossingCounter::processSequence
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::getCoordinatesRO
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::hasCurvedComponents
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - getNumCurves
    - RayCrossingCounter::processSequence
    - geom::SimpleCurve*::getCoordinatesRO
    - geom::SimpleCurve*::hasCurvedComponents
    - getCurveN
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::Curve& ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:99,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:105,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:106,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:108,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:110,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:115,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:116,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:117,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:118,1
    - Dst: geos::algorithm::RayCrossingCounter::countArc
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:120,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' seq'
    - isLinear
    argTypes:
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: geos::algorithm::RayCrossingCounter::processSequence
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::RayCrossingCounter::countArc
    - getAt
    - isOnSegment
    - geos::algorithm::RayCrossingCounter::countSegment
    linkageType: ''
    returnType: void
    signature: void RayCrossingCounter::processSequence(const geom::CoordinateSequence&
      seq, bool isLinear)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 192
    functionName: geos::algorithm::RayCrossingCounter::countSegment
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countSegment(const geom::CoordinateXY& p1,\n
      \                                const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:200,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:201,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:202,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' arc'
    - ' q'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: geos::algorithm::RayCrossingCounter::shouldCountCrossing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 2
    functionsReached:
    - equals2D
    - isUpwardAtPoint
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::shouldCountCrossing(const geom::CircularArc&
      arc, const geom::CoordinateXY& q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getCenter
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:214,1
    - Dst: getRadius
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:215,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: std::pow
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:232,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:235,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:244,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ' arc'
    - ' origin'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 252
    functionName: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 2
    functionsReached:
    - containsPointOnCircle
    - getCenter
    - std::pow
    - CoordinateXY::distance
    - geos::io::GeoJSONValue::getNull
    - std::sqrt
    - getRadius
    linkageType: ''
    returnType: std::array<geom::CoordinateXY, 2>
    signature: std::array<geom::CoordinateXY, 2> RayCrossingCounter::pointsIntersectingHorizontalRay(const
      geom::CircularArc& arc, const geom::CoordinateXY& origin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:265,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:266,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:267,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:273,1
    - Dst: geom::Envelope::getMaxX
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:275,1
    - Dst: geom::Envelope::getMaxY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::Envelope::getMinY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::CircularArc::containsPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:281,1
    - Dst: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:286,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 294
    functionName: geos::algorithm::RayCrossingCounter::countArc
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 3
    functionsReached:
    - isNull
    - geom::CircularArc::containsPoint
    - geom::Envelope::getMaxY
    - geos::algorithm::RayCrossingCounter::shouldCountCrossing
    - geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    - geos::algorithm::RayCrossingCounter::countSegment
    - geom::Envelope::getMaxX
    - geos::algorithm::CircularArcs::expandEnvelope
    - geom::Envelope::getMinY
    - geom::CircularArc::isLinear
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countArc(const CoordinateXY& p1,\n                             const
      CoordinateXY& p2,\n                             const CoordinateXY& p3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: geos::algorithm::RayCrossingCounter::getLocation
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location RayCrossingCounter::getLocation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::algorithm::RayCrossingCounter::isPointInPolygon
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::isPointInPolygon() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:50,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:52,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:54,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:56,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:57,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - getAt
    - RayCrossingCounter::isOnSegment
    - RayCrossingCounter::getLocation
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::CoordinateSequence&
      ring)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:69,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:73,1
    - Dst: RayCrossingCounter::isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:75,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:76,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - RayCrossingCounter::isOnSegment
    - size
    - RayCrossingCounter::countSegment
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:88,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:89,1
    - Dst: RayCrossingCounter::processSequence
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::getCoordinatesRO
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: geom::SimpleCurve*::hasCurvedComponents
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:90,1
    - Dst: RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' point'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::algorithm::RayCrossingCounter::locatePointInRing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - getNumCurves
    - RayCrossingCounter::processSequence
    - geom::SimpleCurve*::getCoordinatesRO
    - geom::SimpleCurve*::hasCurvedComponents
    - getCurveN
    - RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location RayCrossingCounter::locatePointInRing(const geom::CoordinateXY&
      point,\n                                      const geom::Curve& ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:99,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:105,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:106,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:108,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:110,1
    - Dst: size
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:115,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:116,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:117,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:118,1
    - Dst: geos::algorithm::RayCrossingCounter::countArc
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:120,1
    - Dst: isOnSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' seq'
    - isLinear
    argTypes:
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: geos::algorithm::RayCrossingCounter::processSequence
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::RayCrossingCounter::countArc
    - getAt
    - isOnSegment
    - geos::algorithm::RayCrossingCounter::countSegment
    linkageType: ''
    returnType: void
    signature: void RayCrossingCounter::processSequence(const geom::CoordinateSequence&
      seq, bool isLinear)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - ' p1'
    - ' p2'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 192
    functionName: geos::algorithm::RayCrossingCounter::countSegment
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countSegment(const geom::CoordinateXY& p1,\n
      \                                const geom::CoordinateXY& p2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:200,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:201,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:202,1
    - Dst: isUpwardAtPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' arc'
    - ' q'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: geos::algorithm::RayCrossingCounter::shouldCountCrossing
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 3
    functionsReached:
    - equals2D
    - isUpwardAtPoint
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::shouldCountCrossing(const geom::CircularArc&
      arc, const geom::CoordinateXY& q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getCenter
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:214,1
    - Dst: getRadius
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:215,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: std::pow
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:217,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:232,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:235,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:241,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:244,1
    - Dst: containsPointOnCircle
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ' arc'
    - ' origin'
    argTypes:
    - geom::CircularArc
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 252
    functionName: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 3
    functionsReached:
    - containsPointOnCircle
    - getCenter
    - std::pow
    - CoordinateXY::distance
    - geos::io::GeoJSONValue::getNull
    - std::sqrt
    - getRadius
    linkageType: ''
    returnType: std::array<geom::CoordinateXY, 2>
    signature: std::array<geom::CoordinateXY, 2> RayCrossingCounter::pointsIntersectingHorizontalRay(const
      geom::CircularArc& arc, const geom::CoordinateXY& origin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:265,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:266,1
    - Dst: geos::algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:267,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:273,1
    - Dst: geom::Envelope::getMaxX
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:275,1
    - Dst: geom::Envelope::getMaxY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::Envelope::getMinY
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:280,1
    - Dst: geom::CircularArc::containsPoint
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:281,1
    - Dst: geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:286,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:287,1
    - Dst: isNull
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    - Dst: geos::algorithm::RayCrossingCounter::shouldCountCrossing
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 294
    functionName: geos::algorithm::RayCrossingCounter::countArc
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 4
    functionsReached:
    - isNull
    - geom::CircularArc::containsPoint
    - geom::Envelope::getMaxY
    - geos::algorithm::RayCrossingCounter::shouldCountCrossing
    - geos::algorithm::RayCrossingCounter::pointsIntersectingHorizontalRay
    - geos::algorithm::RayCrossingCounter::countSegment
    - geom::Envelope::getMaxX
    - geos::algorithm::CircularArcs::expandEnvelope
    - geom::Envelope::getMinY
    - geom::CircularArc::isLinear
    linkageType: ''
    returnType: void
    signature: "void RayCrossingCounter::countArc(const CoordinateXY& p1,\n                             const
      CoordinateXY& p2,\n                             const CoordinateXY& p3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: geos::algorithm::RayCrossingCounter::getLocation
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location RayCrossingCounter::getLocation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/RayCrossingCounter.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::algorithm::RayCrossingCounter::isPointInPolygon
    functionSourceFile: /src/geos/src/algorithm/RayCrossingCounter.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: bool
    signature: bool RayCrossingCounter::isPointInPolygon() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/PointLocation.cpp:40,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/PointLocation.cpp:43,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PointLocation.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: geos::algorithm::PointLocation::isOnSegment
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    - equals2D
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnSegment(const geom::CoordinateXY& p, const
      geom::CoordinateXY& p0, const geom::CoordinateXY& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocation.cpp:53,1
    - Dst: geos::algorithm::PointLocation::isOnSegment
      Src: /src/geos/src/algorithm/PointLocation.cpp:59,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:60,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: geos::algorithm::PointLocation::isOnLine
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geos::algorithm::PointLocation::isOnSegment
    - geom::CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnLine(const geom::CoordinateXY& p, const geom::CoordinateSequence*
      pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      std::vector<const geom::Coordinate*>& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      geom::CoordinateSequence* ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::CoordinateSequence& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::Curve& ring)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/PointLocation.cpp:40,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/PointLocation.cpp:43,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PointLocation.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: geos::algorithm::PointLocation::isOnSegment
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    - equals2D
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnSegment(const geom::CoordinateXY& p, const
      geom::CoordinateXY& p0, const geom::CoordinateXY& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocation.cpp:53,1
    - Dst: geos::algorithm::PointLocation::isOnSegment
      Src: /src/geos/src/algorithm/PointLocation.cpp:59,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:60,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: geos::algorithm::PointLocation::isOnLine
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geos::algorithm::PointLocation::isOnSegment
    - geom::CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnLine(const geom::CoordinateXY& p, const geom::CoordinateSequence*
      pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      std::vector<const geom::Coordinate*>& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      geom::CoordinateSequence* ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::CoordinateSequence& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::Curve& ring)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/PointLocation.cpp:40,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/PointLocation.cpp:43,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PointLocation.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: geos::algorithm::PointLocation::isOnSegment
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Orientation::index
    - equals2D
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnSegment(const geom::CoordinateXY& p, const
      geom::CoordinateXY& p0, const geom::CoordinateXY& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocation.cpp:53,1
    - Dst: geos::algorithm::PointLocation::isOnSegment
      Src: /src/geos/src/algorithm/PointLocation.cpp:59,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:60,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: geos::algorithm::PointLocation::isOnLine
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geos::algorithm::PointLocation::isOnSegment
    - geom::CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnLine(const geom::CoordinateXY& p, const geom::CoordinateSequence*
      pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      std::vector<const geom::Coordinate*>& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      geom::CoordinateSequence* ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::CoordinateSequence& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::Curve& ring)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/algorithm/PointLocation.cpp:40,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/PointLocation.cpp:43,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/PointLocation.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: geos::algorithm::PointLocation::isOnSegment
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::Orientation::index
    - equals2D
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnSegment(const geom::CoordinateXY& p, const
      geom::CoordinateXY& p0, const geom::CoordinateXY& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/PointLocation.cpp:53,1
    - Dst: geos::algorithm::PointLocation::isOnSegment
      Src: /src/geos/src/algorithm/PointLocation.cpp:59,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:60,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/PointLocation.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - pt
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: geos::algorithm::PointLocation::isOnLine
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geos::algorithm::PointLocation::isOnSegment
    - geom::CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool PointLocation::isOnLine(const geom::CoordinateXY& p, const geom::CoordinateSequence*
      pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      std::vector<const geom::Coordinate*>& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ring
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: geos::algorithm::PointLocation::isInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: bool
    signature: "bool PointLocation::isInRing(const geom::CoordinateXY& p,\n                        const
      geom::CoordinateSequence* ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - std::vector<const geom::Coordinate*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const std::vector<const geom::Coordinate*>&
      ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::CoordinateSequence& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/PointLocation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - ' ring'
    argTypes:
    - geom::CoordinateXY
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::algorithm::PointLocation::locateInRing
    functionSourceFile: /src/geos/src/algorithm/PointLocation.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location PointLocation::locateInRing(const geom::CoordinateXY&
      p,\n                            const geom::Curve& ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Centroid::getCentroid
      Src: /src/geos/src/algorithm/Centroid.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' pt'
    argTypes:
    - Geometry
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - Centroid::getCentroid
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(const Geometry& geom, CoordinateXY& pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Centroid.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' cent'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(CoordinateXY& cent) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/Centroid.cpp:73,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:75,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/Centroid.cpp:79,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/Centroid.cpp:82,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/Centroid.cpp:85,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:86,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/Centroid.cpp:88,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/Centroid.cpp:89,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const Point*>
    - LineString*::getCoordinatesRO
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::util::ensureNoCurvedComponents
    - geos::algorithm::Centroid::addPoint
    - geos::algorithm::Centroid::addLineSegments
    - Point*::getCoordinate
    - dynamic_cast<const Polygon*>
    - geos::algorithm::Centroid::add
    - dynamic_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    - Dst: CoordinateXY::CoordinateXY
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' basePt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::algorithm::Centroid::setAreaBasePoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 0
    functionsReached:
    - reset
    - CoordinateXY::CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Centroid::setAreaBasePoint(const CoordinateXY& basePt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::addShell
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:107,1
    - Dst: geos::algorithm::Centroid::addHole
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 1
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - getExteriorRing
    - geos::algorithm::Centroid::addShell
    - geos::algorithm::Centroid::addHole
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Polygon& poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:116,1
    - Dst: geos::algorithm::Centroid::setAreaBasePoint
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:120,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: geos::algorithm::Centroid::addShell
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - geos::algorithm::Centroid::setAreaBasePoint
    linkageType: ''
    returnType: void
    signature: void Centroid::addShell(const CoordinateSequence& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:131,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:135,1
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:136,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::algorithm::Centroid::addHole
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::addHole(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::centroid3
      Src: /src/geos/src/algorithm/Centroid.cpp:147,1
    - Dst: geos::algorithm::Centroid::area2
      Src: /src/geos/src/algorithm/Centroid.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - isPositiveArea
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::Centroid::addTriangle
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Centroid::centroid3
    - geos::algorithm::Centroid::area2
    linkageType: ''
    returnType: void
    signature: void Centroid::addTriangle(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2, bool isPositiveArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::algorithm::Centroid::centroid3
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::centroid3(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3, CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Centroid::area2
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Centroid::area2(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:176,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Centroid::addLineSegments
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::algorithm::Centroid::addPoint
    - getAt
    linkageType: ''
    returnType: void
    signature: void Centroid::addLineSegments(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: geos::algorithm::Centroid::addPoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::addPoint(const CoordinateXY& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Centroid::getCentroid
      Src: /src/geos/src/algorithm/Centroid.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' pt'
    argTypes:
    - Geometry
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - Centroid::getCentroid
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(const Geometry& geom, CoordinateXY& pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Centroid.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' cent'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(CoordinateXY& cent) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/Centroid.cpp:73,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:75,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/Centroid.cpp:79,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/Centroid.cpp:82,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/Centroid.cpp:85,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:86,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/Centroid.cpp:88,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/Centroid.cpp:89,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const Point*>
    - LineString*::getCoordinatesRO
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::util::ensureNoCurvedComponents
    - geos::algorithm::Centroid::addPoint
    - geos::algorithm::Centroid::addLineSegments
    - Point*::getCoordinate
    - dynamic_cast<const Polygon*>
    - geos::algorithm::Centroid::add
    - dynamic_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    - Dst: CoordinateXY::CoordinateXY
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' basePt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::algorithm::Centroid::setAreaBasePoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 1
    functionsReached:
    - reset
    - CoordinateXY::CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Centroid::setAreaBasePoint(const CoordinateXY& basePt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::addShell
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:107,1
    - Dst: geos::algorithm::Centroid::addHole
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - getExteriorRing
    - geos::algorithm::Centroid::addShell
    - geos::algorithm::Centroid::addHole
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Polygon& poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:116,1
    - Dst: geos::algorithm::Centroid::setAreaBasePoint
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:120,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: geos::algorithm::Centroid::addShell
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - geos::algorithm::Centroid::setAreaBasePoint
    linkageType: ''
    returnType: void
    signature: void Centroid::addShell(const CoordinateSequence& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:131,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:135,1
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:136,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::algorithm::Centroid::addHole
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::addHole(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::centroid3
      Src: /src/geos/src/algorithm/Centroid.cpp:147,1
    - Dst: geos::algorithm::Centroid::area2
      Src: /src/geos/src/algorithm/Centroid.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - isPositiveArea
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::Centroid::addTriangle
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Centroid::centroid3
    - geos::algorithm::Centroid::area2
    linkageType: ''
    returnType: void
    signature: void Centroid::addTriangle(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2, bool isPositiveArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::algorithm::Centroid::centroid3
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::centroid3(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3, CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Centroid::area2
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Centroid::area2(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:176,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Centroid::addLineSegments
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::algorithm::Centroid::addPoint
    - getAt
    linkageType: ''
    returnType: void
    signature: void Centroid::addLineSegments(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: geos::algorithm::Centroid::addPoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::addPoint(const CoordinateXY& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Centroid::getCentroid
      Src: /src/geos/src/algorithm/Centroid.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' pt'
    argTypes:
    - Geometry
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - Centroid::getCentroid
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(const Geometry& geom, CoordinateXY& pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Centroid.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' cent'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(CoordinateXY& cent) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/Centroid.cpp:73,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:75,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/Centroid.cpp:79,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/Centroid.cpp:82,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/Centroid.cpp:85,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:86,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/Centroid.cpp:88,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/Centroid.cpp:89,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const Point*>
    - LineString*::getCoordinatesRO
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::util::ensureNoCurvedComponents
    - geos::algorithm::Centroid::addPoint
    - geos::algorithm::Centroid::addLineSegments
    - Point*::getCoordinate
    - dynamic_cast<const Polygon*>
    - geos::algorithm::Centroid::add
    - dynamic_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    - Dst: CoordinateXY::CoordinateXY
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' basePt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::algorithm::Centroid::setAreaBasePoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - reset
    - CoordinateXY::CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Centroid::setAreaBasePoint(const CoordinateXY& basePt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::addShell
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:107,1
    - Dst: geos::algorithm::Centroid::addHole
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - getExteriorRing
    - geos::algorithm::Centroid::addShell
    - geos::algorithm::Centroid::addHole
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Polygon& poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:116,1
    - Dst: geos::algorithm::Centroid::setAreaBasePoint
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:120,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: geos::algorithm::Centroid::addShell
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - geos::algorithm::Centroid::setAreaBasePoint
    linkageType: ''
    returnType: void
    signature: void Centroid::addShell(const CoordinateSequence& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:131,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:135,1
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:136,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::algorithm::Centroid::addHole
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::addHole(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::centroid3
      Src: /src/geos/src/algorithm/Centroid.cpp:147,1
    - Dst: geos::algorithm::Centroid::area2
      Src: /src/geos/src/algorithm/Centroid.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - isPositiveArea
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::Centroid::addTriangle
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::Centroid::centroid3
    - geos::algorithm::Centroid::area2
    linkageType: ''
    returnType: void
    signature: void Centroid::addTriangle(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2, bool isPositiveArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::algorithm::Centroid::centroid3
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::centroid3(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3, CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Centroid::area2
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Centroid::area2(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:176,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Centroid::addLineSegments
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 9
    functionsReached:
    - size
    - geos::algorithm::Centroid::addPoint
    - getAt
    linkageType: ''
    returnType: void
    signature: void Centroid::addLineSegments(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: geos::algorithm::Centroid::addPoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::addPoint(const CoordinateXY& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Centroid::getCentroid
      Src: /src/geos/src/algorithm/Centroid.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' pt'
    argTypes:
    - Geometry
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - Centroid::getCentroid
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(const Geometry& geom, CoordinateXY& pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Centroid.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' cent'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::algorithm::Centroid::getCentroid
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool Centroid::getCentroid(CoordinateXY& cent) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/Centroid.cpp:73,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:75,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/algorithm/Centroid.cpp:79,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/algorithm/Centroid.cpp:80,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/Centroid.cpp:82,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/Centroid.cpp:83,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/Centroid.cpp:85,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:86,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/Centroid.cpp:88,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/Centroid.cpp:89,1
    - Dst: geos::algorithm::Centroid::add
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/Centroid.cpp:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const Point*>
    - LineString*::getCoordinatesRO
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::util::ensureNoCurvedComponents
    - geos::algorithm::Centroid::addPoint
    - geos::algorithm::Centroid::addLineSegments
    - Point*::getCoordinate
    - dynamic_cast<const Polygon*>
    - geos::algorithm::Centroid::add
    - dynamic_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    - Dst: CoordinateXY::CoordinateXY
      Src: /src/geos/src/algorithm/Centroid.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' basePt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::algorithm::Centroid::setAreaBasePoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 3
    functionsReached:
    - reset
    - CoordinateXY::CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Centroid::setAreaBasePoint(const CoordinateXY& basePt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::addShell
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:106,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/Centroid.cpp:107,1
    - Dst: geos::algorithm::Centroid::addHole
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/Centroid.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: geos::algorithm::Centroid::add
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - getExteriorRing
    - geos::algorithm::Centroid::addShell
    - geos::algorithm::Centroid::addHole
    linkageType: ''
    returnType: void
    signature: void Centroid::add(const Polygon& poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:116,1
    - Dst: geos::algorithm::Centroid::setAreaBasePoint
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:118,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:120,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:122,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: geos::algorithm::Centroid::addShell
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - geos::algorithm::Centroid::setAreaBasePoint
    linkageType: ''
    returnType: void
    signature: void Centroid::addShell(const CoordinateSequence& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Centroid.cpp:131,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/Centroid.cpp:135,1
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:136,1
    - Dst: geos::algorithm::Centroid::addTriangle
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:137,1
    - Dst: geos::algorithm::Centroid::addLineSegments
      Src: /src/geos/src/algorithm/Centroid.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: geos::algorithm::Centroid::addHole
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::algorithm::Orientation::isCCW
    - geos::algorithm::Centroid::addLineSegments
    - getAt
    - geos::algorithm::Centroid::addTriangle
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void Centroid::addHole(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Centroid::centroid3
      Src: /src/geos/src/algorithm/Centroid.cpp:147,1
    - Dst: geos::algorithm::Centroid::area2
      Src: /src/geos/src/algorithm/Centroid.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    - isPositiveArea
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: geos::algorithm::Centroid::addTriangle
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::Centroid::centroid3
    - geos::algorithm::Centroid::area2
    linkageType: ''
    returnType: void
    signature: void Centroid::addTriangle(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2, bool isPositiveArea)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::algorithm::Centroid::centroid3
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::centroid3(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3, CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' p3'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: geos::algorithm::Centroid::area2
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Centroid::area2(const CoordinateXY& p1, const CoordinateXY&
      p2, const CoordinateXY& p3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Centroid.cpp:176,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:179,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:186,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Centroid.cpp:188,1
    - Dst: geos::algorithm::Centroid::addPoint
      Src: /src/geos/src/algorithm/Centroid.cpp:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: geos::algorithm::Centroid::addLineSegments
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 12
    functionsReached:
    - size
    - geos::algorithm::Centroid::addPoint
    - getAt
    linkageType: ''
    returnType: void
    signature: void Centroid::addLineSegments(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: geos::algorithm::Centroid::addPoint
    functionSourceFile: /src/geos/src/algorithm/Centroid.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Centroid::addPoint(const CoordinateXY& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: '&

      BoundaryNodeRule::getBoundaryRuleMod2()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryRuleMod2()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '&

      BoundaryNodeRule::getBoundaryEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '&

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: '&

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundaryRuleMod2
      Src: /src/geos/src/algorithm/BoundaryNodeRule.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: '&

      BoundaryNodeRule::getBoundaryOGCSFS()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryRuleMod2
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryOGCSFS()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: '&

      BoundaryNodeRule::getBoundaryRuleMod2()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryRuleMod2()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '&

      BoundaryNodeRule::getBoundaryEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '&

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: '&

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundaryRuleMod2
      Src: /src/geos/src/algorithm/BoundaryNodeRule.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: '&

      BoundaryNodeRule::getBoundaryOGCSFS()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryRuleMod2
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryOGCSFS()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: '&

      BoundaryNodeRule::getBoundaryRuleMod2()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryRuleMod2()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '&

      BoundaryNodeRule::getBoundaryEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '&

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: '&

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundaryRuleMod2
      Src: /src/geos/src/algorithm/BoundaryNodeRule.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: '&

      BoundaryNodeRule::getBoundaryOGCSFS()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryRuleMod2
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryOGCSFS()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: geos::algorithm::Mod2BoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::algorithm::Mod2BoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::algorithm::EndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: geos::algorithm::EndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: geos::algorithm::MultiValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::algorithm::MonoValentEndPointBoundaryNodeRule::isInBoundary
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInBoundary(int boundaryCount) const override
  - 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: geos::algorithm::MonoValentEndPointBoundaryNodeRule::toString
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: '&

      BoundaryNodeRule::getBoundaryRuleMod2()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryRuleMod2()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '&

      BoundaryNodeRule::getBoundaryEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '&

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMultivalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: '&

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryMonovalentEndPoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBoundaryRuleMod2
      Src: /src/geos/src/algorithm/BoundaryNodeRule.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: '&

      BoundaryNodeRule::getBoundaryOGCSFS()'
    functionSourceFile: /src/geos/src/algorithm/BoundaryNodeRule.cpp
    functionUses: 0
    functionsReached:
    - getBoundaryRuleMod2
    linkageType: ''
    returnType: BoundaryNodeRule
    signature: 'BoundaryNodeRule &

      BoundaryNodeRule::getBoundaryOGCSFS()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:45,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:49,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::InteriorPointLine::InteriorPointLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointLine::addEndpoints
    - geos::algorithm::InteriorPointLine::addInterior
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::InteriorPointLine(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:66,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:68,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:73,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:75,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - LineString*::isEmpty
    - dynamic_cast<const LineString*>
    - geos::algorithm::InteriorPointLine::addInterior
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:84,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::InteriorPointLine::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const CoordinateSequence* pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:100,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:106,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:108,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::algorithm::InteriorPointLine::addEndpoints
    - dynamic_cast<const LineString*>
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:117,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::InteriorPointLine::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: geos::algorithm::InteriorPointLine::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 2
    functionsReached:
    - distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::add(const Coordinate& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::algorithm::InteriorPointLine::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointLine::getInteriorPoint(Coordinate& ret) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:45,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:49,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::InteriorPointLine::InteriorPointLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointLine::addEndpoints
    - geos::algorithm::InteriorPointLine::addInterior
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::InteriorPointLine(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:66,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:68,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:73,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:75,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - LineString*::isEmpty
    - dynamic_cast<const LineString*>
    - geos::algorithm::InteriorPointLine::addInterior
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:84,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::InteriorPointLine::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const CoordinateSequence* pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:100,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:106,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:108,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::algorithm::InteriorPointLine::addEndpoints
    - dynamic_cast<const LineString*>
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:117,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::InteriorPointLine::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: geos::algorithm::InteriorPointLine::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 4
    functionsReached:
    - distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::add(const Coordinate& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::algorithm::InteriorPointLine::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointLine::getInteriorPoint(Coordinate& ret) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:45,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:49,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::InteriorPointLine::InteriorPointLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointLine::addEndpoints
    - geos::algorithm::InteriorPointLine::addInterior
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::InteriorPointLine(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:66,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:68,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:73,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:75,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - LineString*::isEmpty
    - dynamic_cast<const LineString*>
    - geos::algorithm::InteriorPointLine::addInterior
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:84,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::InteriorPointLine::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const CoordinateSequence* pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:100,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:106,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:108,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::algorithm::InteriorPointLine::addEndpoints
    - dynamic_cast<const LineString*>
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:117,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::InteriorPointLine::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: geos::algorithm::InteriorPointLine::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 6
    functionsReached:
    - distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::add(const Coordinate& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::algorithm::InteriorPointLine::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointLine::getInteriorPoint(Coordinate& ret) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:45,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:49,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::InteriorPointLine::InteriorPointLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::InteriorPointLine::addEndpoints
    - geos::algorithm::InteriorPointLine::addInterior
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::InteriorPointLine(const Geometry* g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:66,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:68,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:69,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:73,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:75,1
    - Dst: geos::algorithm::InteriorPointLine::addInterior
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - LineString*::isEmpty
    - dynamic_cast<const LineString*>
    - geos::algorithm::InteriorPointLine::addInterior
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:84,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: geos::algorithm::InteriorPointLine::addInterior
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::InteriorPointLine::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addInterior(const CoordinateSequence* pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:100,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:102,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:106,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:108,1
    - Dst: geos::algorithm::InteriorPointLine::addEndpoints
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::algorithm::InteriorPointLine::addEndpoints
    - dynamic_cast<const LineString*>
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:117,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:119,1
    - Dst: geos::algorithm::InteriorPointLine::add
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: geos::algorithm::InteriorPointLine::addEndpoints
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::InteriorPointLine::add
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::addEndpoints(const CoordinateSequence* pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/InteriorPointLine.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: geos::algorithm::InteriorPointLine::add
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 8
    functionsReached:
    - distance
    linkageType: ''
    returnType: void
    signature: void InteriorPointLine::add(const Coordinate& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::algorithm::InteriorPointLine::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointLine::getInteriorPoint(Coordinate& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const std::vector<geom::Coordinate>& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const geom::CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 14
    functionsReached:
    - size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const std::vector<geom::Coordinate>& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Area.cpp:75,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:84,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:85,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 14
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const geom::CoordinateSequence* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/algorithm/Area.cpp:102,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Area.cpp:103,1
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/Area.cpp:108,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/Area.cpp:109,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Area.cpp:111,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/Area.cpp:115,1
    - Dst: isCurved
      Src: /src/geos/src/algorithm/Area.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:119,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:120,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:121,1
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/Area.cpp:127,1
    - Dst: geom::CircularArc::getArea
      Src: /src/geos/src/algorithm/Area.cpp:131,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Area.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:140,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:141,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:142,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: geos::algorithm::Area::ofClosedCurve
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - size
    - getNumCurves
    - isCurved
    - isClosed
    - geom::CircularArc::isLinear
    - geos::algorithm::Orientation::index
    - getAt
    - geos::util::IllegalArgumentException
    - getCurveN
    - geom::CircularArc::getArea
    - getCoordinatesRO
    - std::abs
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double Area::ofClosedCurve(const geom::Curve& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const std::vector<geom::Coordinate>& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const geom::CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 16
    functionsReached:
    - size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const std::vector<geom::Coordinate>& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Area.cpp:75,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:84,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:85,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 16
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const geom::CoordinateSequence* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/algorithm/Area.cpp:102,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Area.cpp:103,1
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/Area.cpp:108,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/Area.cpp:109,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Area.cpp:111,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/Area.cpp:115,1
    - Dst: isCurved
      Src: /src/geos/src/algorithm/Area.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:119,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:120,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:121,1
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/Area.cpp:127,1
    - Dst: geom::CircularArc::getArea
      Src: /src/geos/src/algorithm/Area.cpp:131,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Area.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:140,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:141,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:142,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: geos::algorithm::Area::ofClosedCurve
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - size
    - getNumCurves
    - isCurved
    - isClosed
    - geom::CircularArc::isLinear
    - geos::algorithm::Orientation::index
    - getAt
    - geos::util::IllegalArgumentException
    - getCurveN
    - geom::CircularArc::getArea
    - getCoordinatesRO
    - std::abs
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double Area::ofClosedCurve(const geom::Curve& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const std::vector<geom::Coordinate>& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const geom::CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 18
    functionsReached:
    - size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const std::vector<geom::Coordinate>& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Area.cpp:75,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:84,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:85,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 18
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const geom::CoordinateSequence* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/algorithm/Area.cpp:102,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Area.cpp:103,1
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/Area.cpp:108,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/Area.cpp:109,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Area.cpp:111,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/Area.cpp:115,1
    - Dst: isCurved
      Src: /src/geos/src/algorithm/Area.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:119,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:120,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:121,1
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/Area.cpp:127,1
    - Dst: geom::CircularArc::getArea
      Src: /src/geos/src/algorithm/Area.cpp:131,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Area.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:140,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:141,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:142,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: geos::algorithm::Area::ofClosedCurve
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - size
    - getNumCurves
    - isCurved
    - isClosed
    - geom::CircularArc::isLinear
    - geos::algorithm::Orientation::index
    - getAt
    - geos::util::IllegalArgumentException
    - getCurveN
    - geom::CircularArc::getArea
    - getCoordinatesRO
    - std::abs
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double Area::ofClosedCurve(const geom::Curve& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const std::vector<geom::Coordinate>& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    - Dst: geos::algorithm::Area::ofRingSigned
      Src: /src/geos/src/algorithm/Area.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::algorithm::Area::ofRing
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - geos::algorithm::Area::ofRingSigned
    linkageType: ''
    returnType: double
    signature: double Area::ofRing(const geom::CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 20
    functionsReached:
    - size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const std::vector<geom::Coordinate>& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/Area.cpp:75,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:84,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:85,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/Area.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: geos::algorithm::Area::ofRingSigned
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 20
    functionsReached:
    - geom::CoordinateSequence*::getAt
    - geom::CoordinateSequence*::size
    linkageType: ''
    returnType: double
    signature: double Area::ofRingSigned(const geom::CoordinateSequence* ring)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/algorithm/Area.cpp:102,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/Area.cpp:103,1
    - Dst: getNumCurves
      Src: /src/geos/src/algorithm/Area.cpp:108,1
    - Dst: getCurveN
      Src: /src/geos/src/algorithm/Area.cpp:109,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/Area.cpp:111,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/Area.cpp:115,1
    - Dst: isCurved
      Src: /src/geos/src/algorithm/Area.cpp:117,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:118,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:119,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:120,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:121,1
    - Dst: geom::CircularArc::isLinear
      Src: /src/geos/src/algorithm/Area.cpp:127,1
    - Dst: geom::CircularArc::getArea
      Src: /src/geos/src/algorithm/Area.cpp:131,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/Area.cpp:133,1
    - Dst: size
      Src: /src/geos/src/algorithm/Area.cpp:140,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:141,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/Area.cpp:142,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/Area.cpp:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - geom::Curve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: geos::algorithm::Area::ofClosedCurve
    functionSourceFile: /src/geos/src/algorithm/Area.cpp
    functionUses: 2
    functionsReached:
    - size
    - getNumCurves
    - isCurved
    - isClosed
    - geom::CircularArc::isLinear
    - geos::algorithm::Orientation::index
    - getAt
    - geos::util::IllegalArgumentException
    - getCurveN
    - geom::CircularArc::getArea
    - getCoordinatesRO
    - std::abs
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double Area::ofClosedCurve(const geom::Curve& ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::SimplePointInRing::SimplePointInRing
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geom::LinearRing*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void SimplePointInRing::SimplePointInRing(geom::LinearRing* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::algorithm::SimplePointInRing::isInside
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInRing::isInside(const geom::Coordinate& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::SimplePointInRing::SimplePointInRing
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geom::LinearRing*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void SimplePointInRing::SimplePointInRing(geom::LinearRing* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::algorithm::SimplePointInRing::isInside
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInRing::isInside(const geom::Coordinate& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::SimplePointInRing::SimplePointInRing
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geom::LinearRing*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void SimplePointInRing::SimplePointInRing(geom::LinearRing* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::algorithm::SimplePointInRing::isInside
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInRing::isInside(const geom::Coordinate& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - geom::LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::SimplePointInRing::SimplePointInRing
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geom::LinearRing*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void SimplePointInRing::SimplePointInRing(geom::LinearRing* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/SimplePointInRing.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::algorithm::SimplePointInRing::isInside
    functionSourceFile: /src/geos/src/algorithm/SimplePointInRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::PointLocation::isInRing
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInRing::isInside(const geom::Coordinate& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumAreaRectangle::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - MinimumAreaRectangle::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:50,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:51,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:54,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:57,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumAreaRectangle::computeConvex
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:68,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:71,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:72,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:77,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:78,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:83,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:84,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:88,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:92,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvexRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - convexGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 1
    functionsReached:
    - auto::getExteriorRing
    - getFactory
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::computeConvexRing
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    - geos::util::IllegalArgumentException
    - auto::getCoordinatesRO
    - static_cast<const Point*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::computeConvex(const
      Geometry* convexGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:127,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:128,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:129,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:131,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:132,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:136,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:142,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:146,1
    - Dst: geos::algorithm::Rectangle::createFromSidePts
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:156,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:157,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:158,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:159,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:160,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:161,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 163
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvexRing
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 1
    functionsReached:
    - getFactory
    - geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    - CoordinateSequence*::getAt
    - geos::algorithm::Rectangle::createFromSidePts
    - LineSegment::distancePerpendicular
    - LineSegment::project
    - CoordinateSequence*::size
    - LineSegment::getLength
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> MinimumAreaRectangle::computeConvexRing(const
      CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:178,1
    - Dst: geos::algorithm::MinimumAreaRectangle::getNextIndex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:182,1
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pts
    - ' baseSeg'
    - startIndex
    - orient
    argTypes:
    - CoordinateSequence*
    - LineSegment
    - std::size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::getNextIndex
    - geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    - geos::algorithm::MinimumAreaRectangle::orientedDistance
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::findFurthestVertex(\n    const CoordinateSequence*
      pts,\n    const LineSegment& baseSeg,\n    std::size_t startIndex, int orient)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - d1
    - d2
    - orient
    argTypes:
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 1
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::abs
    linkageType: ''
    returnType: bool
    signature: "bool MinimumAreaRectangle::isFurtherOrEqual(\n    double d1, double
      d2,\n    int orient)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distancePerpendicularOriented
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:213,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' seg'
    - ' p'
    - orient
    argTypes:
    - LineSegment
    - CoordinateXY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: geos::algorithm::MinimumAreaRectangle::orientedDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 1
    functionsReached:
    - std::abs
    - distancePerpendicularOriented
    linkageType: ''
    returnType: double
    signature: "double MinimumAreaRectangle::orientedDistance(\n    const LineSegment&
      seg,\n    const CoordinateXY& p,\n    int orient)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: geos::algorithm::MinimumAreaRectangle::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::getNextIndex(\n    const CoordinateSequence*
      ring,\n    std::size_t index)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:243,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:244,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:245,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:246,1
    - Dst: CoordinateSequence*::items
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:247,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:248,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:249,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:250,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:251,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 1
    functionsReached:
    - CoordinateXY::isNull
    - CoordinateSequence*::items
    - CoordinateXY::setNull
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> MinimumAreaRectangle::computeMaximumLine(\n
      \   const CoordinateSequence* pts,\n    const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumAreaRectangle::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - MinimumAreaRectangle::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:50,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:51,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:54,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:57,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumAreaRectangle::computeConvex
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:68,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:71,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:72,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:77,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:78,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:83,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:84,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:88,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:92,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvexRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - convexGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - auto::getExteriorRing
    - getFactory
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::computeConvexRing
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    - geos::util::IllegalArgumentException
    - auto::getCoordinatesRO
    - static_cast<const Point*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::computeConvex(const
      Geometry* convexGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:127,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:128,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:129,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:131,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:132,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:136,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:142,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:146,1
    - Dst: geos::algorithm::Rectangle::createFromSidePts
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:156,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:157,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:158,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:159,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:160,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:161,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 163
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvexRing
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    - CoordinateSequence*::getAt
    - geos::algorithm::Rectangle::createFromSidePts
    - LineSegment::distancePerpendicular
    - LineSegment::project
    - CoordinateSequence*::size
    - LineSegment::getLength
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> MinimumAreaRectangle::computeConvexRing(const
      CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:178,1
    - Dst: geos::algorithm::MinimumAreaRectangle::getNextIndex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:182,1
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pts
    - ' baseSeg'
    - startIndex
    - orient
    argTypes:
    - CoordinateSequence*
    - LineSegment
    - std::size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::getNextIndex
    - geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    - geos::algorithm::MinimumAreaRectangle::orientedDistance
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::findFurthestVertex(\n    const CoordinateSequence*
      pts,\n    const LineSegment& baseSeg,\n    std::size_t startIndex, int orient)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - d1
    - d2
    - orient
    argTypes:
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::abs
    linkageType: ''
    returnType: bool
    signature: "bool MinimumAreaRectangle::isFurtherOrEqual(\n    double d1, double
      d2,\n    int orient)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distancePerpendicularOriented
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:213,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' seg'
    - ' p'
    - orient
    argTypes:
    - LineSegment
    - CoordinateXY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: geos::algorithm::MinimumAreaRectangle::orientedDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - distancePerpendicularOriented
    linkageType: ''
    returnType: double
    signature: "double MinimumAreaRectangle::orientedDistance(\n    const LineSegment&
      seg,\n    const CoordinateXY& p,\n    int orient)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: geos::algorithm::MinimumAreaRectangle::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::getNextIndex(\n    const CoordinateSequence*
      ring,\n    std::size_t index)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:243,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:244,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:245,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:246,1
    - Dst: CoordinateSequence*::items
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:247,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:248,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:249,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:250,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:251,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - CoordinateXY::isNull
    - CoordinateSequence*::items
    - CoordinateXY::setNull
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> MinimumAreaRectangle::computeMaximumLine(\n
      \   const CoordinateSequence* pts,\n    const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumAreaRectangle::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - MinimumAreaRectangle::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:50,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:51,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:54,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:57,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumAreaRectangle::computeConvex
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:68,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:71,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:72,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:77,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:78,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:83,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:84,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:88,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:92,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvexRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - convexGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 3
    functionsReached:
    - auto::getExteriorRing
    - getFactory
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::computeConvexRing
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    - geos::util::IllegalArgumentException
    - auto::getCoordinatesRO
    - static_cast<const Point*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::computeConvex(const
      Geometry* convexGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:127,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:128,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:129,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:131,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:132,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:136,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:142,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:146,1
    - Dst: geos::algorithm::Rectangle::createFromSidePts
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:156,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:157,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:158,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:159,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:160,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:161,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 163
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvexRing
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 3
    functionsReached:
    - getFactory
    - geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    - CoordinateSequence*::getAt
    - geos::algorithm::Rectangle::createFromSidePts
    - LineSegment::distancePerpendicular
    - LineSegment::project
    - CoordinateSequence*::size
    - LineSegment::getLength
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> MinimumAreaRectangle::computeConvexRing(const
      CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:178,1
    - Dst: geos::algorithm::MinimumAreaRectangle::getNextIndex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:182,1
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pts
    - ' baseSeg'
    - startIndex
    - orient
    argTypes:
    - CoordinateSequence*
    - LineSegment
    - std::size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::getNextIndex
    - geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    - geos::algorithm::MinimumAreaRectangle::orientedDistance
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::findFurthestVertex(\n    const CoordinateSequence*
      pts,\n    const LineSegment& baseSeg,\n    std::size_t startIndex, int orient)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - d1
    - d2
    - orient
    argTypes:
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::abs
    linkageType: ''
    returnType: bool
    signature: "bool MinimumAreaRectangle::isFurtherOrEqual(\n    double d1, double
      d2,\n    int orient)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distancePerpendicularOriented
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:213,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' seg'
    - ' p'
    - orient
    argTypes:
    - LineSegment
    - CoordinateXY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: geos::algorithm::MinimumAreaRectangle::orientedDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 3
    functionsReached:
    - std::abs
    - distancePerpendicularOriented
    linkageType: ''
    returnType: double
    signature: "double MinimumAreaRectangle::orientedDistance(\n    const LineSegment&
      seg,\n    const CoordinateXY& p,\n    int orient)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: geos::algorithm::MinimumAreaRectangle::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::getNextIndex(\n    const CoordinateSequence*
      ring,\n    std::size_t index)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:243,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:244,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:245,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:246,1
    - Dst: CoordinateSequence*::items
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:247,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:248,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:249,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:250,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:251,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 3
    functionsReached:
    - CoordinateXY::isNull
    - CoordinateSequence*::items
    - CoordinateXY::setNull
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> MinimumAreaRectangle::computeMaximumLine(\n
      \   const CoordinateSequence* pts,\n    const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MinimumAreaRectangle::getMinimumRectangle
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - MinimumAreaRectangle::getMinimumRectangle
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:50,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:51,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:54,1
    - Dst: ConvexHull::getConvexHull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:57,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: geos::algorithm::MinimumAreaRectangle::getMinimumRectangle
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - ConvexHull::getConvexHull
    - geos::algorithm::MinimumAreaRectangle::computeConvex
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::getMinimumRectangle()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:68,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:71,1
    - Dst: auto::getExteriorRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:72,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:77,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:78,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:83,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:84,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:88,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:92,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:95,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:98,1
    - Dst: geos::algorithm::MinimumAreaRectangle::computeConvexRing
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - convexGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 4
    functionsReached:
    - auto::getExteriorRing
    - getFactory
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::computeConvexRing
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    - geos::util::IllegalArgumentException
    - auto::getCoordinatesRO
    - static_cast<const Point*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MinimumAreaRectangle::computeConvex(const
      Geometry* convexGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:127,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:128,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:129,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:131,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:132,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:136,1
    - Dst: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:142,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:144,1
    - Dst: LineSegment::distancePerpendicular
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:145,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:146,1
    - Dst: geos::algorithm::Rectangle::createFromSidePts
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:156,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:157,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:158,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:159,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:160,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:161,1
    - Dst: getFactory
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 163
    functionName: geos::algorithm::MinimumAreaRectangle::computeConvexRing
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 4
    functionsReached:
    - getFactory
    - geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    - CoordinateSequence*::getAt
    - geos::algorithm::Rectangle::createFromSidePts
    - LineSegment::distancePerpendicular
    - LineSegment::project
    - CoordinateSequence*::size
    - LineSegment::getLength
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> MinimumAreaRectangle::computeConvexRing(const
      CoordinateSequence* ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:173,1
    - Dst: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:178,1
    - Dst: geos::algorithm::MinimumAreaRectangle::getNextIndex
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:182,1
    - Dst: geos::algorithm::MinimumAreaRectangle::orientedDistance
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pts
    - ' baseSeg'
    - startIndex
    - orient
    argTypes:
    - CoordinateSequence*
    - LineSegment
    - std::size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: geos::algorithm::MinimumAreaRectangle::findFurthestVertex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::MinimumAreaRectangle::getNextIndex
    - geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    - geos::algorithm::MinimumAreaRectangle::orientedDistance
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::findFurthestVertex(\n    const CoordinateSequence*
      pts,\n    const LineSegment& baseSeg,\n    std::size_t startIndex, int orient)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:198,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - d1
    - d2
    - orient
    argTypes:
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: geos::algorithm::MinimumAreaRectangle::isFurtherOrEqual
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::abs
    linkageType: ''
    returnType: bool
    signature: "bool MinimumAreaRectangle::isFurtherOrEqual(\n    double d1, double
      d2,\n    int orient)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distancePerpendicularOriented
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:213,1
    - Dst: std::abs
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' seg'
    - ' p'
    - orient
    argTypes:
    - LineSegment
    - CoordinateXY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: geos::algorithm::MinimumAreaRectangle::orientedDistance
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 4
    functionsReached:
    - std::abs
    - distancePerpendicularOriented
    linkageType: ''
    returnType: double
    signature: "double MinimumAreaRectangle::orientedDistance(\n    const LineSegment&
      seg,\n    const CoordinateXY& p,\n    int orient)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: geos::algorithm::MinimumAreaRectangle::getNextIndex
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t MinimumAreaRectangle::getNextIndex(\n    const CoordinateSequence*
      ring,\n    std::size_t index)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:243,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:244,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:245,1
    - Dst: CoordinateXY::setNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:246,1
    - Dst: CoordinateSequence*::items
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:247,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:248,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:249,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:250,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:251,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/MinimumAreaRectangle.cpp:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pts
    - factory
    argTypes:
    - CoordinateSequence*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: geos::algorithm::MinimumAreaRectangle::computeMaximumLine
    functionSourceFile: /src/geos/src/algorithm/MinimumAreaRectangle.cpp
    functionUses: 4
    functionsReached:
    - CoordinateXY::isNull
    - CoordinateSequence*::items
    - CoordinateXY::setNull
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> MinimumAreaRectangle::computeMaximumLine(\n
      \   const CoordinateSequence* pts,\n    const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: geos::algorithm::InteriorPointArea::InteriorPointArea
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::InteriorPointArea::process
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::InteriorPointArea(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: geos::algorithm::InteriorPointArea::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointArea::getInteriorPoint(Coordinate& ret) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:309,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:312,1
    - Dst: geos::algorithm::InteriorPointArea::processPolygon
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:314,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:318,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:320,1
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 325
    functionName: geos::algorithm::InteriorPointArea::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::InteriorPointArea::process
    - geos::algorithm::InteriorPointArea::processPolygon
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::process(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InteriorPointPolygon::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:332,1
    - Dst: InteriorPointPolygon::getWidth
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:333,1
    - Dst: InteriorPointPolygon::getInteriorPoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: geos::algorithm::InteriorPointArea::processPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 1
    functionsReached:
    - InteriorPointPolygon::getInteriorPoint
    - InteriorPointPolygon::process
    - InteriorPointPolygon::getWidth
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::processPolygon(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: geos::algorithm::InteriorPointArea::InteriorPointArea
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::InteriorPointArea::process
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::InteriorPointArea(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: geos::algorithm::InteriorPointArea::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointArea::getInteriorPoint(Coordinate& ret) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:309,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:312,1
    - Dst: geos::algorithm::InteriorPointArea::processPolygon
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:314,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:318,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:320,1
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 325
    functionName: geos::algorithm::InteriorPointArea::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::InteriorPointArea::process
    - geos::algorithm::InteriorPointArea::processPolygon
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::process(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InteriorPointPolygon::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:332,1
    - Dst: InteriorPointPolygon::getWidth
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:333,1
    - Dst: InteriorPointPolygon::getInteriorPoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: geos::algorithm::InteriorPointArea::processPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 2
    functionsReached:
    - InteriorPointPolygon::getInteriorPoint
    - InteriorPointPolygon::process
    - InteriorPointPolygon::getWidth
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::processPolygon(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 10
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 5
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 12
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: geos::algorithm::InteriorPointArea::InteriorPointArea
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::InteriorPointArea::process
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::InteriorPointArea(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: geos::algorithm::InteriorPointArea::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointArea::getInteriorPoint(Coordinate& ret) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:309,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:312,1
    - Dst: geos::algorithm::InteriorPointArea::processPolygon
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:314,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:318,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:320,1
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 325
    functionName: geos::algorithm::InteriorPointArea::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::InteriorPointArea::process
    - geos::algorithm::InteriorPointArea::processPolygon
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::process(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InteriorPointPolygon::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:332,1
    - Dst: InteriorPointPolygon::getWidth
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:333,1
    - Dst: InteriorPointPolygon::getInteriorPoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: geos::algorithm::InteriorPointArea::processPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 3
    functionsReached:
    - InteriorPointPolygon::getInteriorPoint
    - InteriorPointPolygon::process
    - InteriorPointPolygon::getWidth
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::processPolygon(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 6
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 14
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::algorithm::avg
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double avg(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached:
    - ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: double
    signature: double getScanLineY(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:78,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:79,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' nPoly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: geos::algorithm::ScanLineYOrdinateFinder::ScanLineYOrdinateFinder
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - avg
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void ScanLineYOrdinateFinder(const Polygon& nPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:86,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:87,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:88,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 7
    functionsReached:
    - avg
    - getInteriorRingN
    - getNumInteriorRing
    - geos::algorithm::ScanLineYOrdinateFinder::process
    - getExteriorRing
    linkageType: ''
    returnType: double
    signature: double getScanLineY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:104,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:105,1
    - Dst: CoordinateSequence*::getY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:106,1
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: geos::algorithm::ScanLineYOrdinateFinder::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    - getCoordinatesRO
    - CoordinateSequence*::size
    - CoordinateSequence*::getY
    linkageType: ''
    returnType: void
    signature: void process(const LineString& line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: geos::algorithm::ScanLineYOrdinateFinder::updateInterval
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateInterval(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - Polygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::algorithm::InteriorPointPolygon::InteriorPointPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::ScanLineYOrdinateFinder::getScanLineY
    linkageType: ''
    returnType: void
    signature: void InteriorPointPolygon(const Polygon& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: geos::algorithm::InteriorPointPolygon::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInteriorPoint(CoordinateXY& ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: geos::algorithm::InteriorPointPolygon::getWidth
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:155,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:159,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:161,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:162,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:163,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:164,1
    - Dst: geos::algorithm::InteriorPointPolygon::scanRing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:165,1
    - Dst: geos::algorithm::InteriorPointPolygon::findBestMidpoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: geos::algorithm::InteriorPointPolygon::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumInteriorRing
    - getInteriorRingN
    - geos::algorithm::InteriorPointPolygon::findBestMidpoint
    - geos::algorithm::InteriorPointPolygon::scanRing
    - getExteriorRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void process()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:179,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:182,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:183,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:184,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:185,1
    - Dst: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ring'
    - ' crossings'
    argTypes:
    - LinearRing
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: geos::algorithm::InteriorPointPolygon::scanRing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - CoordinateSequence*::getAt
    - getEnvelopeInternal
    - geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void scanRing(const LinearRing& ring, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:193,1
    - Dst: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:195,1
    - Dst: geos::algorithm::InteriorPointPolygon::intersection
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:199,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    - ' crossings'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: geos::algorithm::InteriorPointPolygon::addEdgeCrossing
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    - geos::algorithm::InteriorPointPolygon::intersection
    - push_back
    - geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    linkageType: ''
    returnType: void
    signature: void addEdgeCrossing(const CoordinateXY& p0, const CoordinateXY& p1,
      double scanY, std::vector<double>& crossings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:206,1
    - Dst: sort
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: begin
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: end
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:210,1
    - Dst: size
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:215,1
    - Dst: avg
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:223,1
    - Dst: Coordinate
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' crossings'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: geos::algorithm::InteriorPointPolygon::findBestMidpoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached:
    - size
    - avg
    - Coordinate
    - end
    - begin
    - empty
    - sort
    linkageType: ''
    returnType: void
    signature: void findBestMidpoint(std::vector<double>& crossings)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - scanY
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: geos::algorithm::InteriorPointPolygon::isEdgeCrossingCounted
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEdgeCrossingCounted(const CoordinateXY& p0, const CoordinateXY&
      p1, double scanY)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - Y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: geos::algorithm::InteriorPointPolygon::intersection
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double intersection(const CoordinateXY& p0, const CoordinateXY& p1,
      double Y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:265,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - env
    - y
    argTypes:
    - Envelope*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 16
    functionsReached:
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const Envelope* env, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - y
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: geos::algorithm::InteriorPointPolygon::intersectsHorizontalLine
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intersectsHorizontalLine(const CoordinateXY& p0, const CoordinateXY&
      p1, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: geos::algorithm::InteriorPointArea::InteriorPointArea
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::InteriorPointArea::process
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::InteriorPointArea(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: geos::algorithm::InteriorPointArea::getInteriorPoint
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool InteriorPointArea::getInteriorPoint(Coordinate& ret) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:309,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:312,1
    - Dst: geos::algorithm::InteriorPointArea::processPolygon
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:314,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:318,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:320,1
    - Dst: geos::algorithm::InteriorPointArea::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:321,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 325
    functionName: geos::algorithm::InteriorPointArea::process
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::algorithm::InteriorPointArea::process
    - geos::algorithm::InteriorPointArea::processPolygon
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::process(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InteriorPointPolygon::process
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:332,1
    - Dst: InteriorPointPolygon::getWidth
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:333,1
    - Dst: InteriorPointPolygon::getInteriorPoint
      Src: /src/geos/src/algorithm/InteriorPointArea.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: geos::algorithm::InteriorPointArea::processPolygon
    functionSourceFile: /src/geos/src/algorithm/InteriorPointArea.cpp
    functionUses: 4
    functionsReached:
    - InteriorPointPolygon::getInteriorPoint
    - InteriorPointPolygon::process
    - InteriorPointPolygon::getWidth
    linkageType: ''
    returnType: void
    signature: void InteriorPointArea::processPolygon(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 10
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 14
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 14
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 16
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 18
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 18
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 20
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 22
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 22
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 24
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 26
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 26
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 28
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:49,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:51,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:53,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:56,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: typeid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:57,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:58,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:61,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - polygonal
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::MaximumInscribedCircle::MaximumInscribedCircle
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getBoundary
    - geos::util::IllegalArgumentException
    - get
    - Geometry*::isEmpty
    - typeid
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::MaximumInscribedCircle(const Geometry*
      polygonal, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getCenter
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter(const Geometry*
      polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - MaximumInscribedCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine(const
      Geometry* polygonal, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygonal
    - maxRadius
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(const Geometry* polygonal,
      double maxRadius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:95,1
    - Dst: std::log
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - toleranceDist
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - std::log
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t MaximumInscribedCircle::computeMaximumIterations(const
      Geometry* geom, double toleranceDist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:107,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:115,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> MaximumInscribedCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:123,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:125,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:126,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:127,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - detail::make_unique<CoordinateSequence>
    - std::move
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MaximumInscribedCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:137,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:138,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:141,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:149,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - Cell::CellQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::createInitialGrid(const Envelope* env,
      Cell::CellQueue& cellQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:158,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 30
    functionsReached:
    - createPoint
    - std::unique_ptr::get
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:166,1
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 30
    functionsReached:
    - distance
    - getCoordinate
    - locate
    linkageType: ''
    returnType: double
    signature: double MaximumInscribedCircle::distanceToBoundary(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getInteriorPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:177,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getX
    - Geometry*::getInteriorPoint
    - std::unique_ptr::getY
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    linkageType: ''
    returnType: MaximumInscribedCircle::Cell
    signature: MaximumInscribedCircle::Cell MaximumInscribedCircle::createInteriorPointCell(const
      Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:188,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:199,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::compute
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:206,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxRadius
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::compute
    - Envelope*::getWidth
    - getEnvelopeInternal
    - distance
    - geos::util::IllegalArgumentException
    - Envelope*::getHeight
    linkageType: ''
    returnType: bool
    signature: bool MaximumInscribedCircle::isRadiusWithin(double maxRadius)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:222,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:224,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:231,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:232,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:233,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createResult
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:240,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::MaximumInscribedCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 32
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    - getCoordinate
    - getArea
    - static_cast<const Polygon*>
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    - geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    - geos::algorithm::construct::MaximumInscribedCircle::createResult
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c'
    - ' r'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::MaximumInscribedCircle::createResult
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MaximumInscribedCircle::createResult(\n    const CoordinateXY&
      c, const CoordinateXY& r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:263,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:266,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:272,1
    - Dst: Cell::CellQueue::empty
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:274,1
    - Dst: Cell::CellQueue::top
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:276,1
    - Dst: Cell::CellQueue::pop
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:277,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:281,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:285,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:289,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:296,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:299,1
    - Dst: Cell::getMaxDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:310,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:313,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:314,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:315,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:316,1
    - Dst: Cell::CellQueue::emplace
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:317,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:323,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:324,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:327,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: geos::algorithm::construct::MaximumInscribedCircle::computeApproximation
    functionSourceFile: /src/geos/src/algorithm/construct/MaximumInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - createPoint
    - nearestPoints
    - Cell::CellQueue::empty
    - getAt
    - getEnvelopeInternal
    - geos::algorithm::construct::MaximumInscribedCircle::createInitialGrid
    - Cell::getX
    - geos::algorithm::construct::MaximumInscribedCircle::createInteriorPointCell
    - Cell::getMaxDistance
    - geos::algorithm::construct::MaximumInscribedCircle::distanceToBoundary
    - Cell::CellQueue::pop
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - Cell::getY
    - Cell::getHSize
    - std::unique_ptr::get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::CellQueue::top
    - Cell::CellQueue::emplace
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void MaximumInscribedCircle::computeApproximation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 1
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 3
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 1
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 1
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 5
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 1
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 6
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 2
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 2
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 9
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 2
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 9
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 3
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 3
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 13
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 14
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 3
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 12
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 4
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 4
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 17
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 18
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 4
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 15
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 5
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 5
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 21
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 22
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 5
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 5
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 18
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 6
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 6
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 25
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 26
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 6
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 6
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 21
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      double p_tolerance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:51,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:56,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:58,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:59,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_obstacles
    - p_boundary
    - p_tolerance
    argTypes:
    - Geometry*
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: geos::algorithm::construct::LargestEmptyCircle::LargestEmptyCircle
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - Geometry*::isEmpty
    - convexHull
    - Geometry*::clone
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::LargestEmptyCircle(const Geometry* p_obstacles,
      const Geometry* p_boundary, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getCenter
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter(const Geometry*
      p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LargestEmptyCircle::getRadiusLine
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obstacles
    - p_tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - LargestEmptyCircle::getRadiusLine
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine(const
      Geometry* p_obstacles, double p_tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:86,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::LargestEmptyCircle::getCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getCenter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:94,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusPoint
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - createPoint
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> LargestEmptyCircle::getRadiusPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::compute
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:102,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:104,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:105,1
    - Dst: auto::setAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:106,1
    - Dst: createLineString
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: geos::algorithm::construct::LargestEmptyCircle::getRadiusLine
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::algorithm::construct::LargestEmptyCircle::compute
    - createLineString
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LargestEmptyCircle::getRadiusLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isFinite
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:115,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:116,1
    - Dst: std::max
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getWidth
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::getHeight
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:119,1
    - Dst: Envelope*::centre
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:127,1
    - Dst: emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ' cellQueue'
    argTypes:
    - Envelope*
    - std::priority_queue<Cell>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 7
    functionsReached:
    - Envelope*::centre
    - geos::io::util::GEOSException
    - Envelope*::getWidth
    - emplace
    - std::max
    - Envelope*::getHeight
    - Envelope*::isFinite
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::createInitialGrid(const Envelope* env, std::priority_queue<Cell>&
      cellQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFullyOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:139,1
    - Dst: isOutside
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:148,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:149,1
    - Dst: getMaxDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' cell'
    - ' farthestCell'
    argTypes:
    - Cell
    - Cell
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 7
    functionsReached:
    - getDistance
    - isFullyOutside
    - isOutside
    - getMaxDistance
    linkageType: ''
    returnType: bool
    signature: bool LargestEmptyCircle::mayContainCircleCenter(const Cell& cell, const
      Cell& farthestCell)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:167,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:170,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 29
    functionsReached:
    - createPoint
    - distance
    - std::unique_ptr::get
    - locate
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(const Coordinate&
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 30
    functionsReached:
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: double
    signature: double LargestEmptyCircle::distanceToConstraints(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getCentroid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:191,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 7
    functionsReached:
    - Geometry*::getCentroid
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    linkageType: ''
    returnType: LargestEmptyCircle::Cell
    signature: LargestEmptyCircle::Cell LargestEmptyCircle::createCentroidCell(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:200,1
    - Dst: getDimension
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:202,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:203,1
    - Dst: detail::make_unique<operation::distance::IndexedFacetDistance>
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: geos::algorithm::construct::LargestEmptyCircle::initBoundary
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 7
    functionsReached:
    - getEnvelopeInternal
    - get
    - detail::make_unique<operation::distance::IndexedFacetDistance>
    - getDimension
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::initBoundary()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::LargestEmptyCircle::initBoundary
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:215,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:218,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:227,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:229,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:235,1
    - Dst: std::priority_queue::empty
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:237,1
    - Dst: std::priority_queue::top
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:240,1
    - Dst: std::priority_queue::pop
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:241,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:244,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: Cell::getDistance
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:248,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:259,1
    - Dst: Cell::getHSize
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:261,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:262,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:263,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:264,1
    - Dst: std::priority_queue::emplace
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:265,1
    - Dst: Cell::getX
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:271,1
    - Dst: Cell::getY
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:272,1
    - Dst: createPoint
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:275,1
    - Dst: nearestPoints
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:276,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 281
    functionName: geos::algorithm::construct::LargestEmptyCircle::compute
    functionSourceFile: /src/geos/src/algorithm/construct/LargestEmptyCircle.cpp
    functionUses: 24
    functionsReached:
    - createPoint
    - nearestPoints
    - getAt
    - geos::algorithm::construct::LargestEmptyCircle::mayContainCircleCenter
    - Cell::getX
    - geos::algorithm::construct::LargestEmptyCircle::initBoundary
    - std::priority_queue::top
    - std::priority_queue::emplace
    - geos::algorithm::construct::LargestEmptyCircle::createCentroidCell
    - getCoordinate
    - geos::algorithm::construct::MaximumInscribedCircle::computeMaximumIterations
    - std::priority_queue::empty
    - Cell::getY
    - Cell::getHSize
    - geos::algorithm::construct::LargestEmptyCircle::distanceToConstraints
    - std::unique_ptr::get
    - std::priority_queue::pop
    - geos::algorithm::construct::LargestEmptyCircle::createInitialGrid
    - get
    - GEOS_CHECK_FOR_INTERRUPTS
    - Cell::getDistance
    linkageType: ''
    returnType: void
    signature: void LargestEmptyCircle::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 1
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 1
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 2
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 2
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 3
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 3
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 4
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 4
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 5
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 5
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 6
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 6
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 7
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator(const
      Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:48,1
    - Dst: IndexedPointInAreaLocator::IndexedPointInAreaLocator
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:50,1
    - Dst: emplace_back
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:51,1
    - Dst: insert
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 7
    functionsReached:
    - IndexedPointInAreaLocator::IndexedPointInAreaLocator
    - insert
    - getEnvelopeInternal
    - emplace_back
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void IndexedPointInPolygonsLocator::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::init
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:59,1
    - Dst: query
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:62,1
    - Dst: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
      Src: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedPointInPolygonsLocator.cpp
    functionUses: 8
    functionsReached:
    - query
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::init
    - geos::algorithm::construct::IndexedPointInPolygonsLocator::locate
    linkageType: ''
    returnType: Location
    signature: Location IndexedPointInPolygonsLocator::locate(const CoordinateXY*
      /*const*/ pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 10
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 10
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 12
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 12
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 14
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 14
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:50,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:52,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:53,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:56,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isSupported
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - Polygon*::getNumInteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isSupported(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isTriangle(const Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - Polygon*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isQuadrilateral(const Polygon* polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:81,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:82,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:83,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:84,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:85,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:86,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeRadius
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    - Polygon*::getExteriorRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeRadius(const
      Polygon* polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::inCentre
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:94,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:96,1
    - Dst: LineSegment::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeTriangle
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::Triangle::inCentre
    - CoordinateSequence*::getAt
    - LineSegment::project
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeTriangle(const
      CoordinateSequence* ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:111,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:112,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:114,1
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:117,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:122,1
    - Dst: intersection
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:132,1
    - Dst: CoordinateXY::isNull
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:134,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:139,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:144,1
    - Dst: CoordinateXY::distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 156
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexQuadrilateral
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::reverse
    - CoordinateXY::isNull
    - intersection
    - geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    - CoordinateXY::distance
    - geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    - CoordinateSequence*::clone
    - CoordinateSequence*::getEnvelope
    linkageType: ''
    returnType: std::pair<CoordinateXY, CoordinateXY>
    signature: std::pair<CoordinateXY, CoordinateXY> ExactMaxInscribedCircle::computeConvexQuadrilateral(const
      CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptsCW
    - diameter
    argTypes:
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeBisectors
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    linkageType: ''
    returnType: std::array<LineSegment, 4>
    signature: "std::array<LineSegment, 4> ExactMaxInscribedCircle::computeBisectors(\n
      \   const CoordinateSequence* ptsCW, double diameter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:178,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:179,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:180,1
    - Dst: distance
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - ' pt'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::nearestEdgePt
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - distance
    - CoordinateSequence*::getAt
    - LineSegment::closestPoint
    - CoordinateSequence*::size
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY ExactMaxInscribedCircle::nearestEdgePt(const CoordinateSequence*
      ring,\n    const CoordinateXY& pt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:195,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:196,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:197,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:198,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:199,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:200,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:201,1
    - Dst: geos::algorithm::Angle::bisector
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:202,1
    - Dst: geos::algorithm::Angle::project
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:203,1
    - Dst: LineSegment
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pts
    - index
    - len
    argTypes:
    - CoordinateSequence*
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::computeConvexBisector
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    - geos::util::IllegalStateException
    - LineSegment
    - geos::algorithm::Angle::project
    - CoordinateSequence*::size
    - geos::algorithm::Angle::bisector
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment ExactMaxInscribedCircle::computeConvexBisector(\n    const
      CoordinateSequence* pts, std::size_t index, double len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:211,1
    - Dst: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 16
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const Polygon* polygon)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:223,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:230,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:231,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConvex
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 16
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool ExactMaxInscribedCircle::isConvex(const CoordinateSequence* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isConcave
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isConcave(const CoordinateXY& p0,\n
      \                                  const CoordinateXY& p1,\n                                   const
      CoordinateXY& p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:260,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:261,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:262,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ringCW
    - ' p'
    argTypes:
    - CoordinateSequence*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: geos::algorithm::construct::ExactMaxInscribedCircle::isPointInConvexRing
    functionSourceFile: /src/geos/src/algorithm/construct/ExactMaxInscribedCircle.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool ExactMaxInscribedCircle::isPointInConvexRing(const CoordinateSequence*
      ringCW,\n                                             const CoordinateXY& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 1
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 2
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 2
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 4
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 3
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 6
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 4
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 8
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 5
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 10
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 6
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 12
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 7
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::IndexedDistanceToPoint
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::IndexedDistanceToPoint(const Geometry&
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:40,1
    - Dst: reset
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    - Dst: IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::init
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 14
    functionsReached:
    - reset
    - IndexedFacetDistance::IndexedFacetDistance
    - IndexedPointInPolygonsLocator::IndexedPointInPolygonsLocator
    linkageType: ''
    returnType: void
    signature: void IndexedDistanceToPoint::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:47,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::distance
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::distance
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::distance
    - geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    linkageType: ''
    returnType: double
    signature: double IndexedDistanceToPoint::distance(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::isInArea
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 8
    functionsReached:
    - getCoordinate
    - locate
    linkageType: ''
    returnType: bool
    signature: bool IndexedDistanceToPoint::isInArea(const Point& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::init
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:65,1
    - Dst: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
      Src: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    functionSourceFile: /src/geos/src/algorithm/construct/IndexedDistanceToPoint.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::construct::IndexedDistanceToPoint::init
    - geos::algorithm::construct::IndexedDistanceToPoint::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> IndexedDistanceToPoint::nearestPoints(const
      Point& pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 1
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 1
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 1
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 3
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 3
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 3
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 5
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 5
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 5
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 7
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 7
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 7
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 9
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 9
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 9
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 11
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 11
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 11
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 13
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 13
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 13
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 14
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:43,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:44,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:48,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:49,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:50,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:52,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:53,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:54,1
    - Dst: isCollection
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:56,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:57,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:58,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:59,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:60,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' geom'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Geometry
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 15
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - getCoordinate
    - static_cast<const LineString*>
    - static_cast<const Polygon*>
    - static_cast<const GeometryCollection*>
    - setMinimum
    - isCollection
    - isEmpty
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getGeometryTypeId
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Geometry& geom,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:75,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:78,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:87,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:89,1
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:92,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' line'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineString
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 15
    functionsReached:
    - size
    - LineSegment::closestPoint
    - getAt
    - setMinimum
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineString& line,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestPoint
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:104,1
    - Dst: setMinimum
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' segment'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::LineSegment
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 15
    functionsReached:
    - setMinimum
    - closestPoint
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::LineSegment& segment,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:114,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:115,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/distance/DistanceToPoint.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' poly'
    - ' pt'
    - ' ptDist'
    argTypes:
    - geom::Polygon
    - geom::CoordinateXY
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: geos::algorithm::distance::DistanceToPoint::computeDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DistanceToPoint.cpp
    functionUses: 16
    functionsReached:
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: "void DistanceToPoint::computeDistance(const geom::Polygon& poly,\n
      \                                const geom::CoordinateXY& pt,\n                                 PointPairDistance&
      ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteFrechetDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:55,1
    - Dst: DiscreteFrechetDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 6
    functionsReached:
    - DiscreteFrechetDistance::setDensifyFraction
    - DiscreteFrechetDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteFrechetDistance::distance(const geom::Geometry& g0,\n
      \                                 const geom::Geometry& g1,\n                                  double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:66,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:67,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteFrechetDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:82,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:86,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:89,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:91,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:92,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:94,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:95,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::getSegmentAt
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::util::round
    - std::size_t
    - getAt
    - static_cast<double>
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate DiscreteFrechetDistance::getSegmentAt(const CoordinateSequence&
      seq, std::size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIsNull
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:109,1
    - Dst: PointPairDistance::initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getSegmentAt
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:112,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:117,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:118,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:121,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:122,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:125,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:126,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:127,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:128,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:129,1
    - Dst: getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    - Dst: PointPairDistance::getDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - ' ca'
    - i
    - j
    - ' p'
    - ' q'
    argTypes:
    - std::vector< std::vector<PointPairDistance> >
    - std::size_t
    - std::size_t
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: "&\nDiscreteFrechetDistance::getFrechetDistance(std::vector< std::vector<PointPairDistance>
      >& ca, std::size_t i, std::size_t j,\n        const CoordinateSequence& p, const
      CoordinateSequence& q)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - getDistance
    - getIsNull
    - PointPairDistance::initialize
    - getSegmentAt
    - PointPairDistance::getDistance
    - getFrechetDistance
    linkageType: ''
    returnType: PointPairDistance
    signature: "PointPairDistance &\nDiscreteFrechetDistance::getFrechetDistance(std::vector<
      std::vector<PointPairDistance> >& ca, std::size_t i, std::size_t j,\n        const
      CoordinateSequence& p, const CoordinateSequence& q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:143,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:144,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:147,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:148,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:150,1
    - Dst: getCoordinates
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:151,1
    - Dst: std::size_t
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:154,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:155,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:156,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:159,1
    - Dst: auto::size
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:160,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:165,1
    - Dst: getFrechetDistance
      Src: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' discreteGeom'
    - ' geom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: geos::algorithm::distance::DiscreteFrechetDistance::compute
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteFrechetDistance.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - getCoordinates
    - geos::util::round
    - std::size_t
    - geos::util::ensureNoCurvedComponents
    - initialize
    - geos::util::IllegalArgumentException
    - getFrechetDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteFrechetDistance::compute(\n    const geom::Geometry&
      discreteGeom,\n    const geom::Geometry& geom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:45,1
    - Dst: getAt
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:46,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:48,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:49,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:52,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:53,1
    - Dst: initialize
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:55,1
    - Dst: geos::algorithm::distance::DistanceToPoint::computeDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:56,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' seq'
    - index
    argTypes:
    - geom::CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: "DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - setMaximum
    - geos::algorithm::distance::DistanceToPoint::computeDistance
    - static_cast<double>
    - initialize
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::MaxDensifiedByFractionDistanceFilter::filter_ro(\n
      \   const geom::CoordinateSequence& seq, std::size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DiscreteHausdorffDistance::setDensifyFraction
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:78,1
    - Dst: DiscreteHausdorffDistance::distance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - densifyFrac
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::distance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 8
    functionsReached:
    - DiscreteHausdorffDistance::distance
    - DiscreteHausdorffDistance::setDensifyFraction
    linkageType: ''
    returnType: double
    signature: "double DiscreteHausdorffDistance::distance(const geom::Geometry& g0,\n
      \                                   const geom::Geometry& g1,\n                                    double
      densifyFrac)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:90,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:91,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - dFrac
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::setDensifyFraction
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - geos::util::IllegalArgumentException
    - geos::operation::intersection::xmax
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void DiscreteHausdorffDistance::setDensifyFraction(double dFrac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:106,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:107,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:110,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:113,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: MaxPointDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:114,1
    - Dst: apply_ro
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:119,1
    - Dst: setMaximum
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    - Dst: MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
      Src: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' discreteGeom'
    - ' geom'
    - ' p_ptDist'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    - PointPairDistance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: geos::algorithm::distance::DiscreteHausdorffDistance::computeOrientedDistance
    functionSourceFile: /src/geos/src/algorithm/distance/DiscreteHausdorffDistance.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    - MaxDensifiedByFractionDistanceFilter::getMaxPointDistance
    - geos::util::ensureNoCurvedComponents
    - setMaximum
    - MaxPointDistanceFilter::getMaxPointDistance
    - isEmpty
    linkageType: ''
    returnType: void
    signature: "void DiscreteHausdorffDistance::computeOrientedDistance(\n    const
      geom::Geometry& discreteGeom,\n    const geom::Geometry& geom,\n    PointPairDistance&
      p_ptDist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 11
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 9
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 9
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 9
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 14
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 10
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 10
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 10
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 11
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 10
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 17
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 12
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 11
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 11
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 11
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 11
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 13
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 12
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 20
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 14
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:59,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::ConcaveHull::ConcaveHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::ConcaveHull(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:68,1
    - Dst: static_cast<double>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:69,1
    - Dst: std::sqrt
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: geos::algorithm::hull::ConcaveHull::uniformEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getNumPoints
    - Geometry*::convexHull
    - std::sqrt
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double ConcaveHull::uniformEdgeLength(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(const Geometry*
      geom, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:90,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:91,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - maxLength
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 12
    functionsReached:
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::setMaximumEdgeLength
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLength(\n    const
      Geometry* geom,\n    double maxLength,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - lengthFactor
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:113,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:114,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - lengthFactor
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::algorithm::hull::ConcaveHull::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 12
    functionsReached:
    - ConcaveHull::setMaximumEdgeLengthRatio
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::concaveHullByLengthRatio(\n
      \   const Geometry* geom,\n    double lengthFactor,\n    bool holesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHull::setAlpha
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:126,1
    - Dst: ConcaveHull::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:127,1
    - Dst: ConcaveHull::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - geom
    - alpha
    - holesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: geos::algorithm::hull::ConcaveHull::alphaShape
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 2
    functionsReached:
    - ConcaveHull::setAlpha
    - ConcaveHull::setHolesAllowed
    - ConcaveHull::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHull::alphaShape(\n    const Geometry*
      geom,\n    double alpha,\n    bool holesAllowed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: geos::algorithm::hull::ConcaveHull::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - holesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::algorithm::hull::ConcaveHull::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setHolesAllowed(bool holesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newAlpha
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::algorithm::hull::ConcaveHull::setAlpha
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setAlpha(double newAlpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:174,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:175,1
    - Dst: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:178,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:179,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:182,1
    - Dst: TriList::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:184,1
    - Dst: convexHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:185,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:187,1
    - Dst: geos::algorithm::hull::ConcaveHull::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: geos::algorithm::hull::ConcaveHull::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 0
    functionsReached:
    - TriList::empty
    - geos::algorithm::hull::ConcaveHull::computeHull
    - createPolygon
    - geos::algorithm::hull::ConcaveHull::setSize
    - geos::algorithm::hull::ConcaveHull::toGeometry
    - geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    - geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    - convexHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setSizeToLongestEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:198,1
    - Dst: setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 15
    functionsReached:
    - setSizeToLongestEdge
    - setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: geos::algorithm::hull::ConcaveHull::isInHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 14
    functionsReached:
    - HullTri*::getSize
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isInHull(const HullTri* tri) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    - Dst: tut::test_group::run_next
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' triList'
    - edgeLengthRatio
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::ConcaveHull::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - getCoordinate
    - tut::test_group::run_next
    linkageType: ''
    returnType: double
    signature: "double ConcaveHull::computeTargetEdgeLength(\n    TriList<HullTri>&
      triList,\n    double edgeLengthRatio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:242,1
    - Dst: geos::algorithm::hull::ConcaveHull::computeHullHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: geos::algorithm::hull::ConcaveHull::computeHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::computeHullBorder
    - geos::algorithm::hull::ConcaveHull::computeHullHoles
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHull(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::createBorderQueue
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:255,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:258,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:260,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:261,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:263,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:266,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:268,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:269,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:270,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:272,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:275,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:276,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: geos::algorithm::hull::ConcaveHull::computeHullBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::createBorderQueue
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::isRemovableBorder
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullBorder(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' queue'
    - ' triList'
    argTypes:
    - HullTriQueue
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: geos::algorithm::hull::ConcaveHull::createBorderQueue
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::createBorderQueue(HullTriQueue& queue, TriList<HullTri>&
      triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:299,1
    - Dst: geos::algorithm::hull::ConcaveHull::setSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:300,1
    - Dst: push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - ' queue'
    argTypes:
    - HullTri*
    - HullTriQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: geos::algorithm::hull::ConcaveHull::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 23
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::setSize
    - push
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::addBorderTri(HullTri* tri, HullTriQueue& queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::setSizeToBoundary
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:310,1
    - Dst: HullTri*::setSizeToCircumradius
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: geos::algorithm::hull::ConcaveHull::setSize
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 16
    functionsReached:
    - HullTri*::setSizeToBoundary
    - HullTri*::setSizeToCircumradius
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::setSize(HullTri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHull::findCandidateHoles
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:320,1
    - Dst: isRemoved
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:323,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:324,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:325,1
    - Dst: geos::algorithm::hull::ConcaveHull::removeHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: geos::algorithm::hull::ConcaveHull::computeHullHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHull::findCandidateHoles
    - hasBoundaryTouch
    - isBorder
    - geos::algorithm::hull::ConcaveHull::removeHole
    - isRemoved
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::computeHullHoles(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:339,1
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:341,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:343,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    - Dst: geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - maxSizeInHull
    argTypes:
    - TriList<HullTri>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: geos::algorithm::hull::ConcaveHull::findCandidateHoles
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - hasBoundaryTouch
    - std::vector::begin
    - geos::algorithm::hull::HullTri::HullTriCompare::HullTriCompare
    - getSize
    - isBorder
    - std::vector::end
    - std::vector::push_back
    - std::sort
    linkageType: ''
    returnType: std::vector<HullTri*>
    signature: std::vector<HullTri*> ConcaveHull::findCandidateHoles(TriList<HullTri>&
      triList, double maxSizeInHull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HullTriQueue::push
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:362,1
    - Dst: HullTriQueue::empty
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:364,1
    - Dst: HullTriQueue::top
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:366,1
    - Dst: HullTriQueue::pop
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:367,1
    - Dst: geos::algorithm::hull::ConcaveHull::isInHull
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:369,1
    - Dst: geos::algorithm::hull::ConcaveHull::isRemovableHole
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:373,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:375,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:376,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:377,1
    - Dst: HullTri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:379,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:382,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:383,1
    - Dst: geos::algorithm::hull::ConcaveHull::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ' triList'
    - triHole
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: geos::algorithm::hull::ConcaveHull::removeHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - HullTriQueue::empty
    - HullTri*::remove
    - HullTriQueue::pop
    - geos::algorithm::hull::ConcaveHull::isRemovableHole
    - HullTriQueue::push
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTriQueue::top
    - geos::algorithm::hull::ConcaveHull::addBorderTri
    - geos::algorithm::hull::ConcaveHull::isInHull
    linkageType: ''
    returnType: void
    signature: void ConcaveHull::removeHole(TriList<HullTri>& triList, HullTri* triHole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:398,1
    - Dst: HullTri*::isConnecting
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableBorder
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - HullTri*::isConnecting
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableBorder(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HullTri*::numAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:415,1
    - Dst: HullTri*::hasBoundaryTouch
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: geos::algorithm::hull::ConcaveHull::isRemovableHole
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - HullTri*::hasBoundaryTouch
    - HullTri*::numAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHull::isRemovableHole(const HullTri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:431,1
    - Dst: geos::algorithm::hull::HullTriangulation::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHull.cpp:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: geos::algorithm::hull::ConcaveHull::toGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHull.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::HullTriangulation::geomunion
    - geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHull::toGeometry(TriList<HullTri>&
      triList, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 1
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 2
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 9
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 3
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 11
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 4
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 11
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 11
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 9
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 5
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 17
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 11
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 11
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 6
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 12
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 13
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 13
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 9
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 20
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 13
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 13
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 7
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:64,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:65,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:66,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - maxLength
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 14
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::getHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLength(\n
      \   const Geometry* polygons, double maxLength,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:84,1
    - Dst: ConcaveHullOfPolygons::setHolesAllowed
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:85,1
    - Dst: ConcaveHullOfPolygons::setTight
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:86,1
    - Dst: ConcaveHullOfPolygons::getHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - polygons
    - lengthRatio
    - isTight
    - isHolesAllowed
    argTypes:
    - Geometry*
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveHullByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 10
    functionsReached:
    - ConcaveHullOfPolygons::setTight
    - ConcaveHullOfPolygons::getHull
    - ConcaveHullOfPolygons::setHolesAllowed
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveHullByLengthRatio(\n
      \   const Geometry* polygons, double lengthRatio,\n    bool isTight, bool isHolesAllowed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:95,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - maxLength
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLength
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLength(const
      Geometry* polygons, double maxLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:104,1
    - Dst: ConcaveHullOfPolygons::getFill
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - polygons
    - lengthRatio
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::concaveFillByLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - ConcaveHullOfPolygons::getFill
    - ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::concaveFillByLengthRatio(const
      Geometry* polygons, double lengthRatio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:111,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:117,1
    - Dst: Geometry*::isPolygonal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:118,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::ConcaveHullOfPolygons
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - geos::util::IllegalArgumentException
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isPolygonal
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::ConcaveHullOfPolygons(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - edgeLength
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLength(double edgeLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - edgeLengthRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setMaximumEdgeLengthRatio
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setMaximumEdgeLengthRatio(double edgeLengthRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isHolesAllowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setHolesAllowed
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setHolesAllowed(bool p_isHolesAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isTight
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::setTight
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::setTight(bool p_isTight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: getArea
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:160,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:161,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:163,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - getArea
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getHull()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:172,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:173,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:175,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::getFill
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::getFill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 23
    functionsReached:
    - createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createEmptyHull()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShells
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:190,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:191,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:192,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:195,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:197,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:200,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:201,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::buildHullTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 16
    functionsReached:
    - std::unique_ptr::get
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    - geos::algorithm::hull::OuterShellsExtracter::extractShells
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    - getEnvelopeInternal
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    - std::unique_ptr::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::buildHullTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::getDiameter
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:209,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:211,1
    - Dst: toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:212,1
    - Dst: dynamic_cast<Polygon*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:213,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:215,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:216,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:219,1
    - Dst: createPolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - polygonsEnv
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createFrame
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - Envelope*::getDiameter
    - Envelope::expandBy
    - LinearRing*::clone
    - dynamic_cast<Polygon*>
    - toGeometry
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> ConcaveHullOfPolygons::createFrame(const Envelope*
      polygonsEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:235,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:237,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:242,1
    - Dst: getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ' tris'
    - frameCorners
    - edgeLengthRatio
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::computeTargetEdgeLength
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - getLength
    - hasAdjacent
    linkageType: ''
    returnType: double
    signature: "double ConcaveHullOfPolygons::computeTargetEdgeLength(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners,\n    double edgeLengthRatio)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tri
    - frameCorners
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 15
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    linkageType: ''
    returnType: bool
    signature: "bool ConcaveHullOfPolygons::isFrameTri(\n    const Tri* tri,\n    const
      CoordinateSequence* frameCorners) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:276,1
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:277,1
    - Dst: getTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:278,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:279,1
    - Dst: geos::triangulate::tri::Tri::oppEdge
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:288,1
    - Dst: getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:289,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:290,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:292,1
    - Dst: remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:294,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' tris'
    - frameCorners
    argTypes:
    - TriList<Tri>
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 301
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeFrameCornerTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - insert
    - getTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    - clear
    - getAdjacent
    - geos::algorithm::hull::ConcaveHullOfPolygons::isFrameTri
    - geos::triangulate::tri::Tri::oppEdge
    - remove
    linkageType: ''
    returnType: void
    signature: "void ConcaveHullOfPolygons::removeFrameCornerTris(\n    TriList<Tri>&
      tris,\n    const CoordinateSequence* frameCorners)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:309,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:310,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tri
    - pts
    argTypes:
    - Tri*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::vertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 16
    functionsReached:
    - Tri*::getIndex
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: TriIndex
    signature: "TriIndex ConcaveHullOfPolygons::vertexIndex(\n    const Tri* tri,\n
      \   const CoordinateSequence* pts) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:322,1
    - Dst: back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:323,1
    - Dst: pop_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:324,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:326,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:329,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:330,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 15
    functionsReached:
    - pop_back
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    - back
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:341,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:344,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:345,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeHoleTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTris
    - geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeHoleTris()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::findHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      ConcaveHullOfPolygons::findHoleSeedTri() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:365,1
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:368,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isHoleSeedTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    - Tri*::getLength
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isHoleSeedTri(const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::hasAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - Tri*::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isBorderTri(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:391,1
    - Dst: find
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: const_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:395,1
    - Dst: end
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:396,1
    - Dst: Tri*::getLength
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isRemovable
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - find
    - geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    - const_cast<Tri*>
    - Tri*::getLength
    - end
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isRemovable(const Tri* tri) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:410,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:413,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::isTouchingSinglePolygon
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::isTouchingSinglePolygon(const Tri* tri)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:425,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:426,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTris
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 16
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTris(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:434,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:437,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:438,1
    - Dst: insert
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::addBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 16
    functionsReached:
    - Tri*::getIndex
    - insert
    - Tri*::getAdjacent
    - push_back
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::addBorderTri(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::remove
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:446,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:447,1
    - Dst: erase
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::removeBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 16
    functionsReached:
    - Tri*::remove
    - erase
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::removeBorderTri(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:456,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - tri
    argTypes:
    - LinearRing*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasAllVertices
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    - Tri*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasAllVertices(const LinearRing* ring,
      const Tri* tri) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:468,1
    - Dst: equals2D
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    - Dst: LinearRing*::getCoordinateN
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - ' v'
    argTypes:
    - LinearRing*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::hasVertex
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - LinearRing*::getNumPoints
    - LinearRing*::getCoordinateN
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool ConcaveHullOfPolygons::hasVertex(const LinearRing* ring, const
      Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:480,1
    - Dst: expandToInclude
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tri
    - ' env'
    argTypes:
    - Tri*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::envelope
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 8
    functionsReached:
    - expandToInclude
    - init
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void ConcaveHullOfPolygons::envelope(const Tri* tri, Envelope& env)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:489,1
    - Dst: geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:490,1
    - Dst: geos::triangulate::tri::Tri::toGeometry
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:493,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:495,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:500,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:501,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:505,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: clone
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:506,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:508,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - isIncludeInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 511
    functionName: geos::algorithm::hull::ConcaveHullOfPolygons::createHullGeometry
    functionSourceFile: /src/geos/src/algorithm/hull/ConcaveHullOfPolygons.cpp
    functionUses: 16
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr::get
    - std::unique_ptr::isEmpty
    - createGeometryCollection
    - geos::operation::overlayng::CoverageUnion::geomunion
    - geos::triangulate::tri::Tri::toGeometry
    - std::unique_ptr::release
    - geos::algorithm::hull::ConcaveHullOfPolygons::createEmptyHull
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConcaveHullOfPolygons::createHullGeometry(bool
      isIncludeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 1
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 1
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 1
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 2
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 2
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 2
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 3
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 3
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 3
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 4
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 4
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 4
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 5
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 5
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 5
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 6
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 6
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 6
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 7
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 7
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 7
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DelaunayTriangulationBuilder::setSites
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:58,1
    - Dst: DelaunayTriangulationBuilder::getSubdivision
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:59,1
    - Dst: geos::algorithm::hull::HullTriangulation::toTris
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - ' triList'
    argTypes:
    - Geometry*
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: geos::algorithm::hull::HullTriangulation::createDelaunayTriangulation
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - DelaunayTriangulationBuilder::setSites
    - DelaunayTriangulationBuilder::getSubdivision
    - geos::algorithm::hull::HullTriangulation::toTris
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::createDelaunayTriangulation(\n    const Geometry*
      geom,\n    TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: visitTriangles
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:72,1
    - Dst: TriangulationBuilder::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    - Dst: static_cast<Tri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' subdiv'
    - ' triList'
    argTypes:
    - QuadEdgeSubdivision
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::algorithm::hull::HullTriangulation::toTris
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - visitTriangles
    - static_cast<Tri*>
    - TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::toTris(\n    QuadEdgeSubdivision& subdiv,\n
      \   TriList<HullTri>& triList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:91,1
    - Dst: GeometryFactory*::buildGeometry
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:93,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: geos::algorithm::hull::HullTriangulation::geomunion
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - GeometryFactory*::buildGeometry
    - geos::operation::overlayng::CoverageUnion::geomunion
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::geomunion(\n    TriList<HullTri>&
      triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:104,1
    - Dst: HullTri*::toPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:106,1
    - Dst: geos::algorithm::hull::HullTriangulation::traceBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:108,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    - Dst: std::move
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - factory
    argTypes:
    - TriList<HullTri>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundaryPolygon
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::algorithm::hull::HullTriangulation::traceBoundary
    - HullTri*::toPolygon
    - GeometryFactory*::createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> HullTriangulation::traceBoundaryPolygon(\n
      \   TriList<HullTri>& triList,\n    const GeometryFactory* factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTriangulation::findBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:117,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:119,1
    - Dst: HullTri*::boundaryIndexCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:124,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:125,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:127,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: HullTri*::getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:128,1
    - Dst: geos::algorithm::hull::HullTriangulation::nextBorderTri
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:132,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: geos::algorithm::hull::HullTriangulation::traceBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence::add
    - geos::algorithm::hull::HullTriangulation::nextBorderTri
    - geos::algorithm::hull::HullTriangulation::findBorderTri
    - geos::triangulate::tri::Tri::next
    - CoordinateSequence::CoordinateSequence
    - HullTri*::getCoordinate
    - CoordinateSequence::closeRing
    - HullTri*::isBoundary
    - HullTri*::boundaryIndexCCW
    linkageType: ''
    returnType: CoordinateSequence
    signature: CoordinateSequence HullTriangulation::traceBoundary(TriList<HullTri>&
      triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isBorder
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:144,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTriangulation::findBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - isBorder
    - geos::util::Assert::shouldNeverReachHere
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::findBorderTri(TriList<HullTri>& triList)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: HullTri*::boundaryIndexCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:157,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:160,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:162,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::getIndex
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:164,1
    - Dst: HullTri*::isBoundary
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - triStart
    argTypes:
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::algorithm::hull::HullTriangulation::nextBorderTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 8
    functionsReached:
    - HullTri*::boundaryIndexCW
    - geos::triangulate::tri::Tri::next
    - HullTri*::getIndex
    - geos::util::IllegalStateException
    - static_cast<HullTri*>
    - HullTri*::getAdjacent
    - HullTri*::isBoundary
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTriangulation::nextBorderTri(HullTri* triStart)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:178,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:179,1
    - Dst: orig
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:180,1
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:181,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:182,1
    - Dst: add
      Src: /src/geos/src/algorithm/hull/HullTriangulation.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: "HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
    functionSourceFile: /src/geos/src/algorithm/hull/HullTriangulation.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::isCCW
    - add
    - orig
    linkageType: ''
    returnType: void
    signature: "void HullTriangulation::HullTriVisitor::visit(\n    std::array<QuadEdge*,
      3>& triEdges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 1
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 2
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 3
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 8
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 4
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 10
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 5
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 12
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 6
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geos::algorithm::hull::HullTri::getSize
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double HullTri::getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::algorithm::hull::HullTri::setSizeToBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfBoundary
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::lengthOfLongestEdge
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::hull::HullTri::setSizeToLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::lengthOfLongestEdge
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToLongestEdge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::circumradius
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: geos::algorithm::hull::HullTri::setSizeToCircumradius
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::circumradius
    linkageType: ''
    returnType: void
    signature: void HullTri::setSizeToCircumradius()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::algorithm::hull::HullTri::isMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isMarked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - marked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::algorithm::hull::HullTri::setMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HullTri::setMarked(bool marked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::algorithm::hull::HullTri::isRemoved
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isRemoved()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:81,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:82,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::HullTri::boundaryIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 14
    functionsReached:
    - isBoundary
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:91,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:93,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - geos::algorithm::hull::HullTri::boundaryIndex
    - prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCCW() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::boundaryIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:104,1
    - Dst: next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:106,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: geos::algorithm::hull::HullTri::boundaryIndexCW
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isBoundary
    - next
    - geos::algorithm::hull::HullTri::boundaryIndex
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::boundaryIndexCW() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::adjacent2VertexIndex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:117,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: geos::algorithm::hull::HullTri::isConnecting
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - isInteriorVertex
    - geos::algorithm::hull::HullTri::adjacent2VertexIndex
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnecting() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:126,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:127,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::algorithm::hull::HullTri::adjacent2VertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 8
    functionsReached:
    - hasAdjacent
    linkageType: ''
    returnType: int
    signature: int HullTri::adjacent2VertexIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: degree
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: geos::algorithm::hull::HullTri::isolatedVertexIndex
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - degree
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex HullTri::isolatedVertexIndex(TriList<HullTri>& triList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::longestSideLength
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::algorithm::hull::HullTri::lengthOfLongestEdge
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::Triangle::longestSideLength
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfLongestEdge() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: geos::algorithm::hull::HullTri::lengthOfBoundary
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - hasAdjacent
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double HullTri::lengthOfBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isBoundaryTouch
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: geos::algorithm::hull::HullTri::hasBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::hull::HullTri::isBoundaryTouch
    linkageType: ''
    returnType: bool
    signature: bool HullTri::hasBoundaryTouch() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:179,1
    - Dst: isBoundary
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: prev
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:180,1
    - Dst: isInteriorVertex
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: geos::algorithm::hull::HullTri::isBoundaryTouch
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 8
    functionsReached:
    - isBoundary
    - isInteriorVertex
    - prev
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isBoundaryTouch(TriIndex index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: geos::algorithm::hull::HullTri::findTri
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: HullTri
    signature: 'HullTri *

      HullTri::findTri(TriList<HullTri>& triList, Tri* exceptTri)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::algorithm::hull::HullTri::isAllMarked
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::HullTri::isMarked
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isAllMarked(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: geos::algorithm::hull::HullTri::clearMarks
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::HullTri::setMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::clearMarks(TriList<HullTri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:220,1
    - Dst: std::deque::empty
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:221,1
    - Dst: std::deque::front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:222,1
    - Dst: std::deque::pop_front
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:223,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:224,1
    - Dst: static_cast<HullTri*>
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::getAdjacent
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:226,1
    - Dst: HullTri*::isMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:231,1
    - Dst: std::deque::push_back
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - triStart
    - exceptTri
    argTypes:
    - HullTri*
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 236
    functionName: geos::algorithm::hull::HullTri::markConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 7
    functionsReached:
    - static_cast<HullTri*>
    - std::deque::front
    - HullTri*::getAdjacent
    - HullTri*::setMarked
    - std::deque::empty
    - std::deque::push_back
    - std::deque::pop_front
    - HullTri*::isMarked
    linkageType: ''
    returnType: void
    signature: void HullTri::markConnected(HullTri* triStart, HullTri* exceptTri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:242,1
    - Dst: geos::algorithm::hull::HullTri::clearMarks
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:243,1
    - Dst: geos::algorithm::hull::HullTri::findTri
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:244,1
    - Dst: geos::algorithm::hull::HullTri::markConnected
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:246,1
    - Dst: HullTri*::setMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:247,1
    - Dst: geos::algorithm::hull::HullTri::isAllMarked
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' triList'
    - exceptTri
    argTypes:
    - TriList<HullTri>
    - HullTri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: geos::algorithm::hull::HullTri::isConnected
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::HullTri::clearMarks
    - geos::algorithm::hull::HullTri::markConnected
    - geos::algorithm::hull::HullTri::isAllMarked
    - HullTri*::setMarked
    - geos::algorithm::hull::HullTri::findTri
    linkageType: ''
    returnType: bool
    signature: bool HullTri::isConnected(TriList<HullTri>& triList, HullTri* exceptTri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' ht'
    argTypes:
    - std::ostream
    - HullTri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: '&

      operator<<(std::ostream& os, const HullTri& ht)'
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const HullTri& ht)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:269,1
    - Dst: geos::algorithm::hull::HullTri::remove
      Src: /src/geos/src/algorithm/hull/HullTri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<HullTri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: geos::algorithm::hull::HullTri::remove
    functionSourceFile: /src/geos/src/algorithm/hull/HullTri.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::HullTri::remove
    linkageType: ''
    returnType: void
    signature: void HullTri::remove(TriList<HullTri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 1
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 1
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 2
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 2
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 3
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 3
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 4
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 4
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 5
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 5
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 6
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 6
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 7
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 7
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OuterShellsExtracter::extractOuterShells
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - polygons
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - OuterShellsExtracter::extractOuterShells
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShells(const Geometry* polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::algorithm::hull::OuterShellsExtracter::OuterShellsExtracter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::OuterShellsExtracter(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:48,1
    - Dst: std::sort
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::begin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::end
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:50,1
    - Dst: std::vector::rbegin
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: std::vector::rend
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:53,1
    - Dst: size
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:55,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isOuter
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:56,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' outerShells'
    argTypes:
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractOuterShells
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    - geos::algorithm::hull::OuterShellsExtracter::isOuter
    - std::vector::begin
    - push_back
    - std::vector::rbegin
    - std::vector::end
    - std::vector::rend
    - std::sort
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractOuterShells(std::vector<const LinearRing*>&
      outerShells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:67,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::algorithm::hull::OuterShellsExtracter::envelopeAreaComparator
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: "bool OuterShellsExtracter::envelopeAreaComparator(\n        const
      LinearRing* g1,\n        const LinearRing* g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::hull::OuterShellsExtracter::covers
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shell'
    - ' outerShells'
    argTypes:
    - LinearRing
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: geos::algorithm::hull::OuterShellsExtracter::isOuter
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::covers
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isOuter(const LinearRing& shell, std::vector<const
      LinearRing*>& outerShells)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:92,1
    - Dst: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' shellA'
    - ' shellB'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: geos::algorithm::hull::OuterShellsExtracter::covers
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::covers(const LinearRing& shellA, const LinearRing&
      shellB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:104,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' shellRing'
    argTypes:
    - LinearRing
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: geos::algorithm::hull::OuterShellsExtracter::isPointInRing
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::PointLocation::isInRing
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool OuterShellsExtracter::isPointInRing(const LinearRing& shell, const
      LinearRing& shellRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:111,1
    - Dst: getNumGeometries
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:112,1
    - Dst: getGeometryN
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:113,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:114,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:115,1
    - Dst: push_back
      Src: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' polygons'
    - ' shells'
    argTypes:
    - Geometry
    - std::vector<const LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::algorithm::hull::OuterShellsExtracter::extractShellRings
    functionSourceFile: /src/geos/src/algorithm/hull/OuterShellsExtracter.cpp
    functionUses: 8
    functionsReached:
    - getGeometryN
    - static_cast<const Polygon*>
    - push_back
    - clear
    - getNumGeometries
    - Polygon*::getExteriorRing
    linkageType: ''
    returnType: void
    signature: void OuterShellsExtracter::extractShellRings(const Geometry& polygons,
      std::vector<const LinearRing*>& shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 1
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 2
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 3
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 4
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 5
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 6
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::IntervalIndexedGeometry(const
      geom::Geometry& g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::LinearComponentExtracter::getLines
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:51,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:57,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:60,1
    - Dst: isClosed
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:66,1
    - Dst: addLine
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const geom::Geometry&
      g)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::geom::util::LinearComponentExtracter::getLines
    - isClosed
    - addLine
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::init(const
      geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::size
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:76,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:77,1
    - Dst: std::minmax
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: SegmentView::p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:78,1
    - Dst: insert
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    - Dst: geos::index::strtree::Interval
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - geom::CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - SegmentView::p0
    - insert
    - geom::CoordinateSequence*::size
    - std::minmax
    - SegmentView::p1
    - geos::index::strtree::Interval
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IntervalIndexedGeometry::addLine(const
      geom::CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<IntervalIndexedGeometry>
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 7
    functionsReached:
    - detail::make_unique<IntervalIndexedGeometry>
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::buildIndex(const geom::Geometry& g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::IndexedPointInAreaLocator
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry&
      g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:108,1
    - Dst: query
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:113,1
    - Dst: algorithm::RayCrossingCounter::countSegment
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p0
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: p1
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:114,1
    - Dst: algorithm::RayCrossingCounter::getLocation
      Src: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: geos::algorithm::locate::IndexedPointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/IndexedPointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::IndexedPointInAreaLocator::buildIndex
    - p1
    - p0
    - algorithm::RayCrossingCounter::countSegment
    - query
    - algorithm::RayCrossingCounter::getLocation
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location IndexedPointInAreaLocator::locate(const geom::CoordinateXY*
      /*const*/ p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 12
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 14
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locate
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 11
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locate(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::isContained
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: bool SimplePointInAreaLocator::isContained(const CoordinateXY& p, const
      Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:55,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:58,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:62,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:63,1
    - Dst: static_cast<const Surface*>
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:65,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:66,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:69,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:70,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ' p'
    - geom
    argTypes:
    - CoordinateXY
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 16
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - static_cast<const Surface*>
    - geos::algorithm::locate::SimplePointInAreaLocator::locateInGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locateInGeometry(const CoordinateXY&
      p, const Geometry* geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:83,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:86,1
    - Dst: getExteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:89,1
    - Dst: geos::algorithm::PointLocation::locateInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:90,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:96,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:98,1
    - Dst: geos::algorithm::RayCrossingCounter::locatePointInRing
      Src: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p'
    - ' surface'
    argTypes:
    - CoordinateXY
    - Surface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    functionSourceFile: /src/geos/src/algorithm/locate/SimplePointInAreaLocator.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::RayCrossingCounter::locatePointInRing
    - getNumInteriorRing
    - getInteriorRingN
    - getEnvelopeInternal
    - getExteriorRing
    - isEmpty
    - geos::algorithm::PointLocation::locateInRing
    linkageType: ''
    returnType: geom::Location
    signature: geom::Location SimplePointInAreaLocator::locatePointInSurface(const
      CoordinateXY& p, const Surface& surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::dissolve::DissolveHalfEdge::isStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DissolveHalfEdge::isStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::dissolve::DissolveHalfEdge::setStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DissolveHalfEdge::setStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::dissolve::DissolveHalfEdge::isStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DissolveHalfEdge::isStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::dissolve::DissolveHalfEdge::setStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DissolveHalfEdge::setStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::dissolve::DissolveHalfEdge::isStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DissolveHalfEdge::isStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::dissolve::DissolveHalfEdge::setStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DissolveHalfEdge::setStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::dissolve::DissolveHalfEdge::isStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DissolveHalfEdge::isStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::dissolve::DissolveHalfEdge::setStart
    functionSourceFile: /src/geos/src/dissolve/DissolveHalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DissolveHalfEdge::setStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:33,1
    - Dst: back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::dissolve::DissolveEdgeGraph::createEdge
    functionSourceFile: /src/geos/src/dissolve/DissolveEdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      DissolveEdgeGraph::createEdge(const CoordinateXYZM& p0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:33,1
    - Dst: back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::dissolve::DissolveEdgeGraph::createEdge
    functionSourceFile: /src/geos/src/dissolve/DissolveEdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      DissolveEdgeGraph::createEdge(const CoordinateXYZM& p0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:33,1
    - Dst: back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::dissolve::DissolveEdgeGraph::createEdge
    functionSourceFile: /src/geos/src/dissolve/DissolveEdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      DissolveEdgeGraph::createEdge(const CoordinateXYZM& p0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:33,1
    - Dst: back
      Src: /src/geos/src/dissolve/DissolveEdgeGraph.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p0'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::dissolve::DissolveEdgeGraph::createEdge
    functionSourceFile: /src/geos/src/dissolve/DissolveEdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      DissolveEdgeGraph::createEdge(const CoordinateXYZM& p0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:44,1
    - Dst: LineDissolver::getResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::dissolve::LineDissolver::dissolve
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - LineDissolver::getResult
    - LineDissolver::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::dissolve(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/dissolve/LineDissolver.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - geos::dissolve::LineDissolver::add
    - Geometry*::apply_ro
    - static_cast<const LineString*>
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ld
    argTypes:
    - LineDissolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: geos::dissolve::LineStringFilter
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringFilter(LineDissolver* ld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::dissolve::filter_ro
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - add
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geometries
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - geos::dissolve::LineDissolver::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(std::vector<const Geometry*> geometries)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getFactory
      Src: /src/geos/src/dissolve/LineDissolver.cpp:87,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/dissolve/LineDissolver.cpp:89,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/dissolve/LineDissolver.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:94,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: addEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: DissolveHalfEdge*::setStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - lineString
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getFactory
    - addEdge
    - DissolveHalfEdge*::setStart
    - static_cast<DissolveHalfEdge*>
    - CoordinateSequence*::size
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const LineString* lineString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::computeResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::dissolve::LineDissolver::getResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::dissolve::LineDissolver::computeResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::getResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVertexEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:125,1
    - Dst: const_cast<HalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:128,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:129,1
    - Dst: geos::dissolve::LineDissolver::process
      Src: /src/geos/src/dissolve/LineDissolver.cpp:130,1
    - Dst: buildGeometry
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: geos::dissolve::LineDissolver::computeResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - const_cast<HalfEdge*>
    - geos::edgegraph::MarkHalfEdge::isMarked
    - buildGeometry
    - std::move
    - getVertexEdges
    - geos::dissolve::LineDissolver::process
    linkageType: ''
    returnType: void
    signature: void LineDissolver::computeResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::prevNode
      Src: /src/geos/src/dissolve/LineDissolver.cpp:140,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:144,1
    - Dst: geos::dissolve::LineDissolver::buildLines
      Src: /src/geos/src/dissolve/LineDissolver.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: geos::dissolve::LineDissolver::process
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - HalfEdge*::prevNode
    - geos::dissolve::LineDissolver::stackEdges
    - geos::dissolve::LineDissolver::buildLines
    linkageType: ''
    returnType: void
    signature: void LineDissolver::process(HalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:156,1
    - Dst: push
      Src: /src/geos/src/dissolve/LineDissolver.cpp:157,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/dissolve/LineDissolver.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: geos::dissolve::LineDissolver::stackEdges
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - HalfEdge*::oNext
    - push
    - geos::edgegraph::MarkHalfEdge::isMarked
    linkageType: ''
    returnType: void
    signature: void LineDissolver::stackEdges(HalfEdge* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/dissolve/LineDissolver.cpp:167,1
    - Dst: top
      Src: /src/geos/src/dissolve/LineDissolver.cpp:168,1
    - Dst: pop
      Src: /src/geos/src/dissolve/LineDissolver.cpp:169,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:170,1
    - Dst: geos::dissolve::LineDissolver::buildLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: geos::dissolve::LineDissolver::buildLines
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - geos::dissolve::LineDissolver::buildLine
    - top
    - geos::edgegraph::MarkHalfEdge::isMarked
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLines()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:181,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:183,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    - Dst: orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - DissolveHalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: geos::dissolve::LineDissolver::updateRingStartEdge
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - DissolveHalfEdge*::orig
    - DissolveHalfEdge*::isStart
    - DissolveHalfEdge*::sym
    - orig
    - static_cast<DissolveHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void LineDissolver::updateRingStartEdge(DissolveHalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:200,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:201,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:204,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:208,1
    - Dst: geos::dissolve::LineDissolver::updateRingStartEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:209,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: DissolveHalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: geos::dissolve::LineDissolver::buildRing
      Src: /src/geos/src/dissolve/LineDissolver.cpp:213,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:221,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: DissolveHalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - eStart
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 231
    functionName: geos::dissolve::LineDissolver::buildLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - geos::dissolve::LineDissolver::updateRingStartEdge
    - CoordinateSequence::CoordinateSequence
    - DissolveHalfEdge*::dest
    - DissolveHalfEdge*::orig
    - geos::dissolve::LineDissolver::buildRing
    - DissolveHalfEdge*::sym
    - DissolveHalfEdge*::next
    - geos::edgegraph::MarkHalfEdge::markBoth
    - geos::dissolve::LineDissolver::stackEdges
    - static_cast<DissolveHalfEdge*>
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLine(HalfEdge* eStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:238,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:245,1
    - Dst: HalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:246,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - eStartRing
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: geos::dissolve::LineDissolver::buildRing
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - HalfEdge*::orig
    - HalfEdge*::dest
    - CoordinateSequence::CoordinateSequence
    - HalfEdge*::next
    - HalfEdge*::sym
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildRing(HalfEdge* eStartRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    - Dst: auto::release
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: geos::dissolve::LineDissolver::addLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - auto::release
    - createLineString
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void LineDissolver::addLine(std::unique_ptr<CoordinateSequence>& cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:44,1
    - Dst: LineDissolver::getResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::dissolve::LineDissolver::dissolve
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - LineDissolver::getResult
    - LineDissolver::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::dissolve(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/dissolve/LineDissolver.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - geos::dissolve::LineDissolver::add
    - Geometry*::apply_ro
    - static_cast<const LineString*>
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ld
    argTypes:
    - LineDissolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: geos::dissolve::LineStringFilter
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringFilter(LineDissolver* ld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::dissolve::filter_ro
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - add
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geometries
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - geos::dissolve::LineDissolver::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(std::vector<const Geometry*> geometries)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getFactory
      Src: /src/geos/src/dissolve/LineDissolver.cpp:87,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/dissolve/LineDissolver.cpp:89,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/dissolve/LineDissolver.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:94,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: addEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: DissolveHalfEdge*::setStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - lineString
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getFactory
    - addEdge
    - DissolveHalfEdge*::setStart
    - static_cast<DissolveHalfEdge*>
    - CoordinateSequence*::size
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const LineString* lineString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::computeResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::dissolve::LineDissolver::getResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::dissolve::LineDissolver::computeResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::getResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVertexEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:125,1
    - Dst: const_cast<HalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:128,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:129,1
    - Dst: geos::dissolve::LineDissolver::process
      Src: /src/geos/src/dissolve/LineDissolver.cpp:130,1
    - Dst: buildGeometry
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: geos::dissolve::LineDissolver::computeResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - const_cast<HalfEdge*>
    - geos::edgegraph::MarkHalfEdge::isMarked
    - buildGeometry
    - std::move
    - getVertexEdges
    - geos::dissolve::LineDissolver::process
    linkageType: ''
    returnType: void
    signature: void LineDissolver::computeResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::prevNode
      Src: /src/geos/src/dissolve/LineDissolver.cpp:140,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:144,1
    - Dst: geos::dissolve::LineDissolver::buildLines
      Src: /src/geos/src/dissolve/LineDissolver.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: geos::dissolve::LineDissolver::process
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - HalfEdge*::prevNode
    - geos::dissolve::LineDissolver::stackEdges
    - geos::dissolve::LineDissolver::buildLines
    linkageType: ''
    returnType: void
    signature: void LineDissolver::process(HalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:156,1
    - Dst: push
      Src: /src/geos/src/dissolve/LineDissolver.cpp:157,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/dissolve/LineDissolver.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: geos::dissolve::LineDissolver::stackEdges
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - HalfEdge*::oNext
    - push
    - geos::edgegraph::MarkHalfEdge::isMarked
    linkageType: ''
    returnType: void
    signature: void LineDissolver::stackEdges(HalfEdge* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/dissolve/LineDissolver.cpp:167,1
    - Dst: top
      Src: /src/geos/src/dissolve/LineDissolver.cpp:168,1
    - Dst: pop
      Src: /src/geos/src/dissolve/LineDissolver.cpp:169,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:170,1
    - Dst: geos::dissolve::LineDissolver::buildLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: geos::dissolve::LineDissolver::buildLines
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - geos::dissolve::LineDissolver::buildLine
    - top
    - geos::edgegraph::MarkHalfEdge::isMarked
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLines()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:181,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:183,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    - Dst: orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - DissolveHalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: geos::dissolve::LineDissolver::updateRingStartEdge
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 1
    functionsReached:
    - DissolveHalfEdge*::orig
    - DissolveHalfEdge*::isStart
    - DissolveHalfEdge*::sym
    - orig
    - static_cast<DissolveHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void LineDissolver::updateRingStartEdge(DissolveHalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:200,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:201,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:204,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:208,1
    - Dst: geos::dissolve::LineDissolver::updateRingStartEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:209,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: DissolveHalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: geos::dissolve::LineDissolver::buildRing
      Src: /src/geos/src/dissolve/LineDissolver.cpp:213,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:221,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: DissolveHalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - eStart
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 231
    functionName: geos::dissolve::LineDissolver::buildLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - geos::dissolve::LineDissolver::updateRingStartEdge
    - CoordinateSequence::CoordinateSequence
    - DissolveHalfEdge*::dest
    - DissolveHalfEdge*::orig
    - geos::dissolve::LineDissolver::buildRing
    - DissolveHalfEdge*::sym
    - DissolveHalfEdge*::next
    - geos::edgegraph::MarkHalfEdge::markBoth
    - geos::dissolve::LineDissolver::stackEdges
    - static_cast<DissolveHalfEdge*>
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLine(HalfEdge* eStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:238,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:245,1
    - Dst: HalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:246,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - eStartRing
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: geos::dissolve::LineDissolver::buildRing
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - HalfEdge*::orig
    - HalfEdge*::dest
    - CoordinateSequence::CoordinateSequence
    - HalfEdge*::next
    - HalfEdge*::sym
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildRing(HalfEdge* eStartRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    - Dst: auto::release
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: geos::dissolve::LineDissolver::addLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - auto::release
    - createLineString
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void LineDissolver::addLine(std::unique_ptr<CoordinateSequence>& cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:44,1
    - Dst: LineDissolver::getResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::dissolve::LineDissolver::dissolve
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - LineDissolver::getResult
    - LineDissolver::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::dissolve(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/dissolve/LineDissolver.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 5
    functionsReached:
    - geos::dissolve::LineDissolver::add
    - Geometry*::apply_ro
    - static_cast<const LineString*>
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ld
    argTypes:
    - LineDissolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: geos::dissolve::LineStringFilter
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringFilter(LineDissolver* ld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::dissolve::filter_ro
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - add
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geometries
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 6
    functionsReached:
    - geos::dissolve::LineDissolver::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(std::vector<const Geometry*> geometries)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getFactory
      Src: /src/geos/src/dissolve/LineDissolver.cpp:87,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/dissolve/LineDissolver.cpp:89,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/dissolve/LineDissolver.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:94,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: addEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: DissolveHalfEdge*::setStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - lineString
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getFactory
    - addEdge
    - DissolveHalfEdge*::setStart
    - static_cast<DissolveHalfEdge*>
    - CoordinateSequence*::size
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const LineString* lineString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::computeResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::dissolve::LineDissolver::getResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::dissolve::LineDissolver::computeResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::getResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVertexEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:125,1
    - Dst: const_cast<HalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:128,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:129,1
    - Dst: geos::dissolve::LineDissolver::process
      Src: /src/geos/src/dissolve/LineDissolver.cpp:130,1
    - Dst: buildGeometry
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: geos::dissolve::LineDissolver::computeResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - const_cast<HalfEdge*>
    - geos::edgegraph::MarkHalfEdge::isMarked
    - buildGeometry
    - std::move
    - getVertexEdges
    - geos::dissolve::LineDissolver::process
    linkageType: ''
    returnType: void
    signature: void LineDissolver::computeResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::prevNode
      Src: /src/geos/src/dissolve/LineDissolver.cpp:140,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:144,1
    - Dst: geos::dissolve::LineDissolver::buildLines
      Src: /src/geos/src/dissolve/LineDissolver.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: geos::dissolve::LineDissolver::process
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - HalfEdge*::prevNode
    - geos::dissolve::LineDissolver::stackEdges
    - geos::dissolve::LineDissolver::buildLines
    linkageType: ''
    returnType: void
    signature: void LineDissolver::process(HalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:156,1
    - Dst: push
      Src: /src/geos/src/dissolve/LineDissolver.cpp:157,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/dissolve/LineDissolver.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: geos::dissolve::LineDissolver::stackEdges
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 5
    functionsReached:
    - HalfEdge*::oNext
    - push
    - geos::edgegraph::MarkHalfEdge::isMarked
    linkageType: ''
    returnType: void
    signature: void LineDissolver::stackEdges(HalfEdge* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/dissolve/LineDissolver.cpp:167,1
    - Dst: top
      Src: /src/geos/src/dissolve/LineDissolver.cpp:168,1
    - Dst: pop
      Src: /src/geos/src/dissolve/LineDissolver.cpp:169,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:170,1
    - Dst: geos::dissolve::LineDissolver::buildLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: geos::dissolve::LineDissolver::buildLines
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - geos::dissolve::LineDissolver::buildLine
    - top
    - geos::edgegraph::MarkHalfEdge::isMarked
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLines()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:181,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:183,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    - Dst: orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - DissolveHalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: geos::dissolve::LineDissolver::updateRingStartEdge
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 2
    functionsReached:
    - DissolveHalfEdge*::orig
    - DissolveHalfEdge*::isStart
    - DissolveHalfEdge*::sym
    - orig
    - static_cast<DissolveHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void LineDissolver::updateRingStartEdge(DissolveHalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:200,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:201,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:204,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:208,1
    - Dst: geos::dissolve::LineDissolver::updateRingStartEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:209,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: DissolveHalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: geos::dissolve::LineDissolver::buildRing
      Src: /src/geos/src/dissolve/LineDissolver.cpp:213,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:221,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: DissolveHalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - eStart
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 231
    functionName: geos::dissolve::LineDissolver::buildLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - geos::dissolve::LineDissolver::updateRingStartEdge
    - CoordinateSequence::CoordinateSequence
    - DissolveHalfEdge*::dest
    - DissolveHalfEdge*::orig
    - geos::dissolve::LineDissolver::buildRing
    - DissolveHalfEdge*::sym
    - DissolveHalfEdge*::next
    - geos::edgegraph::MarkHalfEdge::markBoth
    - geos::dissolve::LineDissolver::stackEdges
    - static_cast<DissolveHalfEdge*>
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLine(HalfEdge* eStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:238,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:245,1
    - Dst: HalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:246,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - eStartRing
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: geos::dissolve::LineDissolver::buildRing
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - HalfEdge*::orig
    - HalfEdge*::dest
    - CoordinateSequence::CoordinateSequence
    - HalfEdge*::next
    - HalfEdge*::sym
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildRing(HalfEdge* eStartRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    - Dst: auto::release
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: geos::dissolve::LineDissolver::addLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - auto::release
    - createLineString
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void LineDissolver::addLine(std::unique_ptr<CoordinateSequence>& cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:44,1
    - Dst: LineDissolver::getResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::dissolve::LineDissolver::dissolve
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - LineDissolver::getResult
    - LineDissolver::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::dissolve(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/dissolve/LineDissolver.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 7
    functionsReached:
    - geos::dissolve::LineDissolver::add
    - Geometry*::apply_ro
    - static_cast<const LineString*>
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ld
    argTypes:
    - LineDissolver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: geos::dissolve::LineStringFilter
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringFilter(LineDissolver* ld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/dissolve/LineDissolver.cpp:60,1
    - Dst: add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::dissolve::filter_ro
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - add
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geometries
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 8
    functionsReached:
    - geos::dissolve::LineDissolver::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(std::vector<const Geometry*> geometries)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getFactory
      Src: /src/geos/src/dissolve/LineDissolver.cpp:87,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/dissolve/LineDissolver.cpp:89,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/dissolve/LineDissolver.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/dissolve/LineDissolver.cpp:94,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: addEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:95,1
    - Dst: DissolveHalfEdge*::setStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - lineString
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: geos::dissolve::LineDissolver::add
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - LineString*::getFactory
    - addEdge
    - DissolveHalfEdge*::setStart
    - static_cast<DissolveHalfEdge*>
    - CoordinateSequence*::size
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void LineDissolver::add(const LineString* lineString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::dissolve::LineDissolver::computeResult
      Src: /src/geos/src/dissolve/LineDissolver.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::dissolve::LineDissolver::getResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::dissolve::LineDissolver::computeResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LineDissolver::getResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVertexEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:125,1
    - Dst: const_cast<HalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:128,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:129,1
    - Dst: geos::dissolve::LineDissolver::process
      Src: /src/geos/src/dissolve/LineDissolver.cpp:130,1
    - Dst: buildGeometry
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: geos::dissolve::LineDissolver::computeResult
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - const_cast<HalfEdge*>
    - geos::edgegraph::MarkHalfEdge::isMarked
    - buildGeometry
    - std::move
    - getVertexEdges
    - geos::dissolve::LineDissolver::process
    linkageType: ''
    returnType: void
    signature: void LineDissolver::computeResult()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::prevNode
      Src: /src/geos/src/dissolve/LineDissolver.cpp:140,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:144,1
    - Dst: geos::dissolve::LineDissolver::buildLines
      Src: /src/geos/src/dissolve/LineDissolver.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: geos::dissolve::LineDissolver::process
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - HalfEdge*::prevNode
    - geos::dissolve::LineDissolver::stackEdges
    - geos::dissolve::LineDissolver::buildLines
    linkageType: ''
    returnType: void
    signature: void LineDissolver::process(HalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:156,1
    - Dst: push
      Src: /src/geos/src/dissolve/LineDissolver.cpp:157,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/dissolve/LineDissolver.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: geos::dissolve::LineDissolver::stackEdges
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 7
    functionsReached:
    - HalfEdge*::oNext
    - push
    - geos::edgegraph::MarkHalfEdge::isMarked
    linkageType: ''
    returnType: void
    signature: void LineDissolver::stackEdges(HalfEdge* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/dissolve/LineDissolver.cpp:167,1
    - Dst: top
      Src: /src/geos/src/dissolve/LineDissolver.cpp:168,1
    - Dst: pop
      Src: /src/geos/src/dissolve/LineDissolver.cpp:169,1
    - Dst: geos::edgegraph::MarkHalfEdge::isMarked
      Src: /src/geos/src/dissolve/LineDissolver.cpp:170,1
    - Dst: geos::dissolve::LineDissolver::buildLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: geos::dissolve::LineDissolver::buildLines
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - geos::dissolve::LineDissolver::buildLine
    - top
    - geos::edgegraph::MarkHalfEdge::isMarked
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLines()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:181,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:182,1
    - Dst: DissolveHalfEdge*::isStart
      Src: /src/geos/src/dissolve/LineDissolver.cpp:183,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    - Dst: orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - DissolveHalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: geos::dissolve::LineDissolver::updateRingStartEdge
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 3
    functionsReached:
    - DissolveHalfEdge*::orig
    - DissolveHalfEdge*::isStart
    - DissolveHalfEdge*::sym
    - orig
    - static_cast<DissolveHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void LineDissolver::updateRingStartEdge(DissolveHalfEdge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:200,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:201,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:204,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:205,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:208,1
    - Dst: geos::dissolve::LineDissolver::updateRingStartEdge
      Src: /src/geos/src/dissolve/LineDissolver.cpp:209,1
    - Dst: static_cast<DissolveHalfEdge*>
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: DissolveHalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:210,1
    - Dst: geos::dissolve::LineDissolver::buildRing
      Src: /src/geos/src/dissolve/LineDissolver.cpp:213,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: DissolveHalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:218,1
    - Dst: geos::edgegraph::MarkHalfEdge::markBoth
      Src: /src/geos/src/dissolve/LineDissolver.cpp:221,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: DissolveHalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:225,1
    - Dst: geos::dissolve::LineDissolver::stackEdges
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: DissolveHalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:228,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - eStart
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 231
    functionName: geos::dissolve::LineDissolver::buildLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - geos::dissolve::LineDissolver::updateRingStartEdge
    - CoordinateSequence::CoordinateSequence
    - DissolveHalfEdge*::dest
    - DissolveHalfEdge*::orig
    - geos::dissolve::LineDissolver::buildRing
    - DissolveHalfEdge*::sym
    - DissolveHalfEdge*::next
    - geos::edgegraph::MarkHalfEdge::markBoth
    - geos::dissolve::LineDissolver::stackEdges
    - static_cast<DissolveHalfEdge*>
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildLine(HalfEdge* eStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/dissolve/LineDissolver.cpp:238,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:242,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/dissolve/LineDissolver.cpp:245,1
    - Dst: HalfEdge*::next
      Src: /src/geos/src/dissolve/LineDissolver.cpp:246,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/dissolve/LineDissolver.cpp:252,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/dissolve/LineDissolver.cpp:256,1
    - Dst: geos::dissolve::LineDissolver::addLine
      Src: /src/geos/src/dissolve/LineDissolver.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - eStartRing
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: geos::dissolve::LineDissolver::buildRing
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 4
    functionsReached:
    - geos::dissolve::LineDissolver::addLine
    - HalfEdge*::orig
    - HalfEdge*::dest
    - CoordinateSequence::CoordinateSequence
    - HalfEdge*::next
    - HalfEdge*::sym
    - std::unique_ptr::add
    linkageType: ''
    returnType: void
    signature: void LineDissolver::buildRing(HalfEdge* eStartRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: std::move
      Src: /src/geos/src/dissolve/LineDissolver.cpp:267,1
    - Dst: emplace_back
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    - Dst: auto::release
      Src: /src/geos/src/dissolve/LineDissolver.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: geos::dissolve::LineDissolver::addLine
    functionSourceFile: /src/geos/src/dissolve/LineDissolver.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - auto::release
    - createLineString
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void LineDissolver::addLine(std::unique_ptr<CoordinateSequence>& cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:38,1
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:39,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::HalfEdge::create
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge::HalfEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:48,1
    - Dst: HalfEdge*::setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:49,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:51,1
    - Dst: HalfEdge*::setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_sym
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::HalfEdge::link
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::setNext
    - setNext
    - setSym
    - HalfEdge*::setSym
    linkageType: ''
    returnType: void
    signature: void HalfEdge::link(HalfEdge* p_sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:64,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p_dest'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::edgegraph::HalfEdge::find
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::dest
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::find(const CoordinateXY& p_dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    - Dst: m_orig::equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::edgegraph::HalfEdge::equals
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - m_orig::equals2D
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::equals(const CoordinateXY& p0, const CoordinateXY& p1)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:84,1
    - Dst: geos::edgegraph::HalfEdge::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:86,1
    - Dst: geos::edgegraph::HalfEdge::insertionEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:92,1
    - Dst: HalfEdge*::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: geos::edgegraph::HalfEdge::insert
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - geos::edgegraph::HalfEdge::insertionEdge
    - HalfEdge*::insertAfter
    - geos::edgegraph::HalfEdge::insertAfter
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insert(HalfEdge* eAdd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:103,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:110,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:111,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:112,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:122,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 131
    functionName: geos::edgegraph::HalfEdge::insertionEdge
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 1
    functionsReached:
    - geos::util::Assert::shouldNeverReachHere
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::insertionEdge(HalfEdge* eAdd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:138,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:139,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts:
    - condition: (m_orig == e->orig())
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/geos/src/edgegraph/HalfEdge.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::edgegraph::HalfEdge::insertAfter
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 1
    functionsReached:
    - setNext
    - oNext
    - HalfEdge*::sym
    - assert
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insertAfter(HalfEdge* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::findLowest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:148,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:152,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: geos::edgegraph::HalfEdge::isEdgesSorted
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::edgegraph::HalfEdge::findLowest
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::isEdgesSorted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:168,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:170,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::edgegraph::HalfEdge::findLowest
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 1
    functionsReached:
    - geos::edgegraph::HalfEdge::oNext
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::findLowest() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:182,1
    - Dst: directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:183,1
    - Dst: HalfEdge*::directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:184,1
    - Dst: HalfEdge*::directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:185,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:191,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:192,1
    - Dst: directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:205,1
    - Dst: HalfEdge*::directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:206,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: geos::edgegraph::HalfEdge::compareAngularDirection
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - directionX
    - directionY
    - geos::algorithm::Orientation::index
    - directionPt
    - HalfEdge*::directionY
    - HalfEdge*::directionX
    - geos::algorithm::PolygonNodeTopology::quadrant
    - HalfEdge*::directionPt
    linkageType: ''
    returnType: int
    signature: int HalfEdge::compareAngularDirection(const HalfEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: geos::edgegraph::HalfEdge::degree
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: int
    signature: int HalfEdge::degree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: geos::edgegraph::HalfEdge::prev
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prev() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::degree
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:241,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: geos::edgegraph::HalfEdge::prevNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::degree
    - HalfEdge*::prev
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prevNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - HalfEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: '&

      operator<< (std::ostream& os, const HalfEdge& e)'
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const HalfEdge& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:261,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - he
    - ' os'
    argTypes:
    - HalfEdge*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: geos::edgegraph::HalfEdge::toStringNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::toStringNode(const HalfEdge* he, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:38,1
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:39,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::HalfEdge::create
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge::HalfEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:48,1
    - Dst: HalfEdge*::setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:49,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:51,1
    - Dst: HalfEdge*::setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_sym
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::HalfEdge::link
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::setNext
    - setNext
    - setSym
    - HalfEdge*::setSym
    linkageType: ''
    returnType: void
    signature: void HalfEdge::link(HalfEdge* p_sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:64,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p_dest'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::edgegraph::HalfEdge::find
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::dest
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::find(const CoordinateXY& p_dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    - Dst: m_orig::equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::edgegraph::HalfEdge::equals
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - m_orig::equals2D
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::equals(const CoordinateXY& p0, const CoordinateXY& p1)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:84,1
    - Dst: geos::edgegraph::HalfEdge::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:86,1
    - Dst: geos::edgegraph::HalfEdge::insertionEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:92,1
    - Dst: HalfEdge*::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: geos::edgegraph::HalfEdge::insert
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - geos::edgegraph::HalfEdge::insertionEdge
    - HalfEdge*::insertAfter
    - geos::edgegraph::HalfEdge::insertAfter
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insert(HalfEdge* eAdd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:103,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:110,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:111,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:112,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:122,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 131
    functionName: geos::edgegraph::HalfEdge::insertionEdge
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 2
    functionsReached:
    - geos::util::Assert::shouldNeverReachHere
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::insertionEdge(HalfEdge* eAdd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:138,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:139,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts:
    - condition: (m_orig == e->orig())
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/geos/src/edgegraph/HalfEdge.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::edgegraph::HalfEdge::insertAfter
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 2
    functionsReached:
    - setNext
    - oNext
    - HalfEdge*::sym
    - assert
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insertAfter(HalfEdge* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::findLowest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:148,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:152,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: geos::edgegraph::HalfEdge::isEdgesSorted
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::edgegraph::HalfEdge::findLowest
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::isEdgesSorted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:168,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:170,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::edgegraph::HalfEdge::findLowest
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 2
    functionsReached:
    - geos::edgegraph::HalfEdge::oNext
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::findLowest() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:182,1
    - Dst: directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:183,1
    - Dst: HalfEdge*::directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:184,1
    - Dst: HalfEdge*::directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:185,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:191,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:192,1
    - Dst: directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:205,1
    - Dst: HalfEdge*::directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:206,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: geos::edgegraph::HalfEdge::compareAngularDirection
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - directionX
    - directionY
    - geos::algorithm::Orientation::index
    - directionPt
    - HalfEdge*::directionY
    - HalfEdge*::directionX
    - geos::algorithm::PolygonNodeTopology::quadrant
    - HalfEdge*::directionPt
    linkageType: ''
    returnType: int
    signature: int HalfEdge::compareAngularDirection(const HalfEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: geos::edgegraph::HalfEdge::degree
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: int
    signature: int HalfEdge::degree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: geos::edgegraph::HalfEdge::prev
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prev() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::degree
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:241,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: geos::edgegraph::HalfEdge::prevNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::degree
    - HalfEdge*::prev
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prevNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - HalfEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: '&

      operator<< (std::ostream& os, const HalfEdge& e)'
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const HalfEdge& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:261,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - he
    - ' os'
    argTypes:
    - HalfEdge*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: geos::edgegraph::HalfEdge::toStringNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::toStringNode(const HalfEdge* he, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:38,1
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:39,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::HalfEdge::create
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge::HalfEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:48,1
    - Dst: HalfEdge*::setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:49,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:51,1
    - Dst: HalfEdge*::setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_sym
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::HalfEdge::link
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::setNext
    - setNext
    - setSym
    - HalfEdge*::setSym
    linkageType: ''
    returnType: void
    signature: void HalfEdge::link(HalfEdge* p_sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:64,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p_dest'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::edgegraph::HalfEdge::find
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::dest
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::find(const CoordinateXY& p_dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    - Dst: m_orig::equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::edgegraph::HalfEdge::equals
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - m_orig::equals2D
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::equals(const CoordinateXY& p0, const CoordinateXY& p1)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:84,1
    - Dst: geos::edgegraph::HalfEdge::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:86,1
    - Dst: geos::edgegraph::HalfEdge::insertionEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:92,1
    - Dst: HalfEdge*::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: geos::edgegraph::HalfEdge::insert
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - geos::edgegraph::HalfEdge::insertionEdge
    - HalfEdge*::insertAfter
    - geos::edgegraph::HalfEdge::insertAfter
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insert(HalfEdge* eAdd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:103,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:110,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:111,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:112,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:122,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 131
    functionName: geos::edgegraph::HalfEdge::insertionEdge
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 3
    functionsReached:
    - geos::util::Assert::shouldNeverReachHere
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::insertionEdge(HalfEdge* eAdd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:138,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:139,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts:
    - condition: (m_orig == e->orig())
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/geos/src/edgegraph/HalfEdge.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::edgegraph::HalfEdge::insertAfter
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 3
    functionsReached:
    - setNext
    - oNext
    - HalfEdge*::sym
    - assert
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insertAfter(HalfEdge* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::findLowest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:148,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:152,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: geos::edgegraph::HalfEdge::isEdgesSorted
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::edgegraph::HalfEdge::findLowest
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::isEdgesSorted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:168,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:170,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::edgegraph::HalfEdge::findLowest
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 3
    functionsReached:
    - geos::edgegraph::HalfEdge::oNext
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::findLowest() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:182,1
    - Dst: directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:183,1
    - Dst: HalfEdge*::directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:184,1
    - Dst: HalfEdge*::directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:185,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:191,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:192,1
    - Dst: directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:205,1
    - Dst: HalfEdge*::directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:206,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: geos::edgegraph::HalfEdge::compareAngularDirection
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - directionX
    - directionY
    - geos::algorithm::Orientation::index
    - directionPt
    - HalfEdge*::directionY
    - HalfEdge*::directionX
    - geos::algorithm::PolygonNodeTopology::quadrant
    - HalfEdge*::directionPt
    linkageType: ''
    returnType: int
    signature: int HalfEdge::compareAngularDirection(const HalfEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: geos::edgegraph::HalfEdge::degree
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: int
    signature: int HalfEdge::degree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: geos::edgegraph::HalfEdge::prev
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prev() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::degree
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:241,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: geos::edgegraph::HalfEdge::prevNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::degree
    - HalfEdge*::prev
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prevNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - HalfEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: '&

      operator<< (std::ostream& os, const HalfEdge& e)'
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const HalfEdge& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:261,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - he
    - ' os'
    argTypes:
    - HalfEdge*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: geos::edgegraph::HalfEdge::toStringNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::toStringNode(const HalfEdge* he, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:38,1
    - Dst: HalfEdge::HalfEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:39,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::HalfEdge::create
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge::HalfEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:48,1
    - Dst: HalfEdge*::setSym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:49,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:51,1
    - Dst: HalfEdge*::setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_sym
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::HalfEdge::link
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::setNext
    - setNext
    - setSym
    - HalfEdge*::setSym
    linkageType: ''
    returnType: void
    signature: void HalfEdge::link(HalfEdge* p_sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::dest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:64,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p_dest'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::edgegraph::HalfEdge::find
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::dest
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::find(const CoordinateXY& p_dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    - Dst: m_orig::equals2D
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::edgegraph::HalfEdge::equals
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - m_orig::equals2D
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::equals(const CoordinateXY& p0, const CoordinateXY& p1)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:84,1
    - Dst: geos::edgegraph::HalfEdge::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:86,1
    - Dst: geos::edgegraph::HalfEdge::insertionEdge
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:92,1
    - Dst: HalfEdge*::insertAfter
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: geos::edgegraph::HalfEdge::insert
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - geos::edgegraph::HalfEdge::insertionEdge
    - HalfEdge*::insertAfter
    - geos::edgegraph::HalfEdge::insertAfter
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insert(HalfEdge* eAdd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:103,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:110,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:111,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:112,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:122,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:123,1
    - Dst: geos::util::Assert::shouldNeverReachHere
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - eAdd
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 131
    functionName: geos::edgegraph::HalfEdge::insertionEdge
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 4
    functionsReached:
    - geos::util::Assert::shouldNeverReachHere
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::insertionEdge(HalfEdge* eAdd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:137,1
    - Dst: oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:138,1
    - Dst: setNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:139,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts:
    - condition: (m_orig == e->orig())
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/geos/src/edgegraph/HalfEdge.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::edgegraph::HalfEdge::insertAfter
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 4
    functionsReached:
    - setNext
    - oNext
    - HalfEdge*::sym
    - assert
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::insertAfter(HalfEdge* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::findLowest
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:148,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:152,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: geos::edgegraph::HalfEdge::isEdgesSorted
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::edgegraph::HalfEdge::findLowest
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: bool
    signature: bool HalfEdge::isEdgesSorted() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::HalfEdge::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:168,1
    - Dst: HalfEdge*::compareTo
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:170,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: geos::edgegraph::HalfEdge::findLowest
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 4
    functionsReached:
    - geos::edgegraph::HalfEdge::oNext
    - HalfEdge*::compareTo
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::findLowest() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:182,1
    - Dst: directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:183,1
    - Dst: HalfEdge*::directionX
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:184,1
    - Dst: HalfEdge*::directionY
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:185,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:191,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:192,1
    - Dst: directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:205,1
    - Dst: HalfEdge*::directionPt
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:206,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: geos::edgegraph::HalfEdge::compareAngularDirection
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - directionX
    - directionY
    - geos::algorithm::Orientation::index
    - directionPt
    - HalfEdge*::directionY
    - HalfEdge*::directionX
    - geos::algorithm::PolygonNodeTopology::quadrant
    - HalfEdge*::directionPt
    linkageType: ''
    returnType: int
    signature: int HalfEdge::compareAngularDirection(const HalfEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: geos::edgegraph::HalfEdge::degree
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: int
    signature: int HalfEdge::degree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: geos::edgegraph::HalfEdge::prev
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prev() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::degree
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:241,1
    - Dst: HalfEdge*::prev
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: geos::edgegraph::HalfEdge::prevNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::degree
    - HalfEdge*::prev
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      HalfEdge::prevNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - HalfEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: '&

      operator<< (std::ostream& os, const HalfEdge& e)'
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const HalfEdge& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HalfEdge*::orig
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:261,1
    - Dst: HalfEdge*::oNext
      Src: /src/geos/src/edgegraph/HalfEdge.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - he
    - ' os'
    argTypes:
    - HalfEdge*
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: geos::edgegraph::HalfEdge::toStringNode
    functionSourceFile: /src/geos/src/edgegraph/HalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::oNext
    - HalfEdge*::orig
    linkageType: ''
    returnType: void
    signature: void HalfEdge::toStringNode(const HalfEdge* he, std::ostream& os)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::edgegraph::MarkHalfEdge::isMarked
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 12
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: bool
    signature: bool MarkHalfEdge::isMarked(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::MarkHalfEdge::mark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::mark(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::edgegraph::MarkHalfEdge::setMark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMark(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:55,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::edgegraph::MarkHalfEdge::setMarkBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMarkBoth(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:63,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::edgegraph::MarkHalfEdge::markBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 4
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::markBoth(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::edgegraph::MarkHalfEdge::isMarked
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 12
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: bool
    signature: bool MarkHalfEdge::isMarked(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::MarkHalfEdge::mark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::mark(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::edgegraph::MarkHalfEdge::setMark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMark(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:55,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::edgegraph::MarkHalfEdge::setMarkBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMarkBoth(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:63,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::edgegraph::MarkHalfEdge::markBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 4
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::markBoth(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::edgegraph::MarkHalfEdge::isMarked
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 12
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: bool
    signature: bool MarkHalfEdge::isMarked(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::MarkHalfEdge::mark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::mark(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::edgegraph::MarkHalfEdge::setMark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMark(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:55,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::edgegraph::MarkHalfEdge::setMarkBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMarkBoth(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:63,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::edgegraph::MarkHalfEdge::markBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 4
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::markBoth(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::edgegraph::MarkHalfEdge::isMarked
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 12
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: bool
    signature: bool MarkHalfEdge::isMarked(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: geos::edgegraph::MarkHalfEdge::mark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::mark(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::edgegraph::MarkHalfEdge::setMark
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMark(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:55,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - isMarked
    argTypes:
    - HalfEdge*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::edgegraph::MarkHalfEdge::setMarkBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 0
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::setMarkBoth(HalfEdge* e, bool isMarked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:63,1
    - Dst: static_cast<MarkHalfEdge*>
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/MarkHalfEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::edgegraph::MarkHalfEdge::markBoth
    functionSourceFile: /src/geos/src/edgegraph/MarkHalfEdge.cpp
    functionUses: 4
    functionsReached:
    - HalfEdge*::sym
    - static_cast<MarkHalfEdge*>
    linkageType: ''
    returnType: void
    signature: void MarkHalfEdge::markBoth(HalfEdge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:39,1
    - Dst: EdgeGraphBuilder::getGraph
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::edgegraph::EdgeGraphBuilder::build
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 2
    functionsReached:
    - EdgeGraphBuilder::getGraph
    - EdgeGraphBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::build(const GeometryCollection*
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraphBuilder::getGraph
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::getGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_egb
    argTypes:
    - EdgeGraphBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::EdgeGraphLinestringFilter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeGraphLinestringFilter(EdgeGraphBuilder* p_egb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:58,1
    - Dst: add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::edgegraph::filter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void filter(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::applyComponentFilter
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::applyComponentFilter
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    - Dst: get
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 1
    functionsReached:
    - get
    - geos::edgegraph::EdgeGraphBuilder::add
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const GeometryCollection* geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:87,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:88,1
    - Dst: addEdge
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateXYZM
    - addEdge
    - CoordinateSequence*::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:39,1
    - Dst: EdgeGraphBuilder::getGraph
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::edgegraph::EdgeGraphBuilder::build
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 2
    functionsReached:
    - EdgeGraphBuilder::getGraph
    - EdgeGraphBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::build(const GeometryCollection*
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraphBuilder::getGraph
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::getGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_egb
    argTypes:
    - EdgeGraphBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::EdgeGraphLinestringFilter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeGraphLinestringFilter(EdgeGraphBuilder* p_egb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:58,1
    - Dst: add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::edgegraph::filter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void filter(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::applyComponentFilter
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::applyComponentFilter
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    - Dst: get
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 2
    functionsReached:
    - get
    - geos::edgegraph::EdgeGraphBuilder::add
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const GeometryCollection* geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:87,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:88,1
    - Dst: addEdge
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateXYZM
    - addEdge
    - CoordinateSequence*::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:39,1
    - Dst: EdgeGraphBuilder::getGraph
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::edgegraph::EdgeGraphBuilder::build
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 2
    functionsReached:
    - EdgeGraphBuilder::getGraph
    - EdgeGraphBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::build(const GeometryCollection*
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraphBuilder::getGraph
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::getGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_egb
    argTypes:
    - EdgeGraphBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::EdgeGraphLinestringFilter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeGraphLinestringFilter(EdgeGraphBuilder* p_egb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:58,1
    - Dst: add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::edgegraph::filter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void filter(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::applyComponentFilter
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::applyComponentFilter
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    - Dst: get
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 3
    functionsReached:
    - get
    - geos::edgegraph::EdgeGraphBuilder::add
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const GeometryCollection* geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:87,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:88,1
    - Dst: addEdge
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateXYZM
    - addEdge
    - CoordinateSequence*::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:39,1
    - Dst: EdgeGraphBuilder::getGraph
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::edgegraph::EdgeGraphBuilder::build
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 2
    functionsReached:
    - EdgeGraphBuilder::getGraph
    - EdgeGraphBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::build(const GeometryCollection*
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraphBuilder::getGraph
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<EdgeGraph>
    signature: std::unique_ptr<EdgeGraph> EdgeGraphBuilder::getGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_egb
    argTypes:
    - EdgeGraphBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: geos::edgegraph::EdgeGraphLinestringFilter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeGraphLinestringFilter(EdgeGraphBuilder* p_egb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:58,1
    - Dst: add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::edgegraph::filter
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void filter(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::applyComponentFilter
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::applyComponentFilter
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraphBuilder::add
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    - Dst: get
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geoms
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 4
    functionsReached:
    - get
    - geos::edgegraph::EdgeGraphBuilder::add
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const GeometryCollection* geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:87,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:88,1
    - Dst: addEdge
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: geos::edgegraph::EdgeGraphBuilder::add
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraphBuilder.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateXYZM
    - addEdge
    - CoordinateSequence*::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void EdgeGraphBuilder::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:36,1
    - Dst: back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::edgegraph::EdgeGraph::createEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::createEdge(const CoordinateXYZM& orig)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:44,1
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:45,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraph::create
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::edgegraph::EdgeGraph::createEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::isValidEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:54,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:64,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:65,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:71,1
    - Dst: geos::edgegraph::EdgeGraph::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: geos::edgegraph::EdgeGraph::addEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - geos::edgegraph::EdgeGraph::insert
    - HalfEdge*::find
    - geos::edgegraph::EdgeGraph::isValidEdge
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::addEdge(const CoordinateXYZM& orig, const CoordinateXYZM& dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::edgegraph::EdgeGraph::isValidEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 1
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool EdgeGraph::isValidEdge(const CoordinateXY& orig, const CoordinateXY&
      dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::create
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:93,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:95,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:103,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:104,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' orig'
    - ' dest'
    - eAdj
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: geos::edgegraph::EdgeGraph::insert
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::edgegraph::EdgeGraph::create
    - find
    - HalfEdge*::sym
    - HalfEdge*::insert
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::insert(const CoordinateXYZM& orig, const CoordinateXYZM& dest, HalfEdge*
      eAdj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: push_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edgesOut'
    argTypes:
    - std::vector<const HalfEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::edgegraph::EdgeGraph::getVertexEdges
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeGraph::getVertexEdges(std::vector<const HalfEdge*>& edgesOut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:131,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:132,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: geos::edgegraph::EdgeGraph::findEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - HalfEdge*::find
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::findEdge(const CoordinateXY& orig, const CoordinateXY& dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:36,1
    - Dst: back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::edgegraph::EdgeGraph::createEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::createEdge(const CoordinateXYZM& orig)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:44,1
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:45,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraph::create
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::edgegraph::EdgeGraph::createEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::isValidEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:54,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:64,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:65,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:71,1
    - Dst: geos::edgegraph::EdgeGraph::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: geos::edgegraph::EdgeGraph::addEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - geos::edgegraph::EdgeGraph::insert
    - HalfEdge*::find
    - geos::edgegraph::EdgeGraph::isValidEdge
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::addEdge(const CoordinateXYZM& orig, const CoordinateXYZM& dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::edgegraph::EdgeGraph::isValidEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 2
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool EdgeGraph::isValidEdge(const CoordinateXY& orig, const CoordinateXY&
      dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::create
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:93,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:95,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:103,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:104,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' orig'
    - ' dest'
    - eAdj
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: geos::edgegraph::EdgeGraph::insert
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::edgegraph::EdgeGraph::create
    - find
    - HalfEdge*::sym
    - HalfEdge*::insert
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::insert(const CoordinateXYZM& orig, const CoordinateXYZM& dest, HalfEdge*
      eAdj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: push_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edgesOut'
    argTypes:
    - std::vector<const HalfEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::edgegraph::EdgeGraph::getVertexEdges
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeGraph::getVertexEdges(std::vector<const HalfEdge*>& edgesOut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:131,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:132,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: geos::edgegraph::EdgeGraph::findEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - HalfEdge*::find
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::findEdge(const CoordinateXY& orig, const CoordinateXY& dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:36,1
    - Dst: back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::edgegraph::EdgeGraph::createEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 2
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::createEdge(const CoordinateXYZM& orig)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:44,1
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:45,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraph::create
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::edgegraph::EdgeGraph::createEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::isValidEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:54,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:64,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:65,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:71,1
    - Dst: geos::edgegraph::EdgeGraph::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: geos::edgegraph::EdgeGraph::addEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - geos::edgegraph::EdgeGraph::insert
    - HalfEdge*::find
    - geos::edgegraph::EdgeGraph::isValidEdge
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::addEdge(const CoordinateXYZM& orig, const CoordinateXYZM& dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::edgegraph::EdgeGraph::isValidEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 3
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool EdgeGraph::isValidEdge(const CoordinateXY& orig, const CoordinateXY&
      dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::create
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:93,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:95,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:103,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:104,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' orig'
    - ' dest'
    - eAdj
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: geos::edgegraph::EdgeGraph::insert
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::edgegraph::EdgeGraph::create
    - find
    - HalfEdge*::sym
    - HalfEdge*::insert
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::insert(const CoordinateXYZM& orig, const CoordinateXYZM& dest, HalfEdge*
      eAdj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: push_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edgesOut'
    argTypes:
    - std::vector<const HalfEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::edgegraph::EdgeGraph::getVertexEdges
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeGraph::getVertexEdges(std::vector<const HalfEdge*>& edgesOut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:131,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:132,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: geos::edgegraph::EdgeGraph::findEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - HalfEdge*::find
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::findEdge(const CoordinateXY& orig, const CoordinateXY& dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:36,1
    - Dst: back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' orig'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::edgegraph::EdgeGraph::createEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    - back
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::createEdge(const CoordinateXYZM& orig)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:44,1
    - Dst: geos::edgegraph::EdgeGraph::createEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:45,1
    - Dst: HalfEdge*::link
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::edgegraph::EdgeGraph::create
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::edgegraph::EdgeGraph::createEdge
    - HalfEdge*::link
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::create(const CoordinateXYZM& p0, const CoordinateXYZM& p1)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::isValidEdge
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:54,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:64,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:65,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:71,1
    - Dst: geos::edgegraph::EdgeGraph::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: geos::edgegraph::EdgeGraph::addEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - geos::edgegraph::EdgeGraph::insert
    - HalfEdge*::find
    - geos::edgegraph::EdgeGraph::isValidEdge
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::addEdge(const CoordinateXYZM& orig, const CoordinateXYZM& dest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::edgegraph::EdgeGraph::isValidEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 4
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool EdgeGraph::isValidEdge(const CoordinateXY& orig, const CoordinateXY&
      dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::edgegraph::EdgeGraph::create
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:93,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:95,1
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:103,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:104,1
    - Dst: HalfEdge*::insert
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:108,1
    - Dst: HalfEdge*::sym
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' orig'
    - ' dest'
    - eAdj
    argTypes:
    - CoordinateXYZM
    - CoordinateXYZM
    - HalfEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: geos::edgegraph::EdgeGraph::insert
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::edgegraph::EdgeGraph::create
    - find
    - HalfEdge*::sym
    - HalfEdge*::insert
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::insert(const CoordinateXYZM& orig, const CoordinateXYZM& dest, HalfEdge*
      eAdj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:120,1
    - Dst: push_back
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edgesOut'
    argTypes:
    - std::vector<const HalfEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::edgegraph::EdgeGraph::getVertexEdges
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeGraph::getVertexEdges(std::vector<const HalfEdge*>& edgesOut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:131,1
    - Dst: end
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:132,1
    - Dst: HalfEdge*::find
      Src: /src/geos/src/edgegraph/EdgeGraph.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' orig'
    - ' dest'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: geos::edgegraph::EdgeGraph::findEdge
    functionSourceFile: /src/geos/src/edgegraph/EdgeGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    - HalfEdge*::find
    - end
    linkageType: ''
    returnType: HalfEdge
    signature: 'HalfEdge *

      EdgeGraph::findEdge(const CoordinateXY& orig, const CoordinateXY& dest)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ringCount
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoverageRingEdges::selectEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - getRingCount
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: std::vector<CoverageEdge*> CoverageRingEdges::selectEdges(std::size_t
      ringCount) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::findMultiRingNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:66,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:67,1
    - Dst: geos::coverage::CoverageRingEdges::findBoundaryNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:68,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::begin
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:73,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:79,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:83,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:84,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:86,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:87,1
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:89,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 95
    functionName: geos::coverage::CoverageRingEdges::build
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::UnorderedSet::begin
    - getGeometryN
    - Coordinate::UnorderedSet::insert
    - static_cast<const Polygon*>
    - geos::util::ensureNoCurvedComponents
    - Polygon*::getNumInteriorRing
    - Polygon*::getInteriorRingN
    - LinearRing*::isEmpty
    - Polygon*::getExteriorRing
    - getNumGeometries
    - geos::coverage::CoverageRingEdges::findMultiRingNodes
    - geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    - Polygon*::isEmpty
    - Coordinate::UnorderedSet::end
    - geos::coverage::CoverageRingEdges::addRingEdges
    - geos::coverage::CoverageRingEdges::findBoundaryNodes
    linkageType: ''
    returnType: void
    signature: void CoverageRingEdges::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:105,1
    - Dst: geos::coverage::CoverageRingEdges::extractRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:106,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ring
    - ' nodes'
    - ' boundarySegs'
    - ' uniqueEdgeMap'
    argTypes:
    - LinearRing*
    - Coordinate::UnorderedSet
    - LineSegment::UnorderedSet
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoverageRingEdges::addRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::CoverageRingEdges::extractRingEdges
    - geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addRingEdges(\n    const LinearRing* ring,\n
      \   Coordinate::UnorderedSet& nodes,\n    LineSegment::UnorderedSet& boundarySegs,\n
      \   std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:119,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:122,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:123,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - ' boundarySegs'
    - ' nodes'
    argTypes:
    - LinearRing*
    - LineSegment::UnorderedSet
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - insert
    - LinearRing*::getCoordinatesRO
    - geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addBoundaryInnerNodes(\n    const LinearRing*
      ring,\n    LineSegment::UnorderedSet& boundarySegs,\n    Coordinate::UnorderedSet&
      nodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:143,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:146,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:149,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:150,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:156,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:157,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ring
    - ' uniqueEdgeMap'
    - ' nodes'
    argTypes:
    - LinearRing*
    - std::map<LineSegment, CoverageEdge*>
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: geos::coverage::CoverageRingEdges::extractRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::coverage::CoverageRingEdges::createEdge
    - std::unique_ptr::getSize
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::findNextNodeIndex
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: "std::vector<CoverageEdge*> CoverageRingEdges::extractRingEdges(\n
      \   const LinearRing* ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap,\n
      \   Coordinate::UnorderedSet& nodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:172,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:173,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:174,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:181,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:182,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:183,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:184,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' ring'
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:203,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:204,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:208,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:211,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ' ring'
    - start
    - end
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end,\n    std::map<LineSegment, CoverageEdge*>&
      uniqueEdgeMap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::next
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:228,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:235,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' ring'
    - start
    - ' nodes'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: geos::coverage::CoverageRingEdges::findNextNodeIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - find
    - end
    - geos::coverage::CoverageRingEdges::next
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CoverageRingEdges::findNextNodeIndex(\n    const CoordinateSequence&
      ring,\n    std::size_t start,\n    Coordinate::UnorderedSet& nodes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - index
    - ' ring'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: geos::coverage::CoverageRingEdges::next
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRingEdges::next(std::size_t index, const CoordinateSequence&
      ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::VertexRingCounter::count
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:260,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: geos::coverage::CoverageRingEdges::findMultiRingNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::VertexRingCounter::count
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findMultiRingNodes(const
      std::vector<const Geometry*>& coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' boundarySegments'
    argTypes:
    - LineSegment::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: geos::coverage::CoverageRingEdges::findBoundaryNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findBoundaryNodes(LineSegment::UnorderedSet&
      boundarySegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygonal
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: geos::coverage::CoverageRingEdges::buildCoverage
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::buildPolygonal
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageRingEdges::buildCoverage()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:313,1
    - Dst: geos::coverage::CoverageRingEdges::buildMultiPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: geos::coverage::CoverageRingEdges::buildPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - static_cast<const MultiPolygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - geos::coverage::CoverageRingEdges::buildMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildPolygonal(const Geometry*
      geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:327,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: MultiPolygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: geos::coverage::CoverageRingEdges::buildMultiPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - static_cast<const Polygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - MultiPolygon*::getFactory
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildMultiPolygon(const
      MultiPolygon* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:338,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:345,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:346,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: geos::coverage::CoverageRingEdges::buildPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageRingEdges::buildRing
    - Polygon*::getFactory
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - auto::release
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> CoverageRingEdges::buildPolygon(const Polygon*
      polygon) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:360,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:361,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:363,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:370,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:371,1
    - Dst: std::vector*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:372,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: std::unique_ptr::back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: geos::coverage::CoverageRingEdges::isEdgeDirForward
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:374,1
    - Dst: std::vector*::at
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:375,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:376,1
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: geos::coverage::CoverageRingEdges::buildRing
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - find
    - std::unique_ptr::isEmpty
    - std::unique_ptr::back
    - std::unique_ptr::add
    - std::vector*::at
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRingEdges::isEdgeDirForward
    - LinearRing*::clone
    - geos::io::GeoJSONValue::getNull
    - LinearRing*::getFactory
    - std::move
    - std::vector*::size
    - end
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> CoverageRingEdges::buildRing(const LinearRing*
      ring) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:388,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:394,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' ringEdges'
    - index
    - ' prevPt'
    argTypes:
    - std::vector<CoverageEdge*>
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoverageRingEdges::isEdgeDirForward
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 1
    functionsReached:
    - getEndCoordinate
    - size
    - getStartCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool CoverageRingEdges::isEdgeDirForward(\n    const std::vector<CoverageEdge*>&
      ringEdges,\n    std::size_t index,\n    const Coordinate& prevPt) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ringCount
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoverageRingEdges::selectEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - getRingCount
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: std::vector<CoverageEdge*> CoverageRingEdges::selectEdges(std::size_t
      ringCount) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::findMultiRingNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:66,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:67,1
    - Dst: geos::coverage::CoverageRingEdges::findBoundaryNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:68,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::begin
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:73,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:79,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:83,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:84,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:86,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:87,1
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:89,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 95
    functionName: geos::coverage::CoverageRingEdges::build
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::UnorderedSet::begin
    - getGeometryN
    - Coordinate::UnorderedSet::insert
    - static_cast<const Polygon*>
    - geos::util::ensureNoCurvedComponents
    - Polygon*::getNumInteriorRing
    - Polygon*::getInteriorRingN
    - LinearRing*::isEmpty
    - Polygon*::getExteriorRing
    - getNumGeometries
    - geos::coverage::CoverageRingEdges::findMultiRingNodes
    - geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    - Polygon*::isEmpty
    - Coordinate::UnorderedSet::end
    - geos::coverage::CoverageRingEdges::addRingEdges
    - geos::coverage::CoverageRingEdges::findBoundaryNodes
    linkageType: ''
    returnType: void
    signature: void CoverageRingEdges::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:105,1
    - Dst: geos::coverage::CoverageRingEdges::extractRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:106,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ring
    - ' nodes'
    - ' boundarySegs'
    - ' uniqueEdgeMap'
    argTypes:
    - LinearRing*
    - Coordinate::UnorderedSet
    - LineSegment::UnorderedSet
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoverageRingEdges::addRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageRingEdges::extractRingEdges
    - geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addRingEdges(\n    const LinearRing* ring,\n
      \   Coordinate::UnorderedSet& nodes,\n    LineSegment::UnorderedSet& boundarySegs,\n
      \   std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:119,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:122,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:123,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - ' boundarySegs'
    - ' nodes'
    argTypes:
    - LinearRing*
    - LineSegment::UnorderedSet
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - insert
    - LinearRing*::getCoordinatesRO
    - geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addBoundaryInnerNodes(\n    const LinearRing*
      ring,\n    LineSegment::UnorderedSet& boundarySegs,\n    Coordinate::UnorderedSet&
      nodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:143,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:146,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:149,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:150,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:156,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:157,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ring
    - ' uniqueEdgeMap'
    - ' nodes'
    argTypes:
    - LinearRing*
    - std::map<LineSegment, CoverageEdge*>
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: geos::coverage::CoverageRingEdges::extractRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::coverage::CoverageRingEdges::createEdge
    - std::unique_ptr::getSize
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::findNextNodeIndex
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: "std::vector<CoverageEdge*> CoverageRingEdges::extractRingEdges(\n
      \   const LinearRing* ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap,\n
      \   Coordinate::UnorderedSet& nodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:172,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:173,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:174,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:181,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:182,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:183,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:184,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' ring'
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:203,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:204,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:208,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:211,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ' ring'
    - start
    - end
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end,\n    std::map<LineSegment, CoverageEdge*>&
      uniqueEdgeMap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::next
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:228,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:235,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' ring'
    - start
    - ' nodes'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: geos::coverage::CoverageRingEdges::findNextNodeIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - find
    - end
    - geos::coverage::CoverageRingEdges::next
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CoverageRingEdges::findNextNodeIndex(\n    const CoordinateSequence&
      ring,\n    std::size_t start,\n    Coordinate::UnorderedSet& nodes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - index
    - ' ring'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: geos::coverage::CoverageRingEdges::next
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRingEdges::next(std::size_t index, const CoordinateSequence&
      ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::VertexRingCounter::count
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:260,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: geos::coverage::CoverageRingEdges::findMultiRingNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::VertexRingCounter::count
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findMultiRingNodes(const
      std::vector<const Geometry*>& coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' boundarySegments'
    argTypes:
    - LineSegment::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: geos::coverage::CoverageRingEdges::findBoundaryNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findBoundaryNodes(LineSegment::UnorderedSet&
      boundarySegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygonal
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: geos::coverage::CoverageRingEdges::buildCoverage
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::buildPolygonal
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageRingEdges::buildCoverage()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:313,1
    - Dst: geos::coverage::CoverageRingEdges::buildMultiPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: geos::coverage::CoverageRingEdges::buildPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - static_cast<const MultiPolygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - geos::coverage::CoverageRingEdges::buildMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildPolygonal(const Geometry*
      geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:327,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: MultiPolygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: geos::coverage::CoverageRingEdges::buildMultiPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - static_cast<const Polygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - MultiPolygon*::getFactory
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildMultiPolygon(const
      MultiPolygon* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:338,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:345,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:346,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: geos::coverage::CoverageRingEdges::buildPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageRingEdges::buildRing
    - Polygon*::getFactory
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - auto::release
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> CoverageRingEdges::buildPolygon(const Polygon*
      polygon) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:360,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:361,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:363,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:370,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:371,1
    - Dst: std::vector*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:372,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: std::unique_ptr::back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: geos::coverage::CoverageRingEdges::isEdgeDirForward
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:374,1
    - Dst: std::vector*::at
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:375,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:376,1
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: geos::coverage::CoverageRingEdges::buildRing
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - find
    - std::unique_ptr::isEmpty
    - std::unique_ptr::back
    - std::unique_ptr::add
    - std::vector*::at
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRingEdges::isEdgeDirForward
    - LinearRing*::clone
    - geos::io::GeoJSONValue::getNull
    - LinearRing*::getFactory
    - std::move
    - std::vector*::size
    - end
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> CoverageRingEdges::buildRing(const LinearRing*
      ring) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:388,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:394,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' ringEdges'
    - index
    - ' prevPt'
    argTypes:
    - std::vector<CoverageEdge*>
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoverageRingEdges::isEdgeDirForward
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 2
    functionsReached:
    - getEndCoordinate
    - size
    - getStartCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool CoverageRingEdges::isEdgeDirForward(\n    const std::vector<CoverageEdge*>&
      ringEdges,\n    std::size_t index,\n    const Coordinate& prevPt) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ringCount
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoverageRingEdges::selectEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - getRingCount
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: std::vector<CoverageEdge*> CoverageRingEdges::selectEdges(std::size_t
      ringCount) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::findMultiRingNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:66,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:67,1
    - Dst: geos::coverage::CoverageRingEdges::findBoundaryNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:68,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::begin
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:73,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:79,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:83,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:84,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:86,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:87,1
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:89,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 95
    functionName: geos::coverage::CoverageRingEdges::build
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::UnorderedSet::begin
    - getGeometryN
    - Coordinate::UnorderedSet::insert
    - static_cast<const Polygon*>
    - geos::util::ensureNoCurvedComponents
    - Polygon*::getNumInteriorRing
    - Polygon*::getInteriorRingN
    - LinearRing*::isEmpty
    - Polygon*::getExteriorRing
    - getNumGeometries
    - geos::coverage::CoverageRingEdges::findMultiRingNodes
    - geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    - Polygon*::isEmpty
    - Coordinate::UnorderedSet::end
    - geos::coverage::CoverageRingEdges::addRingEdges
    - geos::coverage::CoverageRingEdges::findBoundaryNodes
    linkageType: ''
    returnType: void
    signature: void CoverageRingEdges::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:105,1
    - Dst: geos::coverage::CoverageRingEdges::extractRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:106,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ring
    - ' nodes'
    - ' boundarySegs'
    - ' uniqueEdgeMap'
    argTypes:
    - LinearRing*
    - Coordinate::UnorderedSet
    - LineSegment::UnorderedSet
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoverageRingEdges::addRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoverageRingEdges::extractRingEdges
    - geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addRingEdges(\n    const LinearRing* ring,\n
      \   Coordinate::UnorderedSet& nodes,\n    LineSegment::UnorderedSet& boundarySegs,\n
      \   std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:119,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:122,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:123,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - ' boundarySegs'
    - ' nodes'
    argTypes:
    - LinearRing*
    - LineSegment::UnorderedSet
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - insert
    - LinearRing*::getCoordinatesRO
    - geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addBoundaryInnerNodes(\n    const LinearRing*
      ring,\n    LineSegment::UnorderedSet& boundarySegs,\n    Coordinate::UnorderedSet&
      nodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:143,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:146,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:149,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:150,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:156,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:157,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ring
    - ' uniqueEdgeMap'
    - ' nodes'
    argTypes:
    - LinearRing*
    - std::map<LineSegment, CoverageEdge*>
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: geos::coverage::CoverageRingEdges::extractRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::coverage::CoverageRingEdges::createEdge
    - std::unique_ptr::getSize
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::findNextNodeIndex
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: "std::vector<CoverageEdge*> CoverageRingEdges::extractRingEdges(\n
      \   const LinearRing* ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap,\n
      \   Coordinate::UnorderedSet& nodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:172,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:173,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:174,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:181,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:182,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:183,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:184,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' ring'
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:203,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:204,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:208,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:211,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ' ring'
    - start
    - end
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end,\n    std::map<LineSegment, CoverageEdge*>&
      uniqueEdgeMap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::next
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:228,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:235,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' ring'
    - start
    - ' nodes'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: geos::coverage::CoverageRingEdges::findNextNodeIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - find
    - end
    - geos::coverage::CoverageRingEdges::next
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CoverageRingEdges::findNextNodeIndex(\n    const CoordinateSequence&
      ring,\n    std::size_t start,\n    Coordinate::UnorderedSet& nodes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - index
    - ' ring'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: geos::coverage::CoverageRingEdges::next
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRingEdges::next(std::size_t index, const CoordinateSequence&
      ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::VertexRingCounter::count
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:260,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: geos::coverage::CoverageRingEdges::findMultiRingNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::VertexRingCounter::count
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findMultiRingNodes(const
      std::vector<const Geometry*>& coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' boundarySegments'
    argTypes:
    - LineSegment::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: geos::coverage::CoverageRingEdges::findBoundaryNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findBoundaryNodes(LineSegment::UnorderedSet&
      boundarySegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygonal
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: geos::coverage::CoverageRingEdges::buildCoverage
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::buildPolygonal
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageRingEdges::buildCoverage()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:313,1
    - Dst: geos::coverage::CoverageRingEdges::buildMultiPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: geos::coverage::CoverageRingEdges::buildPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - static_cast<const MultiPolygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - geos::coverage::CoverageRingEdges::buildMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildPolygonal(const Geometry*
      geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:327,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: MultiPolygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: geos::coverage::CoverageRingEdges::buildMultiPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - static_cast<const Polygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - MultiPolygon*::getFactory
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildMultiPolygon(const
      MultiPolygon* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:338,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:345,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:346,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: geos::coverage::CoverageRingEdges::buildPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoverageRingEdges::buildRing
    - Polygon*::getFactory
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - auto::release
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> CoverageRingEdges::buildPolygon(const Polygon*
      polygon) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:360,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:361,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:363,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:370,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:371,1
    - Dst: std::vector*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:372,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: std::unique_ptr::back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: geos::coverage::CoverageRingEdges::isEdgeDirForward
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:374,1
    - Dst: std::vector*::at
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:375,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:376,1
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: geos::coverage::CoverageRingEdges::buildRing
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - find
    - std::unique_ptr::isEmpty
    - std::unique_ptr::back
    - std::unique_ptr::add
    - std::vector*::at
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRingEdges::isEdgeDirForward
    - LinearRing*::clone
    - geos::io::GeoJSONValue::getNull
    - LinearRing*::getFactory
    - std::move
    - std::vector*::size
    - end
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> CoverageRingEdges::buildRing(const LinearRing*
      ring) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:388,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:394,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' ringEdges'
    - index
    - ' prevPt'
    argTypes:
    - std::vector<CoverageEdge*>
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoverageRingEdges::isEdgeDirForward
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 3
    functionsReached:
    - getEndCoordinate
    - size
    - getStartCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool CoverageRingEdges::isEdgeDirForward(\n    const std::vector<CoverageEdge*>&
      ringEdges,\n    std::size_t index,\n    const Coordinate& prevPt) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:54,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ringCount
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoverageRingEdges::selectEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - getRingCount
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: std::vector<CoverageEdge*> CoverageRingEdges::selectEdges(std::size_t
      ringCount) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::findMultiRingNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:66,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:67,1
    - Dst: geos::coverage::CoverageRingEdges::findBoundaryNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:68,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::begin
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: Coordinate::UnorderedSet::end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:69,1
    - Dst: getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:73,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:74,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:76,1
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:79,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:83,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:84,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:86,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:87,1
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:89,1
    - Dst: geos::coverage::CoverageRingEdges::addRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 95
    functionName: geos::coverage::CoverageRingEdges::build
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - Coordinate::UnorderedSet::begin
    - getGeometryN
    - Coordinate::UnorderedSet::insert
    - static_cast<const Polygon*>
    - geos::util::ensureNoCurvedComponents
    - Polygon*::getNumInteriorRing
    - Polygon*::getInteriorRingN
    - LinearRing*::isEmpty
    - Polygon*::getExteriorRing
    - getNumGeometries
    - geos::coverage::CoverageRingEdges::findMultiRingNodes
    - geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    - Polygon*::isEmpty
    - Coordinate::UnorderedSet::end
    - geos::coverage::CoverageRingEdges::addRingEdges
    - geos::coverage::CoverageRingEdges::findBoundaryNodes
    linkageType: ''
    returnType: void
    signature: void CoverageRingEdges::build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:105,1
    - Dst: geos::coverage::CoverageRingEdges::extractRingEdges
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:106,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ring
    - ' nodes'
    - ' boundarySegs'
    - ' uniqueEdgeMap'
    argTypes:
    - LinearRing*
    - Coordinate::UnorderedSet
    - LineSegment::UnorderedSet
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoverageRingEdges::addRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageRingEdges::extractRingEdges
    - geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addRingEdges(\n    const LinearRing* ring,\n
      \   Coordinate::UnorderedSet& nodes,\n    LineSegment::UnorderedSet& boundarySegs,\n
      \   std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:119,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:120,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:122,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:123,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:125,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - ' boundarySegs'
    - ' nodes'
    argTypes:
    - LinearRing*
    - LineSegment::UnorderedSet
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageRingEdges::addBoundaryInnerNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - insert
    - LinearRing*::getCoordinatesRO
    - geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void CoverageRingEdges::addBoundaryInnerNodes(\n    const LinearRing*
      ring,\n    LineSegment::UnorderedSet& boundarySegs,\n    Coordinate::UnorderedSet&
      nodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:140,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:143,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:146,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:149,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:150,1
    - Dst: geos::coverage::CoverageRingEdges::findNextNodeIndex
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:156,1
    - Dst: geos::coverage::CoverageRingEdges::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:157,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ring
    - ' uniqueEdgeMap'
    - ' nodes'
    argTypes:
    - LinearRing*
    - std::map<LineSegment, CoverageEdge*>
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: geos::coverage::CoverageRingEdges::extractRingEdges
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::coverage::CoverageRingEdges::createEdge
    - std::unique_ptr::getSize
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::findNextNodeIndex
    linkageType: ''
    returnType: std::vector<CoverageEdge*>
    signature: "std::vector<CoverageEdge*> CoverageRingEdges::extractRingEdges(\n
      \   const LinearRing* ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap,\n
      \   Coordinate::UnorderedSet& nodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:172,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:173,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:174,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:181,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:182,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:183,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:184,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' ring'
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::map<LineSegment, CoverageEdge*>& uniqueEdgeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: geos::coverage::CoverageEdge::key
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:199,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:203,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:204,1
    - Dst: geos::coverage::CoverageEdge::createEdge
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:208,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:211,1
    - Dst: CoverageEdge*::incRingCount
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - ' ring'
    - start
    - end
    - ' uniqueEdgeMap'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    - std::map<LineSegment, CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: geos::coverage::CoverageRingEdges::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - find
    - geos::coverage::CoverageEdge::key
    - push_back
    - geos::coverage::CoverageEdge::createEdge
    - CoverageEdge*::incRingCount
    - std::unique_ptr::release
    - emplace_back
    - end
    linkageType: ''
    returnType: CoverageEdge
    signature: "CoverageEdge *\nCoverageRingEdges::createEdge(\n    const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end,\n    std::map<LineSegment, CoverageEdge*>&
      uniqueEdgeMap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRingEdges::next
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:228,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:235,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' ring'
    - start
    - ' nodes'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: geos::coverage::CoverageRingEdges::findNextNodeIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - find
    - end
    - geos::coverage::CoverageRingEdges::next
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CoverageRingEdges::findNextNodeIndex(\n    const CoordinateSequence&
      ring,\n    std::size_t start,\n    Coordinate::UnorderedSet& nodes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - index
    - ' ring'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: geos::coverage::CoverageRingEdges::next
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRingEdges::next(std::size_t index, const CoordinateSequence&
      ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::VertexRingCounter::count
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:260,1
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: geos::coverage::CoverageRingEdges::findMultiRingNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::VertexRingCounter::count
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findMultiRingNodes(const
      std::vector<const Geometry*>& coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::UnorderedSet::insert
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' boundarySegments'
    argTypes:
    - LineSegment::UnorderedSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: geos::coverage::CoverageRingEdges::findBoundaryNodes
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - Coordinate::UnorderedSet::insert
    linkageType: ''
    returnType: Coordinate::UnorderedSet
    signature: Coordinate::UnorderedSet CoverageRingEdges::findBoundaryNodes(LineSegment::UnorderedSet&
      boundarySegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygonal
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: geos::coverage::CoverageRingEdges::buildCoverage
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - geos::coverage::CoverageRingEdges::buildPolygonal
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageRingEdges::buildCoverage()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:313,1
    - Dst: geos::coverage::CoverageRingEdges::buildMultiPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:314,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: geos::coverage::CoverageRingEdges::buildPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getGeometryTypeId
    - static_cast<const MultiPolygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - geos::coverage::CoverageRingEdges::buildMultiPolygon
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildPolygonal(const Geometry*
      geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:327,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:328,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: geos::coverage::CoverageRingEdges::buildPolygon
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:329,1
    - Dst: MultiPolygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: geos::coverage::CoverageRingEdges::buildMultiPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - static_cast<const Polygon*>
    - geos::coverage::CoverageRingEdges::buildPolygon
    - MultiPolygon*::getFactory
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageRingEdges::buildMultiPolygon(const
      MultiPolygon* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:338,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:339,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:341,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:345,1
    - Dst: geos::coverage::CoverageRingEdges::buildRing
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:346,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:347,1
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: geos::coverage::CoverageRingEdges::buildPolygon
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageRingEdges::buildRing
    - Polygon*::getFactory
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - auto::release
    - std::move
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> CoverageRingEdges::buildPolygon(const Polygon*
      polygon) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:360,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:361,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:363,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:370,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:371,1
    - Dst: std::vector*::size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:372,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: std::unique_ptr::back
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:373,1
    - Dst: geos::coverage::CoverageRingEdges::isEdgeDirForward
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:374,1
    - Dst: std::vector*::at
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:375,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:376,1
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 379
    functionName: geos::coverage::CoverageRingEdges::buildRing
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - find
    - std::unique_ptr::isEmpty
    - std::unique_ptr::back
    - std::unique_ptr::add
    - std::vector*::at
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRingEdges::isEdgeDirForward
    - LinearRing*::clone
    - geos::io::GeoJSONValue::getNull
    - LinearRing*::getFactory
    - std::move
    - std::vector*::size
    - end
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> CoverageRingEdges::buildRing(const LinearRing*
      ring) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:388,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:394,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:395,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: getEndCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:396,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    - Dst: getStartCoordinate
      Src: /src/geos/src/coverage/CoverageRingEdges.cpp:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' ringEdges'
    - index
    - ' prevPt'
    argTypes:
    - std::vector<CoverageEdge*>
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoverageRingEdges::isEdgeDirForward
    functionSourceFile: /src/geos/src/coverage/CoverageRingEdges.cpp
    functionUses: 4
    functionsReached:
    - getEndCoordinate
    - size
    - getStartCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool CoverageRingEdges::isEdgeDirForward(\n    const std::vector<CoverageEdge*>&
      ringEdges,\n    std::size_t index,\n    const Coordinate& prevPt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:63,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:64,1
    - Dst: CoverageCleaner::setOverlapMergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:65,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:66,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::setOverlapMergeStrategy
    - CoverageCleaner::getResult
    - CoverageCleaner::setSnappingDistance
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    int p_overlapMergeStrategy,\n
      \   double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:78,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:79,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:80,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setSnappingDistance
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::getResult
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageCleaner::cleanOverlapGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanOverlapGap(std::vector<const
      Geometry*>& p_coverage,\n      int p_overlapMergeStrategy,\n      double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: geos::coverage::CoverageCleaner::cleanGapWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanGapWidth(std::vector<const
      Geometry*>& p_coverage,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::coverage::CoverageCleaner::CoverageCleaner
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::CoverageCleaner(std::vector<const Geometry*>&
      p_coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_snappingDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageCleaner::setSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setSnappingDistance(double p_snappingDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mergeStrategy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::coverage::CoverageCleaner::setOverlapMergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setOverlapMergeStrategy(int mergeStrategy)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - maxWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::coverage::CoverageCleaner::setGapMaximumWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setGapMaximumWidth(double maxWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::computeResultants
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:149,1
    - Dst: geos::coverage::CoverageCleaner::mergeOverlaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:153,1
    - Dst: mergeGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoverageCleaner::computeResultants
    - mergeGaps
    - geos::coverage::CoverageCleaner::mergeOverlaps
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toCoverage
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: geos::coverage::CoverageCleaner::getResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - toCoverage
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageCleaner::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::coverage::CoverageCleaner::getOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getOverlaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::coverage::CoverageCleaner::getMergedGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getMergedGaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::extent
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::CoverageCleaner::extent
    linkageType: ''
    returnType: double
    signature: double CoverageCleaner::computeDefaultSnappingDistance(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::coverage::CoverageCleaner::extent
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CoverageCleaner::extent(std::vector<const Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::mergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:213,1
    - Dst: mergeOverlap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:214,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' overlapParentMap_p'
    argTypes:
    - std::map<std::size_t, std::vector<std::size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: geos::coverage::CoverageCleaner::mergeOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::CoverageCleaner::mergeStrategy
    - get
    - mergeOverlap
    linkageType: ''
    returnType: void
    signature: "void CoverageCleaner::mergeOverlaps(\n    std::map<std::size_t, std::vector<std::size_t>>&
      overlapParentMap_p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanCoverage::BorderMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:228,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:230,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:232,1
    - Dst: std::make_unique<CleanCoverage::IndexMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - mergeStrategyId
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: geos::coverage::CoverageCleaner::mergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::make_unique<CleanCoverage::IndexMergeStrategy>
    - std::make_unique<CleanCoverage::AreaMergeStrategy>
    - std::make_unique<CleanCoverage::BorderMergeStrategy>
    linkageType: ''
    returnType: std::unique_ptr<CleanCoverage::MergeStrategy>
    signature: std::unique_ptr<CleanCoverage::MergeStrategy> CoverageCleaner::mergeStrategy(int
      mergeStrategyId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::node
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:249,1
    - Dst: geos::dissolve::LineDissolver::dissolve
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: geos::coverage::CoverageCleaner::polygonize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::make_unique<CleanCoverage>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: geos::coverage::CoverageCleaner::createCoverageIndex
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:263,1
    - Dst: geos::coverage::CoverageCleaner::classifyResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:264,1
    - Dst: geos::coverage::CoverageCleaner::findMergableGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: geos::coverage::CoverageCleaner::computeResultants
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<CleanCoverage>
    - std::unique_ptr::get
    - size
    - geos::coverage::CoverageCleaner::createCoverageIndex
    - geos::coverage::CoverageCleaner::node
    - geos::coverage::CoverageCleaner::polygonize
    - geos::coverage::CoverageCleaner::findMergableGaps
    - geos::coverage::CoverageCleaner::classifyResult
    - geos::dissolve::LineDissolver::dissolve
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::computeResultants(double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:275,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:276,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: geos::coverage::CoverageCleaner::createCoverageIndex
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
    - size
    - insert
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::createCoverageIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:286,1
    - Dst: geos::coverage::CoverageCleaner::classifyResultant
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rs'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::coverage::CoverageCleaner::classifyResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::coverage::CoverageCleaner::classifyResultant
    - get
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResult(std::vector<std::unique_ptr<Polygon>>&
      rs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getInteriorPoint
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:296,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: std::unique_ptr::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: geos::coverage::CoverageCleaner::covers
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:312,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:313,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:324,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:326,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:328,1
    - Dst: add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - resultIndex
    - resPoly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 333
    functionName: geos::coverage::CoverageCleaner::classifyResultant
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - std::unique_ptr::get
    - add
    - push_back
    - geos::coverage::CoverageCleaner::covers
    - std::vector::push_back
    - query
    - Polygon*::getInteriorPoint
    - std::unique_ptr::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResultant(std::size_t resultIndex, const
      Polygon* resPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::isContained
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:340,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - poly
    - intPt
    argTypes:
    - Geometry*
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: geos::coverage::CoverageCleaner::covers
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::isContained
    - Point*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::covers(const Geometry* poly, const Point* intPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_if
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::begin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::end
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::back_inserter
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:353,1
    - Dst: geos::coverage::CoverageCleaner::isMergableGap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_gaps
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::coverage::CoverageCleaner::findMergableGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::CoverageCleaner::isMergableGap
    - std::copy_if
    - std::vector<const Polygon*>::begin
    - std::back_inserter
    - std::vector<const Polygon*>::end
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::findMergableGaps(std::vector<const
      Polygon*> p_gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoverageCleaner::isMergableGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isMergableGap(const Polygon* gap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:379,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cleanEdges
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: geos::coverage::CoverageCleaner::polygonize
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - Polygonizer::add
    - Polygonizer::getPolygons
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Polygon>>
    signature: std::vector<std::unique_ptr<geom::Polygon>> CoverageCleaner::polygonize(const
      Geometry* cleanEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:392,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - geomFact
    argTypes:
    - std::vector<SegmentString*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: geos::coverage::CoverageCleaner::toGeometry
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::unique_ptr::release
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoverageCleaner::toGeometry(\n    std::vector<SegmentString*>&
      segStrings,\n    const GeometryFactory* geomFact)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::isPolygonal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:409,1
    - Dst: isEmpty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:411,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:413,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: SnappingNoder::computeNodes
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:422,1
    - Dst: SnappingNoder::getNodedSubstrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:423,1
    - Dst: geos::coverage::CoverageCleaner::toGeometry
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_snapDistance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 434
    functionName: geos::coverage::CoverageCleaner::node
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - SnappingNoder::getNodedSubstrings
    - SnappingNoder::computeNodes
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geos::coverage::CoverageCleaner::isPolygonal
    - geos::coverage::CoverageCleaner::toGeometry
    - std::vector::push_back
    - const_cast<SegmentString*>
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageCleaner::node(std::vector<const Geometry*>&
      p_coverage, double p_snapDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:440,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: geos::coverage::CoverageCleaner::isPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isPolygonal(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:449,1
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:451,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:453,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: geos::coverage::CoverageCleaner::toPolygonArray
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - std::vector::push_back
    - std::vector::resize
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::toPolygonArray(const Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:63,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:64,1
    - Dst: CoverageCleaner::setOverlapMergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:65,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:66,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 6
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::setOverlapMergeStrategy
    - CoverageCleaner::getResult
    - CoverageCleaner::setSnappingDistance
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    int p_overlapMergeStrategy,\n
      \   double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:78,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:79,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:80,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 6
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setSnappingDistance
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::getResult
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageCleaner::cleanOverlapGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanOverlapGap(std::vector<const
      Geometry*>& p_coverage,\n      int p_overlapMergeStrategy,\n      double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: geos::coverage::CoverageCleaner::cleanGapWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanGapWidth(std::vector<const
      Geometry*>& p_coverage,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::coverage::CoverageCleaner::CoverageCleaner
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::CoverageCleaner(std::vector<const Geometry*>&
      p_coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_snappingDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageCleaner::setSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setSnappingDistance(double p_snappingDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mergeStrategy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::coverage::CoverageCleaner::setOverlapMergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setOverlapMergeStrategy(int mergeStrategy)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - maxWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::coverage::CoverageCleaner::setGapMaximumWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setGapMaximumWidth(double maxWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::computeResultants
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:149,1
    - Dst: geos::coverage::CoverageCleaner::mergeOverlaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:153,1
    - Dst: mergeGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageCleaner::computeResultants
    - mergeGaps
    - geos::coverage::CoverageCleaner::mergeOverlaps
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toCoverage
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: geos::coverage::CoverageCleaner::getResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - toCoverage
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageCleaner::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::coverage::CoverageCleaner::getOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getOverlaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::coverage::CoverageCleaner::getMergedGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getMergedGaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::extent
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageCleaner::extent
    linkageType: ''
    returnType: double
    signature: double CoverageCleaner::computeDefaultSnappingDistance(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::coverage::CoverageCleaner::extent
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CoverageCleaner::extent(std::vector<const Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::mergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:213,1
    - Dst: mergeOverlap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:214,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' overlapParentMap_p'
    argTypes:
    - std::map<std::size_t, std::vector<std::size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: geos::coverage::CoverageCleaner::mergeOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageCleaner::mergeStrategy
    - get
    - mergeOverlap
    linkageType: ''
    returnType: void
    signature: "void CoverageCleaner::mergeOverlaps(\n    std::map<std::size_t, std::vector<std::size_t>>&
      overlapParentMap_p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanCoverage::BorderMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:228,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:230,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:232,1
    - Dst: std::make_unique<CleanCoverage::IndexMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - mergeStrategyId
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: geos::coverage::CoverageCleaner::mergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::make_unique<CleanCoverage::IndexMergeStrategy>
    - std::make_unique<CleanCoverage::AreaMergeStrategy>
    - std::make_unique<CleanCoverage::BorderMergeStrategy>
    linkageType: ''
    returnType: std::unique_ptr<CleanCoverage::MergeStrategy>
    signature: std::unique_ptr<CleanCoverage::MergeStrategy> CoverageCleaner::mergeStrategy(int
      mergeStrategyId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::node
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:249,1
    - Dst: geos::dissolve::LineDissolver::dissolve
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: geos::coverage::CoverageCleaner::polygonize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::make_unique<CleanCoverage>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: geos::coverage::CoverageCleaner::createCoverageIndex
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:263,1
    - Dst: geos::coverage::CoverageCleaner::classifyResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:264,1
    - Dst: geos::coverage::CoverageCleaner::findMergableGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: geos::coverage::CoverageCleaner::computeResultants
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<CleanCoverage>
    - std::unique_ptr::get
    - size
    - geos::coverage::CoverageCleaner::createCoverageIndex
    - geos::coverage::CoverageCleaner::node
    - geos::coverage::CoverageCleaner::polygonize
    - geos::coverage::CoverageCleaner::findMergableGaps
    - geos::coverage::CoverageCleaner::classifyResult
    - geos::dissolve::LineDissolver::dissolve
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::computeResultants(double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:275,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:276,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: geos::coverage::CoverageCleaner::createCoverageIndex
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
    - size
    - insert
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::createCoverageIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:286,1
    - Dst: geos::coverage::CoverageCleaner::classifyResultant
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rs'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::coverage::CoverageCleaner::classifyResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::coverage::CoverageCleaner::classifyResultant
    - get
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResult(std::vector<std::unique_ptr<Polygon>>&
      rs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getInteriorPoint
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:296,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: std::unique_ptr::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: geos::coverage::CoverageCleaner::covers
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:312,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:313,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:324,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:326,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:328,1
    - Dst: add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - resultIndex
    - resPoly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 333
    functionName: geos::coverage::CoverageCleaner::classifyResultant
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - std::vector::empty
    - std::unique_ptr::get
    - add
    - push_back
    - geos::coverage::CoverageCleaner::covers
    - std::vector::push_back
    - query
    - Polygon*::getInteriorPoint
    - std::unique_ptr::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResultant(std::size_t resultIndex, const
      Polygon* resPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::isContained
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:340,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - poly
    - intPt
    argTypes:
    - Geometry*
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: geos::coverage::CoverageCleaner::covers
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::isContained
    - Point*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::covers(const Geometry* poly, const Point* intPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_if
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::begin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::end
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::back_inserter
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:353,1
    - Dst: geos::coverage::CoverageCleaner::isMergableGap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_gaps
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::coverage::CoverageCleaner::findMergableGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageCleaner::isMergableGap
    - std::copy_if
    - std::vector<const Polygon*>::begin
    - std::back_inserter
    - std::vector<const Polygon*>::end
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::findMergableGaps(std::vector<const
      Polygon*> p_gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoverageCleaner::isMergableGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isMergableGap(const Polygon* gap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:379,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cleanEdges
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: geos::coverage::CoverageCleaner::polygonize
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - Polygonizer::add
    - Polygonizer::getPolygons
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Polygon>>
    signature: std::vector<std::unique_ptr<geom::Polygon>> CoverageCleaner::polygonize(const
      Geometry* cleanEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:392,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - geomFact
    argTypes:
    - std::vector<SegmentString*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: geos::coverage::CoverageCleaner::toGeometry
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 1
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::unique_ptr::release
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoverageCleaner::toGeometry(\n    std::vector<SegmentString*>&
      segStrings,\n    const GeometryFactory* geomFact)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::isPolygonal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:409,1
    - Dst: isEmpty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:411,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:413,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: SnappingNoder::computeNodes
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:422,1
    - Dst: SnappingNoder::getNodedSubstrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:423,1
    - Dst: geos::coverage::CoverageCleaner::toGeometry
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_snapDistance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 434
    functionName: geos::coverage::CoverageCleaner::node
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - SnappingNoder::getNodedSubstrings
    - SnappingNoder::computeNodes
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geos::coverage::CoverageCleaner::isPolygonal
    - geos::coverage::CoverageCleaner::toGeometry
    - std::vector::push_back
    - const_cast<SegmentString*>
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageCleaner::node(std::vector<const Geometry*>&
      p_coverage, double p_snapDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:440,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: geos::coverage::CoverageCleaner::isPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isPolygonal(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:449,1
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:451,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:453,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: geos::coverage::CoverageCleaner::toPolygonArray
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - std::vector::push_back
    - std::vector::resize
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::toPolygonArray(const Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:63,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:64,1
    - Dst: CoverageCleaner::setOverlapMergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:65,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:66,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 8
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::setOverlapMergeStrategy
    - CoverageCleaner::getResult
    - CoverageCleaner::setSnappingDistance
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    int p_overlapMergeStrategy,\n
      \   double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:78,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:79,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:80,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 8
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setSnappingDistance
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::getResult
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageCleaner::cleanOverlapGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanOverlapGap(std::vector<const
      Geometry*>& p_coverage,\n      int p_overlapMergeStrategy,\n      double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: geos::coverage::CoverageCleaner::cleanGapWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanGapWidth(std::vector<const
      Geometry*>& p_coverage,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::coverage::CoverageCleaner::CoverageCleaner
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::CoverageCleaner(std::vector<const Geometry*>&
      p_coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_snappingDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageCleaner::setSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setSnappingDistance(double p_snappingDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mergeStrategy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::coverage::CoverageCleaner::setOverlapMergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setOverlapMergeStrategy(int mergeStrategy)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - maxWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::coverage::CoverageCleaner::setGapMaximumWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setGapMaximumWidth(double maxWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::computeResultants
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:149,1
    - Dst: geos::coverage::CoverageCleaner::mergeOverlaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:153,1
    - Dst: mergeGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 10
    functionsReached:
    - geos::coverage::CoverageCleaner::computeResultants
    - mergeGaps
    - geos::coverage::CoverageCleaner::mergeOverlaps
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toCoverage
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: geos::coverage::CoverageCleaner::getResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - toCoverage
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageCleaner::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::coverage::CoverageCleaner::getOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getOverlaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::coverage::CoverageCleaner::getMergedGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getMergedGaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::extent
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoverageCleaner::extent
    linkageType: ''
    returnType: double
    signature: double CoverageCleaner::computeDefaultSnappingDistance(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::coverage::CoverageCleaner::extent
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CoverageCleaner::extent(std::vector<const Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::mergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:213,1
    - Dst: mergeOverlap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:214,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' overlapParentMap_p'
    argTypes:
    - std::map<std::size_t, std::vector<std::size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: geos::coverage::CoverageCleaner::mergeOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoverageCleaner::mergeStrategy
    - get
    - mergeOverlap
    linkageType: ''
    returnType: void
    signature: "void CoverageCleaner::mergeOverlaps(\n    std::map<std::size_t, std::vector<std::size_t>>&
      overlapParentMap_p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanCoverage::BorderMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:228,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:230,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:232,1
    - Dst: std::make_unique<CleanCoverage::IndexMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - mergeStrategyId
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: geos::coverage::CoverageCleaner::mergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::make_unique<CleanCoverage::IndexMergeStrategy>
    - std::make_unique<CleanCoverage::AreaMergeStrategy>
    - std::make_unique<CleanCoverage::BorderMergeStrategy>
    linkageType: ''
    returnType: std::unique_ptr<CleanCoverage::MergeStrategy>
    signature: std::unique_ptr<CleanCoverage::MergeStrategy> CoverageCleaner::mergeStrategy(int
      mergeStrategyId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::node
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:249,1
    - Dst: geos::dissolve::LineDissolver::dissolve
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: geos::coverage::CoverageCleaner::polygonize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::make_unique<CleanCoverage>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: geos::coverage::CoverageCleaner::createCoverageIndex
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:263,1
    - Dst: geos::coverage::CoverageCleaner::classifyResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:264,1
    - Dst: geos::coverage::CoverageCleaner::findMergableGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: geos::coverage::CoverageCleaner::computeResultants
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<CleanCoverage>
    - std::unique_ptr::get
    - size
    - geos::coverage::CoverageCleaner::createCoverageIndex
    - geos::coverage::CoverageCleaner::node
    - geos::coverage::CoverageCleaner::polygonize
    - geos::coverage::CoverageCleaner::findMergableGaps
    - geos::coverage::CoverageCleaner::classifyResult
    - geos::dissolve::LineDissolver::dissolve
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::computeResultants(double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:275,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:276,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: geos::coverage::CoverageCleaner::createCoverageIndex
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
    - size
    - insert
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::createCoverageIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:286,1
    - Dst: geos::coverage::CoverageCleaner::classifyResultant
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rs'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::coverage::CoverageCleaner::classifyResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::coverage::CoverageCleaner::classifyResultant
    - get
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResult(std::vector<std::unique_ptr<Polygon>>&
      rs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getInteriorPoint
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:296,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: std::unique_ptr::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: geos::coverage::CoverageCleaner::covers
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:312,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:313,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:324,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:326,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:328,1
    - Dst: add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - resultIndex
    - resPoly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 333
    functionName: geos::coverage::CoverageCleaner::classifyResultant
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - std::vector::empty
    - std::unique_ptr::get
    - add
    - push_back
    - geos::coverage::CoverageCleaner::covers
    - std::vector::push_back
    - query
    - Polygon*::getInteriorPoint
    - std::unique_ptr::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResultant(std::size_t resultIndex, const
      Polygon* resPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::isContained
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:340,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - poly
    - intPt
    argTypes:
    - Geometry*
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: geos::coverage::CoverageCleaner::covers
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::isContained
    - Point*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::covers(const Geometry* poly, const Point* intPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_if
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::begin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::end
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::back_inserter
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:353,1
    - Dst: geos::coverage::CoverageCleaner::isMergableGap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_gaps
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::coverage::CoverageCleaner::findMergableGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoverageCleaner::isMergableGap
    - std::copy_if
    - std::vector<const Polygon*>::begin
    - std::back_inserter
    - std::vector<const Polygon*>::end
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::findMergableGaps(std::vector<const
      Polygon*> p_gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoverageCleaner::isMergableGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isMergableGap(const Polygon* gap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:379,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cleanEdges
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: geos::coverage::CoverageCleaner::polygonize
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - Polygonizer::add
    - Polygonizer::getPolygons
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Polygon>>
    signature: std::vector<std::unique_ptr<geom::Polygon>> CoverageCleaner::polygonize(const
      Geometry* cleanEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:392,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - geomFact
    argTypes:
    - std::vector<SegmentString*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: geos::coverage::CoverageCleaner::toGeometry
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::unique_ptr::release
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoverageCleaner::toGeometry(\n    std::vector<SegmentString*>&
      segStrings,\n    const GeometryFactory* geomFact)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::isPolygonal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:409,1
    - Dst: isEmpty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:411,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:413,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: SnappingNoder::computeNodes
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:422,1
    - Dst: SnappingNoder::getNodedSubstrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:423,1
    - Dst: geos::coverage::CoverageCleaner::toGeometry
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_snapDistance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 434
    functionName: geos::coverage::CoverageCleaner::node
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - SnappingNoder::getNodedSubstrings
    - SnappingNoder::computeNodes
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geos::coverage::CoverageCleaner::isPolygonal
    - geos::coverage::CoverageCleaner::toGeometry
    - std::vector::push_back
    - const_cast<SegmentString*>
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageCleaner::node(std::vector<const Geometry*>&
      p_coverage, double p_snapDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:440,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: geos::coverage::CoverageCleaner::isPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isPolygonal(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:449,1
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:451,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:453,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: geos::coverage::CoverageCleaner::toPolygonArray
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - std::vector::push_back
    - std::vector::resize
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::toPolygonArray(const Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:63,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:64,1
    - Dst: CoverageCleaner::setOverlapMergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:65,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:66,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 10
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::setOverlapMergeStrategy
    - CoverageCleaner::getResult
    - CoverageCleaner::setSnappingDistance
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    int p_overlapMergeStrategy,\n
      \   double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageCleaner::setSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:78,1
    - Dst: CoverageCleaner::setGapMaximumWidth
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:79,1
    - Dst: CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:80,1
    - Dst: CoverageCleaner::getResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_snappingDistance
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 10
    functionsReached:
    - CoverageCleaner::clean
    - CoverageCleaner::setSnappingDistance
    - CoverageCleaner::setGapMaximumWidth
    - CoverageCleaner::getResult
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::clean(std::vector<const
      Geometry*>& p_coverage,\n    double p_snappingDistance,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p_coverage'
    - p_overlapMergeStrategy
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageCleaner::cleanOverlapGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanOverlapGap(std::vector<const
      Geometry*>& p_coverage,\n      int p_overlapMergeStrategy,\n      double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::clean
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_maxGapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: geos::coverage::CoverageCleaner::cleanGapWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageCleaner::clean
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageCleaner::cleanGapWidth(std::vector<const
      Geometry*>& p_coverage,\n    double p_maxGapWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:107,1
    - Dst: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p_coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::coverage::CoverageCleaner::CoverageCleaner
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::CoverageCleaner(std::vector<const Geometry*>&
      p_coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_snappingDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageCleaner::setSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setSnappingDistance(double p_snappingDistance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mergeStrategy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::coverage::CoverageCleaner::setOverlapMergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setOverlapMergeStrategy(int mergeStrategy)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - maxWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::coverage::CoverageCleaner::setGapMaximumWidth
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::setGapMaximumWidth(double maxWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::computeResultants
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:149,1
    - Dst: geos::coverage::CoverageCleaner::mergeOverlaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:153,1
    - Dst: mergeGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageCleaner::clean
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 12
    functionsReached:
    - geos::coverage::CoverageCleaner::computeResultants
    - mergeGaps
    - geos::coverage::CoverageCleaner::mergeOverlaps
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toCoverage
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: geos::coverage::CoverageCleaner::getResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - toCoverage
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageCleaner::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: geos::coverage::CoverageCleaner::getOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getOverlaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::coverage::CoverageCleaner::getMergedGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::getMergedGaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::extent
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: geos::coverage::CoverageCleaner::computeDefaultSnappingDistance
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageCleaner::extent
    linkageType: ''
    returnType: double
    signature: double CoverageCleaner::computeDefaultSnappingDistance(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: geos::coverage::CoverageCleaner::extent
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CoverageCleaner::extent(std::vector<const Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::mergeStrategy
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:213,1
    - Dst: mergeOverlap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:214,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' overlapParentMap_p'
    argTypes:
    - std::map<std::size_t, std::vector<std::size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: geos::coverage::CoverageCleaner::mergeOverlaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageCleaner::mergeStrategy
    - get
    - mergeOverlap
    linkageType: ''
    returnType: void
    signature: "void CoverageCleaner::mergeOverlaps(\n    std::map<std::size_t, std::vector<std::size_t>>&
      overlapParentMap_p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanCoverage::BorderMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:228,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:230,1
    - Dst: std::make_unique<CleanCoverage::AreaMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:232,1
    - Dst: std::make_unique<CleanCoverage::IndexMergeStrategy>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:234,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - mergeStrategyId
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: geos::coverage::CoverageCleaner::mergeStrategy
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::make_unique<CleanCoverage::IndexMergeStrategy>
    - std::make_unique<CleanCoverage::AreaMergeStrategy>
    - std::make_unique<CleanCoverage::BorderMergeStrategy>
    linkageType: ''
    returnType: std::unique_ptr<CleanCoverage::MergeStrategy>
    signature: std::unique_ptr<CleanCoverage::MergeStrategy> CoverageCleaner::mergeStrategy(int
      mergeStrategyId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::node
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:249,1
    - Dst: geos::dissolve::LineDissolver::dissolve
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:253,1
    - Dst: geos::coverage::CoverageCleaner::polygonize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:257,1
    - Dst: std::make_unique<CleanCoverage>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:260,1
    - Dst: geos::coverage::CoverageCleaner::createCoverageIndex
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:263,1
    - Dst: geos::coverage::CoverageCleaner::classifyResult
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:264,1
    - Dst: geos::coverage::CoverageCleaner::findMergableGaps
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: geos::coverage::CoverageCleaner::computeResultants
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<CleanCoverage>
    - std::unique_ptr::get
    - size
    - geos::coverage::CoverageCleaner::createCoverageIndex
    - geos::coverage::CoverageCleaner::node
    - geos::coverage::CoverageCleaner::polygonize
    - geos::coverage::CoverageCleaner::findMergableGaps
    - geos::coverage::CoverageCleaner::classifyResult
    - geos::dissolve::LineDissolver::dissolve
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::computeResultants(double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:275,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:276,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: geos::coverage::CoverageCleaner::createCoverageIndex
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<index::strtree::TemplateSTRtree<std::size_t>>
    - size
    - insert
    - getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::createCoverageIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:286,1
    - Dst: geos::coverage::CoverageCleaner::classifyResultant
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rs'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::coverage::CoverageCleaner::classifyResult
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::coverage::CoverageCleaner::classifyResultant
    - get
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResult(std::vector<std::unique_ptr<Polygon>>&
      rs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getInteriorPoint
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:296,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: std::unique_ptr::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:301,1
    - Dst: geos::coverage::CoverageCleaner::covers
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:305,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:312,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:313,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:324,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:326,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:328,1
    - Dst: add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - resultIndex
    - resPoly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 333
    functionName: geos::coverage::CoverageCleaner::classifyResultant
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - std::vector::empty
    - std::unique_ptr::get
    - add
    - push_back
    - geos::coverage::CoverageCleaner::covers
    - std::vector::push_back
    - query
    - Polygon*::getInteriorPoint
    - std::unique_ptr::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoverageCleaner::classifyResultant(std::size_t resultIndex, const
      Polygon* resPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::isContained
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:340,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - poly
    - intPt
    argTypes:
    - Geometry*
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: geos::coverage::CoverageCleaner::covers
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::isContained
    - Point*::getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::covers(const Geometry* poly, const Point* intPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_if
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::begin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::vector<const Polygon*>::end
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:352,1
    - Dst: std::back_inserter
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:353,1
    - Dst: geos::coverage::CoverageCleaner::isMergableGap
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_gaps
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: geos::coverage::CoverageCleaner::findMergableGaps
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageCleaner::isMergableGap
    - std::copy_if
    - std::vector<const Polygon*>::begin
    - std::back_inserter
    - std::vector<const Polygon*>::end
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::findMergableGaps(std::vector<const
      Polygon*> p_gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoverageCleaner::isMergableGap
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::construct::MaximumInscribedCircle::isRadiusWithin
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isMergableGap(const Polygon* gap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:379,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cleanEdges
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: geos::coverage::CoverageCleaner::polygonize
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - Polygonizer::add
    - Polygonizer::getPolygons
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Polygon>>
    signature: std::vector<std::unique_ptr<geom::Polygon>> CoverageCleaner::polygonize(const
      Geometry* cleanEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:392,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:393,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:394,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:396,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - geomFact
    argTypes:
    - std::vector<SegmentString*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: geos::coverage::CoverageCleaner::toGeometry
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 3
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::unique_ptr::release
    - std::vector::size
    - GeometryFactory*::createLineString
    - std::move
    - std::vector::emplace_back
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoverageCleaner::toGeometry(\n    std::vector<SegmentString*>&
      segStrings,\n    const GeometryFactory* geomFact)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageCleaner::isPolygonal
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:409,1
    - Dst: isEmpty
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:411,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:413,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:418,1
    - Dst: SnappingNoder::computeNodes
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:422,1
    - Dst: SnappingNoder::getNodedSubstrings
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:423,1
    - Dst: geos::coverage::CoverageCleaner::toGeometry
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ' p_coverage'
    - p_snapDistance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 434
    functionName: geos::coverage::CoverageCleaner::node
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - SnappingNoder::getNodedSubstrings
    - SnappingNoder::computeNodes
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geos::coverage::CoverageCleaner::isPolygonal
    - geos::coverage::CoverageCleaner::toGeometry
    - std::vector::push_back
    - const_cast<SegmentString*>
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageCleaner::node(std::vector<const Geometry*>&
      p_coverage, double p_snapDistance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:440,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: geos::coverage::CoverageCleaner::isPolygonal
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool CoverageCleaner::isPolygonal(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:449,1
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:451,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:453,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/coverage/CoverageCleaner.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: geos::coverage::CoverageCleaner::toPolygonArray
    functionSourceFile: /src/geos/src/coverage/CoverageCleaner.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - std::vector::push_back
    - std::vector::resize
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoverageCleaner::toPolygonArray(const Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: geos::coverage::CleanCoverage::CleanCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanCoverage(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanArea>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:59,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - poly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::coverage::CleanCoverage::add
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<CleanArea>
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::add(std::size_t i, const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:71,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - overlap
    - ' mergeStrategy'
    - ' parentIndexes'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::coverage::CleanCoverage::mergeOverlap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::findMergeTarget
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: "void CleanCoverage::mergeOverlap(const Polygon* overlap,\n    MergeStrategy&
      mergeStrategy,\n    std::vector<std::size_t>& parentIndexes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: back_inserter
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: std::sort
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: checkMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: getTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - poly
    - ' strategy'
    - ' parentIndexes'
    - ' cov'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    - std::vector<std::unique_ptr<CleanArea>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: geos::coverage::CleanCoverage::findMergeTarget
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 1
    functionsReached:
    - back_inserter
    - std::vector::begin
    - std::copy
    - checkMergeTarget
    - getTarget
    - get
    - std::vector::end
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CleanCoverage::findMergeTarget(const Polygon* poly,\n
      \   MergeStrategy& strategy,\n    std::vector<std::size_t>& parentIndexes,\n
      \   std::vector<std::unique_ptr<CleanArea>>& cov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::createIndex
      Src: /src/geos/src/coverage/CleanCoverage.cpp:99,1
    - Dst: geos::coverage::CleanCoverage::mergeGap
      Src: /src/geos/src/coverage/CleanCoverage.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gaps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::coverage::CleanCoverage::mergeGaps
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::createIndex
    - geos::coverage::CleanCoverage::mergeGap
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGaps(std::vector<const Polygon*>& gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findAdjacentAreas
      Src: /src/geos/src/coverage/CleanCoverage.cpp:110,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:117,1
    - Dst: geos::coverage::CleanCoverage::findMaxBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:120,1
    - Dst: remove
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:122,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: geos::coverage::CleanCoverage::mergeGap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - CleanArea*::getEnvelope
    - insert
    - geos::coverage::CleanCoverage::findMaxBorderLength
    - remove
    - CleanArea*::add
    - geos::coverage::CleanCoverage::findAdjacentAreas
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGap(const Polygon* gap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - poly
    - ' areas'
    argTypes:
    - Polygon*
    - std::vector<CleanArea*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: geos::coverage::CleanCoverage::findMaxBorderLength
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 1
    functionsReached:
    - getBorderLength
    linkageType: ''
    returnType: CleanArea
    signature: "CleanArea *\nCleanCoverage::findMaxBorderLength(const Polygon* poly,\n
      \   std::vector<CleanArea*>& areas)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/src/coverage/CleanCoverage.cpp:150,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:151,1
    - Dst: query
      Src: /src/geos/src/coverage/CleanCoverage.cpp:154,1
    - Dst: static_cast<CleanArea*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:157,1
    - Dst: CleanArea*::isAdjacent
      Src: /src/geos/src/coverage/CleanCoverage.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: geos::coverage::CleanCoverage::findAdjacentAreas
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 1
    functionsReached:
    - CleanArea*::isAdjacent
    - std::vector::push_back
    - geos::operation::relateng::RelateNG::prepare
    - static_cast<CleanArea*>
    - Geometry*::getEnvelopeInternal
    - query
    linkageType: ''
    returnType: std::vector<CleanArea*>
    signature: std::vector<CleanArea*> CleanCoverage::findAdjacentAreas(const Geometry*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Quadtree>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:170,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:171,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: geos::coverage::CleanCoverage::createIndex
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 1
    functionsReached:
    - insert
    - size
    - getEnvelope
    - std::make_unique<Quadtree>
    - get
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::createIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:186,1
    - Dst: GeometryFactory*::createEmpty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:189,1
    - Dst: getUnion
      Src: /src/geos/src/coverage/CleanCoverage.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: geos::coverage::CleanCoverage::toCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::resize
    - GeometryFactory*::createEmpty
    - getUnion
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CleanCoverage::toCoverage(const
      GeometryFactory* geomFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: CleanCoverage::CleanArea::add(const Polygon* poly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanArea::add(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/coverage/CleanCoverage.cpp:214,1
    - Dst: expandToInclude
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: '*

      CleanCoverage::CleanArea::getEnvelope()'
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getEnvelopeInternal
    - init
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      CleanCoverage::CleanArea::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/coverage/CleanCoverage.cpp:230,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:231,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:232,1
    - Dst: auto::getLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - adjPoly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - auto::getLength
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/coverage/CleanCoverage.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: CleanCoverage::CleanArea::getArea()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - getArea
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getArea()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:260,1
    - Dst: evaluate
      Src: /src/geos/src/coverage/CleanCoverage.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rel'
    argTypes:
    - RelateNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Geometry*>
    - evaluate
    linkageType: ''
    returnType: bool
    signature: bool CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CleanCoverage.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: CleanCoverage::CleanArea::getUnion()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageUnion::Union
    - std::vector::push_back
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CleanCoverage::CleanArea::getUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: geos::coverage::CleanCoverage::CleanCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanCoverage(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanArea>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:59,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - poly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::coverage::CleanCoverage::add
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<CleanArea>
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::add(std::size_t i, const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:71,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - overlap
    - ' mergeStrategy'
    - ' parentIndexes'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::coverage::CleanCoverage::mergeOverlap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::findMergeTarget
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: "void CleanCoverage::mergeOverlap(const Polygon* overlap,\n    MergeStrategy&
      mergeStrategy,\n    std::vector<std::size_t>& parentIndexes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: back_inserter
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: std::sort
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: checkMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: getTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - poly
    - ' strategy'
    - ' parentIndexes'
    - ' cov'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    - std::vector<std::unique_ptr<CleanArea>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: geos::coverage::CleanCoverage::findMergeTarget
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 2
    functionsReached:
    - back_inserter
    - std::vector::begin
    - std::copy
    - checkMergeTarget
    - getTarget
    - get
    - std::vector::end
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CleanCoverage::findMergeTarget(const Polygon* poly,\n
      \   MergeStrategy& strategy,\n    std::vector<std::size_t>& parentIndexes,\n
      \   std::vector<std::unique_ptr<CleanArea>>& cov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::createIndex
      Src: /src/geos/src/coverage/CleanCoverage.cpp:99,1
    - Dst: geos::coverage::CleanCoverage::mergeGap
      Src: /src/geos/src/coverage/CleanCoverage.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gaps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::coverage::CleanCoverage::mergeGaps
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::createIndex
    - geos::coverage::CleanCoverage::mergeGap
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGaps(std::vector<const Polygon*>& gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findAdjacentAreas
      Src: /src/geos/src/coverage/CleanCoverage.cpp:110,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:117,1
    - Dst: geos::coverage::CleanCoverage::findMaxBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:120,1
    - Dst: remove
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:122,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: geos::coverage::CleanCoverage::mergeGap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 2
    functionsReached:
    - std::vector::empty
    - CleanArea*::getEnvelope
    - insert
    - geos::coverage::CleanCoverage::findMaxBorderLength
    - remove
    - CleanArea*::add
    - geos::coverage::CleanCoverage::findAdjacentAreas
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGap(const Polygon* gap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - poly
    - ' areas'
    argTypes:
    - Polygon*
    - std::vector<CleanArea*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: geos::coverage::CleanCoverage::findMaxBorderLength
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 2
    functionsReached:
    - getBorderLength
    linkageType: ''
    returnType: CleanArea
    signature: "CleanArea *\nCleanCoverage::findMaxBorderLength(const Polygon* poly,\n
      \   std::vector<CleanArea*>& areas)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/src/coverage/CleanCoverage.cpp:150,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:151,1
    - Dst: query
      Src: /src/geos/src/coverage/CleanCoverage.cpp:154,1
    - Dst: static_cast<CleanArea*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:157,1
    - Dst: CleanArea*::isAdjacent
      Src: /src/geos/src/coverage/CleanCoverage.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: geos::coverage::CleanCoverage::findAdjacentAreas
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 2
    functionsReached:
    - CleanArea*::isAdjacent
    - std::vector::push_back
    - geos::operation::relateng::RelateNG::prepare
    - static_cast<CleanArea*>
    - Geometry*::getEnvelopeInternal
    - query
    linkageType: ''
    returnType: std::vector<CleanArea*>
    signature: std::vector<CleanArea*> CleanCoverage::findAdjacentAreas(const Geometry*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Quadtree>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:170,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:171,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: geos::coverage::CleanCoverage::createIndex
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 2
    functionsReached:
    - insert
    - size
    - getEnvelope
    - std::make_unique<Quadtree>
    - get
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::createIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:186,1
    - Dst: GeometryFactory*::createEmpty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:189,1
    - Dst: getUnion
      Src: /src/geos/src/coverage/CleanCoverage.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: geos::coverage::CleanCoverage::toCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::resize
    - GeometryFactory*::createEmpty
    - getUnion
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CleanCoverage::toCoverage(const
      GeometryFactory* geomFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: CleanCoverage::CleanArea::add(const Polygon* poly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanArea::add(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/coverage/CleanCoverage.cpp:214,1
    - Dst: expandToInclude
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: '*

      CleanCoverage::CleanArea::getEnvelope()'
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getEnvelopeInternal
    - init
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      CleanCoverage::CleanArea::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/coverage/CleanCoverage.cpp:230,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:231,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:232,1
    - Dst: auto::getLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - adjPoly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - auto::getLength
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/coverage/CleanCoverage.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: CleanCoverage::CleanArea::getArea()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - getArea
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getArea()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:260,1
    - Dst: evaluate
      Src: /src/geos/src/coverage/CleanCoverage.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rel'
    argTypes:
    - RelateNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Geometry*>
    - evaluate
    linkageType: ''
    returnType: bool
    signature: bool CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CleanCoverage.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: CleanCoverage::CleanArea::getUnion()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageUnion::Union
    - std::vector::push_back
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CleanCoverage::CleanArea::getUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: geos::coverage::CleanCoverage::CleanCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanCoverage(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanArea>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:59,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - poly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::coverage::CleanCoverage::add
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 5
    functionsReached:
    - std::make_unique<CleanArea>
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::add(std::size_t i, const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:71,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - overlap
    - ' mergeStrategy'
    - ' parentIndexes'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::coverage::CleanCoverage::mergeOverlap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::findMergeTarget
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: "void CleanCoverage::mergeOverlap(const Polygon* overlap,\n    MergeStrategy&
      mergeStrategy,\n    std::vector<std::size_t>& parentIndexes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: back_inserter
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: std::sort
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: checkMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: getTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - poly
    - ' strategy'
    - ' parentIndexes'
    - ' cov'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    - std::vector<std::unique_ptr<CleanArea>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: geos::coverage::CleanCoverage::findMergeTarget
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 3
    functionsReached:
    - back_inserter
    - std::vector::begin
    - std::copy
    - checkMergeTarget
    - getTarget
    - get
    - std::vector::end
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CleanCoverage::findMergeTarget(const Polygon* poly,\n
      \   MergeStrategy& strategy,\n    std::vector<std::size_t>& parentIndexes,\n
      \   std::vector<std::unique_ptr<CleanArea>>& cov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::createIndex
      Src: /src/geos/src/coverage/CleanCoverage.cpp:99,1
    - Dst: geos::coverage::CleanCoverage::mergeGap
      Src: /src/geos/src/coverage/CleanCoverage.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gaps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::coverage::CleanCoverage::mergeGaps
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::createIndex
    - geos::coverage::CleanCoverage::mergeGap
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGaps(std::vector<const Polygon*>& gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findAdjacentAreas
      Src: /src/geos/src/coverage/CleanCoverage.cpp:110,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:117,1
    - Dst: geos::coverage::CleanCoverage::findMaxBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:120,1
    - Dst: remove
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:122,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: geos::coverage::CleanCoverage::mergeGap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 3
    functionsReached:
    - std::vector::empty
    - CleanArea*::getEnvelope
    - insert
    - geos::coverage::CleanCoverage::findMaxBorderLength
    - remove
    - CleanArea*::add
    - geos::coverage::CleanCoverage::findAdjacentAreas
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGap(const Polygon* gap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - poly
    - ' areas'
    argTypes:
    - Polygon*
    - std::vector<CleanArea*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: geos::coverage::CleanCoverage::findMaxBorderLength
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 3
    functionsReached:
    - getBorderLength
    linkageType: ''
    returnType: CleanArea
    signature: "CleanArea *\nCleanCoverage::findMaxBorderLength(const Polygon* poly,\n
      \   std::vector<CleanArea*>& areas)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/src/coverage/CleanCoverage.cpp:150,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:151,1
    - Dst: query
      Src: /src/geos/src/coverage/CleanCoverage.cpp:154,1
    - Dst: static_cast<CleanArea*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:157,1
    - Dst: CleanArea*::isAdjacent
      Src: /src/geos/src/coverage/CleanCoverage.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: geos::coverage::CleanCoverage::findAdjacentAreas
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 3
    functionsReached:
    - CleanArea*::isAdjacent
    - std::vector::push_back
    - geos::operation::relateng::RelateNG::prepare
    - static_cast<CleanArea*>
    - Geometry*::getEnvelopeInternal
    - query
    linkageType: ''
    returnType: std::vector<CleanArea*>
    signature: std::vector<CleanArea*> CleanCoverage::findAdjacentAreas(const Geometry*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Quadtree>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:170,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:171,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: geos::coverage::CleanCoverage::createIndex
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 3
    functionsReached:
    - insert
    - size
    - getEnvelope
    - std::make_unique<Quadtree>
    - get
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::createIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:186,1
    - Dst: GeometryFactory*::createEmpty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:189,1
    - Dst: getUnion
      Src: /src/geos/src/coverage/CleanCoverage.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: geos::coverage::CleanCoverage::toCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::resize
    - GeometryFactory*::createEmpty
    - getUnion
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CleanCoverage::toCoverage(const
      GeometryFactory* geomFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: CleanCoverage::CleanArea::add(const Polygon* poly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanArea::add(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/coverage/CleanCoverage.cpp:214,1
    - Dst: expandToInclude
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: '*

      CleanCoverage::CleanArea::getEnvelope()'
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getEnvelopeInternal
    - init
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      CleanCoverage::CleanArea::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/coverage/CleanCoverage.cpp:230,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:231,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:232,1
    - Dst: auto::getLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - adjPoly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - auto::getLength
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/coverage/CleanCoverage.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: CleanCoverage::CleanArea::getArea()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - getArea
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getArea()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:260,1
    - Dst: evaluate
      Src: /src/geos/src/coverage/CleanCoverage.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rel'
    argTypes:
    - RelateNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Geometry*>
    - evaluate
    linkageType: ''
    returnType: bool
    signature: bool CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CleanCoverage.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: CleanCoverage::CleanArea::getUnion()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageUnion::Union
    - std::vector::push_back
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CleanCoverage::CleanArea::getUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: geos::coverage::CleanCoverage::CleanCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanCoverage(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CleanArea>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:59,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i
    - poly
    argTypes:
    - std::size_t
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: geos::coverage::CleanCoverage::add
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 7
    functionsReached:
    - std::make_unique<CleanArea>
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::add(std::size_t i, const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:71,1
    - Dst: geos::coverage::CleanCoverage::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - overlap
    - ' mergeStrategy'
    - ' parentIndexes'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::coverage::CleanCoverage::mergeOverlap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::findMergeTarget
    - geos::coverage::CleanCoverage::add
    linkageType: ''
    returnType: void
    signature: "void CleanCoverage::mergeOverlap(const Polygon* overlap,\n    MergeStrategy&
      mergeStrategy,\n    std::vector<std::size_t>& parentIndexes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: back_inserter
      Src: /src/geos/src/coverage/CleanCoverage.cpp:85,1
    - Dst: std::sort
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CleanCoverage.cpp:86,1
    - Dst: checkMergeTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:89,1
    - Dst: getTarget
      Src: /src/geos/src/coverage/CleanCoverage.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - poly
    - ' strategy'
    - ' parentIndexes'
    - ' cov'
    argTypes:
    - Polygon*
    - MergeStrategy
    - std::vector<std::size_t>
    - std::vector<std::unique_ptr<CleanArea>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: geos::coverage::CleanCoverage::findMergeTarget
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 4
    functionsReached:
    - back_inserter
    - std::vector::begin
    - std::copy
    - checkMergeTarget
    - getTarget
    - get
    - std::vector::end
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t CleanCoverage::findMergeTarget(const Polygon* poly,\n
      \   MergeStrategy& strategy,\n    std::vector<std::size_t>& parentIndexes,\n
      \   std::vector<std::unique_ptr<CleanArea>>& cov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::createIndex
      Src: /src/geos/src/coverage/CleanCoverage.cpp:99,1
    - Dst: geos::coverage::CleanCoverage::mergeGap
      Src: /src/geos/src/coverage/CleanCoverage.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gaps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::coverage::CleanCoverage::mergeGaps
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CleanCoverage::createIndex
    - geos::coverage::CleanCoverage::mergeGap
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGaps(std::vector<const Polygon*>& gaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CleanCoverage::findAdjacentAreas
      Src: /src/geos/src/coverage/CleanCoverage.cpp:110,1
    - Dst: std::vector::empty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:117,1
    - Dst: geos::coverage::CleanCoverage::findMaxBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:120,1
    - Dst: remove
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:121,1
    - Dst: CleanArea*::add
      Src: /src/geos/src/coverage/CleanCoverage.cpp:122,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    - Dst: CleanArea*::getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gap
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: geos::coverage::CleanCoverage::mergeGap
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 4
    functionsReached:
    - std::vector::empty
    - CleanArea*::getEnvelope
    - insert
    - geos::coverage::CleanCoverage::findMaxBorderLength
    - remove
    - CleanArea*::add
    - geos::coverage::CleanCoverage::findAdjacentAreas
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::mergeGap(const Polygon* gap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBorderLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - poly
    - ' areas'
    argTypes:
    - Polygon*
    - std::vector<CleanArea*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: geos::coverage::CleanCoverage::findMaxBorderLength
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 4
    functionsReached:
    - getBorderLength
    linkageType: ''
    returnType: CleanArea
    signature: "CleanArea *\nCleanCoverage::findMaxBorderLength(const Polygon* poly,\n
      \   std::vector<CleanArea*>& areas)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::prepare
      Src: /src/geos/src/coverage/CleanCoverage.cpp:150,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:151,1
    - Dst: query
      Src: /src/geos/src/coverage/CleanCoverage.cpp:154,1
    - Dst: static_cast<CleanArea*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:157,1
    - Dst: CleanArea*::isAdjacent
      Src: /src/geos/src/coverage/CleanCoverage.cpp:158,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: geos::coverage::CleanCoverage::findAdjacentAreas
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 4
    functionsReached:
    - CleanArea*::isAdjacent
    - std::vector::push_back
    - geos::operation::relateng::RelateNG::prepare
    - static_cast<CleanArea*>
    - Geometry*::getEnvelopeInternal
    - query
    linkageType: ''
    returnType: std::vector<CleanArea*>
    signature: std::vector<CleanArea*> CleanCoverage::findAdjacentAreas(const Geometry*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Quadtree>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:170,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:171,1
    - Dst: insert
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: static_cast<void*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    - Dst: get
      Src: /src/geos/src/coverage/CleanCoverage.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: geos::coverage::CleanCoverage::createIndex
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 4
    functionsReached:
    - insert
    - size
    - getEnvelope
    - std::make_unique<Quadtree>
    - get
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::createIndex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:185,1
    - Dst: size
      Src: /src/geos/src/coverage/CleanCoverage.cpp:186,1
    - Dst: GeometryFactory*::createEmpty
      Src: /src/geos/src/coverage/CleanCoverage.cpp:189,1
    - Dst: getUnion
      Src: /src/geos/src/coverage/CleanCoverage.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: geos::coverage::CleanCoverage::toCoverage
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::resize
    - GeometryFactory*::createEmpty
    - getUnion
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CleanCoverage::toCoverage(const
      GeometryFactory* geomFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: CleanCoverage::CleanArea::add(const Polygon* poly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void CleanCoverage::CleanArea::add(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/geos/src/coverage/CleanCoverage.cpp:214,1
    - Dst: expandToInclude
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CleanCoverage.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: '*

      CleanCoverage::CleanArea::getEnvelope()'
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getEnvelopeInternal
    - init
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      CleanCoverage::CleanArea::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/coverage/CleanCoverage.cpp:230,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:231,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:232,1
    - Dst: auto::getLength
      Src: /src/geos/src/coverage/CleanCoverage.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - adjPoly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - auto::getLength
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getBorderLength(const Polygon* adjPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArea
      Src: /src/geos/src/coverage/CleanCoverage.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: CleanCoverage::CleanArea::getArea()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - getArea
    linkageType: ''
    returnType: double
    signature: double CleanCoverage::CleanArea::getArea()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:260,1
    - Dst: evaluate
      Src: /src/geos/src/coverage/CleanCoverage.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rel'
    argTypes:
    - RelateNG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Geometry*>
    - evaluate
    linkageType: ''
    returnType: bool
    signature: bool CleanCoverage::CleanArea::isAdjacent(RelateNG& rel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/coverage/CleanCoverage.cpp:275,1
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CleanCoverage.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: CleanCoverage::CleanArea::getUnion()
    functionSourceFile: /src/geos/src/coverage/CleanCoverage.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageUnion::Union
    - std::vector::push_back
    - static_cast<const Geometry*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CleanCoverage::CleanArea::getUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - getSize
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:50,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: "std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:62,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - geomFactory
    argTypes:
    - std::vector<CoverageEdge*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: geos::coverage::CoverageEdge::createLines
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> CoverageEdge::createLines(\n    const
      std::vector<CoverageEdge*>& edges,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:73,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: geos::coverage::CoverageEdge::toLineString
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createLineString
    - CoordinateSequence*::clone
    - getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> CoverageEdge::toLineString(const GeometryFactory*
      geomFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:82,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:85,1
    - Dst: auto::add
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: geos::coverage::CoverageEdge::extractEdgePoints
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> CoverageEdge::extractEdgePoints(const
      CoordinateSequence& ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:103,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:107,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:109,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:110,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:111,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - size
    - LineSegment
    - findDistinctPoint
    - compareTo
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment CoverageEdge::key(const CoordinateSequence& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:123,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:124,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:129,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:133,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - compareTo
    - LineSegment
    - findDistinctPoint
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageEdge::key(const CoordinateSequence& ring,\n    std::size_t
      start, std::size_t end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:147,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:149,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:150,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/coverage/CoverageEdge.cpp:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' pts'
    - index
    - isForward
    - ' pt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - bool
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: "&\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalStateException
    - size
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - getSize
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:50,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: "std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:62,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - geomFactory
    argTypes:
    - std::vector<CoverageEdge*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: geos::coverage::CoverageEdge::createLines
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> CoverageEdge::createLines(\n    const
      std::vector<CoverageEdge*>& edges,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:73,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: geos::coverage::CoverageEdge::toLineString
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createLineString
    - CoordinateSequence*::clone
    - getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> CoverageEdge::toLineString(const GeometryFactory*
      geomFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:82,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:85,1
    - Dst: auto::add
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: geos::coverage::CoverageEdge::extractEdgePoints
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> CoverageEdge::extractEdgePoints(const
      CoordinateSequence& ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:103,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:107,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:109,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:110,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:111,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - size
    - LineSegment
    - findDistinctPoint
    - compareTo
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment CoverageEdge::key(const CoordinateSequence& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:123,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:124,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:129,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:133,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - compareTo
    - LineSegment
    - findDistinctPoint
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageEdge::key(const CoordinateSequence& ring,\n    std::size_t
      start, std::size_t end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:147,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:149,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:150,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/coverage/CoverageEdge.cpp:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' pts'
    - index
    - isForward
    - ' pt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - bool
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: "&\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalStateException
    - size
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - getSize
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:50,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: "std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:62,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - geomFactory
    argTypes:
    - std::vector<CoverageEdge*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: geos::coverage::CoverageEdge::createLines
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> CoverageEdge::createLines(\n    const
      std::vector<CoverageEdge*>& edges,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:73,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: geos::coverage::CoverageEdge::toLineString
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createLineString
    - CoordinateSequence*::clone
    - getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> CoverageEdge::toLineString(const GeometryFactory*
      geomFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:82,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:85,1
    - Dst: auto::add
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: geos::coverage::CoverageEdge::extractEdgePoints
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 6
    functionsReached:
    - auto::add
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> CoverageEdge::extractEdgePoints(const
      CoordinateSequence& ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:103,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:107,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:109,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:110,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:111,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - size
    - LineSegment
    - findDistinctPoint
    - compareTo
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment CoverageEdge::key(const CoordinateSequence& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:123,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:124,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:129,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:133,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - compareTo
    - LineSegment
    - findDistinctPoint
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageEdge::key(const CoordinateSequence& ring,\n    std::size_t
      start, std::size_t end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:147,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:149,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:150,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/coverage/CoverageEdge.cpp:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' pts'
    - index
    - isForward
    - ' pt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - bool
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: "&\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalStateException
    - size
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:41,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - getSize
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::extractEdgePoints
      Src: /src/geos/src/coverage/CoverageEdge.cpp:50,1
    - Dst: detail::make_unique<CoverageEdge>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::coverage::CoverageEdge::createEdge
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageEdge::extractEdgePoints
    - std::move
    - detail::make_unique<CoverageEdge>
    linkageType: ''
    returnType: std::unique_ptr<CoverageEdge>
    signature: "std::unique_ptr<CoverageEdge> CoverageEdge::createEdge(const CoordinateSequence&
      ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:62,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:64,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageEdge.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - geomFactory
    argTypes:
    - std::vector<CoverageEdge*>
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: geos::coverage::CoverageEdge::createLines
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - GeometryFactory*::createLineString
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> CoverageEdge::createLines(\n    const
      std::vector<CoverageEdge*>& edges,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/CoverageEdge.cpp:73,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/coverage/CoverageEdge.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geomFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: geos::coverage::CoverageEdge::toLineString
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createLineString
    - CoordinateSequence*::clone
    - getCoordinates
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> CoverageEdge::toLineString(const GeometryFactory*
      geomFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/coverage/CoverageEdge.cpp:82,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:85,1
    - Dst: auto::add
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:88,1
    - Dst: getSize
      Src: /src/geos/src/coverage/CoverageEdge.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: geos::coverage::CoverageEdge::extractEdgePoints
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - auto::add
    - detail::make_unique<CoordinateSequence>
    - getSize
    - getAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> CoverageEdge::extractEdgePoints(const
      CoordinateSequence& ring,\n    std::size_t start, std::size_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:103,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:107,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:109,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:110,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:111,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - size
    - LineSegment
    - findDistinctPoint
    - compareTo
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment CoverageEdge::key(const CoordinateSequence& ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:122,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:123,1
    - Dst: compareTo
      Src: /src/geos/src/coverage/CoverageEdge.cpp:124,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:129,1
    - Dst: findDistinctPoint
      Src: /src/geos/src/coverage/CoverageEdge.cpp:133,1
    - Dst: LineSegment
      Src: /src/geos/src/coverage/CoverageEdge.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' ring'
    - start
    - end
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: geos::coverage::CoverageEdge::key
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 8
    functionsReached:
    - compareTo
    - LineSegment
    - findDistinctPoint
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageEdge::key(const CoordinateSequence& ring,\n    std::size_t
      start, std::size_t end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageEdge.cpp:147,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:149,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageEdge.cpp:150,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/coverage/CoverageEdge.cpp:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ' pts'
    - index
    - isForward
    - ' pt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - bool
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: "&\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
    functionSourceFile: /src/geos/src/coverage/CoverageEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalStateException
    - size
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nCoverageEdge::findDistinctPoint(\n    const CoordinateSequence&
      pts,\n    std::size_t index,\n    bool isForward,\n    const Coordinate& pt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageGapFinder::findGaps
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - CoverageGapFinder::findGaps
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:54,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:56,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:60,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:61,1
    - Dst: geos::coverage::CoverageGapFinder::isGap
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:62,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - std::unique_ptr::getFactory
    - LinearRing*::clone
    - auto::release
    - geos::coverage::CoverageUnion::Union
    - std::move
    - geos::coverage::CoverageGapFinder::isGap
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:83,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hole
    - gapWidth
    argTypes:
    - LinearRing*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: geos::coverage::CoverageGapFinder::isGap
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 1
    functionsReached:
    - LinearRing*::getFactory
    - geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    - std::unique_ptr::get
    - std::unique_ptr::getLength
    linkageType: ''
    returnType: bool
    signature: bool CoverageGapFinder::isGap(const LinearRing* hole, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageGapFinder::findGaps
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - CoverageGapFinder::findGaps
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:54,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:56,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:60,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:61,1
    - Dst: geos::coverage::CoverageGapFinder::isGap
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:62,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - std::unique_ptr::getFactory
    - LinearRing*::clone
    - auto::release
    - geos::coverage::CoverageUnion::Union
    - std::move
    - geos::coverage::CoverageGapFinder::isGap
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:83,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hole
    - gapWidth
    argTypes:
    - LinearRing*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: geos::coverage::CoverageGapFinder::isGap
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - LinearRing*::getFactory
    - geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    - std::unique_ptr::get
    - std::unique_ptr::getLength
    linkageType: ''
    returnType: bool
    signature: bool CoverageGapFinder::isGap(const LinearRing* hole, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageGapFinder::findGaps
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - CoverageGapFinder::findGaps
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:54,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:56,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:60,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:61,1
    - Dst: geos::coverage::CoverageGapFinder::isGap
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:62,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - std::unique_ptr::getFactory
    - LinearRing*::clone
    - auto::release
    - geos::coverage::CoverageUnion::Union
    - std::move
    - geos::coverage::CoverageGapFinder::isGap
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:83,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hole
    - gapWidth
    argTypes:
    - LinearRing*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: geos::coverage::CoverageGapFinder::isGap
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 3
    functionsReached:
    - LinearRing*::getFactory
    - geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    - std::unique_ptr::get
    - std::unique_ptr::getLength
    linkageType: ''
    returnType: bool
    signature: bool CoverageGapFinder::isGap(const LinearRing* hole, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageGapFinder::findGaps
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - CoverageGapFinder::findGaps
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageUnion::Union
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:54,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:56,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:60,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:61,1
    - Dst: geos::coverage::CoverageGapFinder::isGap
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:62,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: LinearRing*::clone
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:65,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:66,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageGapFinder::findGaps
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 2
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - std::unique_ptr::getFactory
    - LinearRing*::clone
    - auto::release
    - geos::coverage::CoverageUnion::Union
    - std::move
    - geos::coverage::CoverageGapFinder::isGap
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageGapFinder::findGaps(double gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getFactory
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:83,1
    - Dst: geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:87,1
    - Dst: std::unique_ptr::getLength
      Src: /src/geos/src/coverage/CoverageGapFinder.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hole
    - gapWidth
    argTypes:
    - LinearRing*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: geos::coverage::CoverageGapFinder::isGap
    functionSourceFile: /src/geos/src/coverage/CoverageGapFinder.cpp
    functionUses: 4
    functionsReached:
    - LinearRing*::getFactory
    - geos::algorithm::construct::MaximumInscribedCircle::getRadiusLine
    - std::unique_ptr::get
    - std::unique_ptr::getLength
    linkageType: ''
    returnType: bool
    signature: bool CoverageGapFinder::isGap(const LinearRing* hole, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' geoms'
    - ' counts'
    argTypes:
    - std::vector<const Geometry*>
    - std::map<Coordinate, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::coverage::VertexRingCounter::count
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void VertexRingCounter::count(\n    const std::vector<const Geometry*>&
      geoms,\n    std::map<Coordinate, std::size_t>& counts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:54,1
    - Dst: find
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:55,1
    - Dst: end
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: geos::coverage::VertexRingCounter::filter_ro
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - isRing
    - getAt
    linkageType: ''
    returnType: void
    signature: void VertexRingCounter::filter_ro(const CoordinateSequence& seq, std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' geoms'
    - ' counts'
    argTypes:
    - std::vector<const Geometry*>
    - std::map<Coordinate, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::coverage::VertexRingCounter::count
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void VertexRingCounter::count(\n    const std::vector<const Geometry*>&
      geoms,\n    std::map<Coordinate, std::size_t>& counts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:54,1
    - Dst: find
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:55,1
    - Dst: end
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: geos::coverage::VertexRingCounter::filter_ro
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - isRing
    - getAt
    linkageType: ''
    returnType: void
    signature: void VertexRingCounter::filter_ro(const CoordinateSequence& seq, std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' geoms'
    - ' counts'
    argTypes:
    - std::vector<const Geometry*>
    - std::map<Coordinate, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::coverage::VertexRingCounter::count
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void VertexRingCounter::count(\n    const std::vector<const Geometry*>&
      geoms,\n    std::map<Coordinate, std::size_t>& counts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:54,1
    - Dst: find
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:55,1
    - Dst: end
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: geos::coverage::VertexRingCounter::filter_ro
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - isRing
    - getAt
    linkageType: ''
    returnType: void
    signature: void VertexRingCounter::filter_ro(const CoordinateSequence& seq, std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' geoms'
    - ' counts'
    argTypes:
    - std::vector<const Geometry*>
    - std::map<Coordinate, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::coverage::VertexRingCounter::count
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void VertexRingCounter::count(\n    const std::vector<const Geometry*>&
      geoms,\n    std::map<Coordinate, std::size_t>& counts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:51,1
    - Dst: getAt
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:54,1
    - Dst: find
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:55,1
    - Dst: end
      Src: /src/geos/src/coverage/VertexRingCounter.cpp:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: geos::coverage::VertexRingCounter::filter_ro
    functionSourceFile: /src/geos/src/coverage/VertexRingCounter.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    - isRing
    - getAt
    linkageType: ''
    returnType: void
    signature: void VertexRingCounter::filter_ro(const CoordinateSequence& seq, std::size_t
      i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:44,1
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:45,1
    - Dst: CoverageRing*::isKnown
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:48,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:50,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:51,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:52,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:53,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: geos::coverage::InvalidSegmentDetector::isEqual
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:59,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:62,1
    - Dst: CoverageRing*::markInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ssAdj
    - iAdj
    - ssTarget
    - iTarget
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: geos::coverage::InvalidSegmentDetector::processIntersections
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CoverageRing*>
    - equals2D
    - CoverageRing*::isKnown
    - geos::coverage::InvalidSegmentDetector::isInvalid
    - CoverageRing*::markInvalid
    - CoverageRing*::getCoordinate
    - geos::coverage::InvalidSegmentDetector::isEqual
    linkageType: ''
    returnType: void
    signature: "void InvalidSegmentDetector::processIntersections(\n    SegmentString*
      ssAdj,    std::size_t iAdj,\n    SegmentString* ssTarget, std::size_t iTarget)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' t0'
    - ' t1'
    - ' adj0'
    - ' adj1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::InvalidSegmentDetector::isEqual
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 1
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isEqual(\n    const Coordinate& t0, const
      Coordinate& t1,\n    const Coordinate& adj0, const Coordinate& adj1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:90,1
    - Dst: geos::coverage::InvalidSegmentDetector::isNearlyParallel
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::coverage::InvalidSegmentDetector::isInvalid
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::InvalidSegmentDetector::isNearlyParallel
    - geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInvalid(const Coordinate& tgt0, const
      Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate& adj1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:109,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:112,1
    - Dst: LineIntersector::getIntersectionNum
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:116,1
    - Dst: LineIntersector::isProper
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::isInteriorIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::getIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:132,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 1
    functionsReached:
    - LineIntersector::isProper
    - LineIntersector::computeIntersection
    - LineIntersector::getIntersection
    - geos::coverage::InvalidSegmentDetector::isInteriorSegment
    - LineIntersector::isInteriorIntersection
    - LineIntersector::getIntersectionNum
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isCollinearOrInterior(\n    const Coordinate&
      tgt0, const Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate&
      adj1,\n    CoverageRing* adj, std::size_t indexAdj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:146,1
    - Dst: CoverageRing*::findVertexPrev
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:149,1
    - Dst: CoverageRing*::findVertexNext
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:150,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:158,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' intVertex'
    - ' tgt0'
    - ' tgt1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: geos::coverage::InvalidSegmentDetector::isInteriorSegment
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - equals2D
    - CoverageRing*::findVertexPrev
    - Coordinate*::equals2D
    - CoverageRing*::isInteriorOnRight
    - CoverageRing*::findVertexNext
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInteriorSegment(\n    const Coordinate&
      intVertex,\n    const Coordinate& tgt0, const Coordinate& tgt1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:181,1
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:184,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::reverse
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:191,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:193,1
    - Dst: LineSegment::p1::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' p00'
    - ' p01'
    - ' p10'
    - ' p11'
    - distanceTol
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: geos::coverage::InvalidSegmentDetector::isNearlyParallel
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 1
    functionsReached:
    - LineSegment::p1::distance
    - LineSegment::p0::distance
    - LineSegment::project
    - LineSegment::reverse
    - LineSegment::getLength
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isNearlyParallel(\n    const Coordinate&
      p00, const Coordinate& p01,\n    const Coordinate& p10, const Coordinate& p11,\n
      \   double distanceTol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:44,1
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:45,1
    - Dst: CoverageRing*::isKnown
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:48,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:50,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:51,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:52,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:53,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: geos::coverage::InvalidSegmentDetector::isEqual
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:59,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:62,1
    - Dst: CoverageRing*::markInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ssAdj
    - iAdj
    - ssTarget
    - iTarget
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: geos::coverage::InvalidSegmentDetector::processIntersections
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CoverageRing*>
    - equals2D
    - CoverageRing*::isKnown
    - geos::coverage::InvalidSegmentDetector::isInvalid
    - CoverageRing*::markInvalid
    - CoverageRing*::getCoordinate
    - geos::coverage::InvalidSegmentDetector::isEqual
    linkageType: ''
    returnType: void
    signature: "void InvalidSegmentDetector::processIntersections(\n    SegmentString*
      ssAdj,    std::size_t iAdj,\n    SegmentString* ssTarget, std::size_t iTarget)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' t0'
    - ' t1'
    - ' adj0'
    - ' adj1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::InvalidSegmentDetector::isEqual
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 2
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isEqual(\n    const Coordinate& t0, const
      Coordinate& t1,\n    const Coordinate& adj0, const Coordinate& adj1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:90,1
    - Dst: geos::coverage::InvalidSegmentDetector::isNearlyParallel
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::coverage::InvalidSegmentDetector::isInvalid
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::InvalidSegmentDetector::isNearlyParallel
    - geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInvalid(const Coordinate& tgt0, const
      Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate& adj1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:109,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:112,1
    - Dst: LineIntersector::getIntersectionNum
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:116,1
    - Dst: LineIntersector::isProper
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::isInteriorIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::getIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:132,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 2
    functionsReached:
    - LineIntersector::isProper
    - LineIntersector::computeIntersection
    - LineIntersector::getIntersection
    - geos::coverage::InvalidSegmentDetector::isInteriorSegment
    - LineIntersector::isInteriorIntersection
    - LineIntersector::getIntersectionNum
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isCollinearOrInterior(\n    const Coordinate&
      tgt0, const Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate&
      adj1,\n    CoverageRing* adj, std::size_t indexAdj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:146,1
    - Dst: CoverageRing*::findVertexPrev
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:149,1
    - Dst: CoverageRing*::findVertexNext
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:150,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:158,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' intVertex'
    - ' tgt0'
    - ' tgt1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: geos::coverage::InvalidSegmentDetector::isInteriorSegment
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - equals2D
    - CoverageRing*::findVertexPrev
    - Coordinate*::equals2D
    - CoverageRing*::isInteriorOnRight
    - CoverageRing*::findVertexNext
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInteriorSegment(\n    const Coordinate&
      intVertex,\n    const Coordinate& tgt0, const Coordinate& tgt1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:181,1
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:184,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::reverse
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:191,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:193,1
    - Dst: LineSegment::p1::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' p00'
    - ' p01'
    - ' p10'
    - ' p11'
    - distanceTol
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: geos::coverage::InvalidSegmentDetector::isNearlyParallel
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::p1::distance
    - LineSegment::p0::distance
    - LineSegment::project
    - LineSegment::reverse
    - LineSegment::getLength
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isNearlyParallel(\n    const Coordinate&
      p00, const Coordinate& p01,\n    const Coordinate& p10, const Coordinate& p11,\n
      \   double distanceTol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:44,1
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:45,1
    - Dst: CoverageRing*::isKnown
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:48,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:50,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:51,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:52,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:53,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: geos::coverage::InvalidSegmentDetector::isEqual
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:59,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:62,1
    - Dst: CoverageRing*::markInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ssAdj
    - iAdj
    - ssTarget
    - iTarget
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: geos::coverage::InvalidSegmentDetector::processIntersections
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CoverageRing*>
    - equals2D
    - CoverageRing*::isKnown
    - geos::coverage::InvalidSegmentDetector::isInvalid
    - CoverageRing*::markInvalid
    - CoverageRing*::getCoordinate
    - geos::coverage::InvalidSegmentDetector::isEqual
    linkageType: ''
    returnType: void
    signature: "void InvalidSegmentDetector::processIntersections(\n    SegmentString*
      ssAdj,    std::size_t iAdj,\n    SegmentString* ssTarget, std::size_t iTarget)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' t0'
    - ' t1'
    - ' adj0'
    - ' adj1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::InvalidSegmentDetector::isEqual
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 3
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isEqual(\n    const Coordinate& t0, const
      Coordinate& t1,\n    const Coordinate& adj0, const Coordinate& adj1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:90,1
    - Dst: geos::coverage::InvalidSegmentDetector::isNearlyParallel
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::coverage::InvalidSegmentDetector::isInvalid
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::InvalidSegmentDetector::isNearlyParallel
    - geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInvalid(const Coordinate& tgt0, const
      Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate& adj1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:109,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:112,1
    - Dst: LineIntersector::getIntersectionNum
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:116,1
    - Dst: LineIntersector::isProper
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::isInteriorIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::getIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:132,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 3
    functionsReached:
    - LineIntersector::isProper
    - LineIntersector::computeIntersection
    - LineIntersector::getIntersection
    - geos::coverage::InvalidSegmentDetector::isInteriorSegment
    - LineIntersector::isInteriorIntersection
    - LineIntersector::getIntersectionNum
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isCollinearOrInterior(\n    const Coordinate&
      tgt0, const Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate&
      adj1,\n    CoverageRing* adj, std::size_t indexAdj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:146,1
    - Dst: CoverageRing*::findVertexPrev
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:149,1
    - Dst: CoverageRing*::findVertexNext
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:150,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:158,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' intVertex'
    - ' tgt0'
    - ' tgt1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: geos::coverage::InvalidSegmentDetector::isInteriorSegment
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - equals2D
    - CoverageRing*::findVertexPrev
    - Coordinate*::equals2D
    - CoverageRing*::isInteriorOnRight
    - CoverageRing*::findVertexNext
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInteriorSegment(\n    const Coordinate&
      intVertex,\n    const Coordinate& tgt0, const Coordinate& tgt1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:181,1
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:184,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::reverse
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:191,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:193,1
    - Dst: LineSegment::p1::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' p00'
    - ' p01'
    - ' p10'
    - ' p11'
    - distanceTol
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: geos::coverage::InvalidSegmentDetector::isNearlyParallel
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 3
    functionsReached:
    - LineSegment::p1::distance
    - LineSegment::p0::distance
    - LineSegment::project
    - LineSegment::reverse
    - LineSegment::getLength
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isNearlyParallel(\n    const Coordinate&
      p00, const Coordinate& p01,\n    const Coordinate& p10, const Coordinate& p11,\n
      \   double distanceTol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:44,1
    - Dst: static_cast<CoverageRing*>
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:45,1
    - Dst: CoverageRing*::isKnown
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:48,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:50,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:51,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:52,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:53,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:56,1
    - Dst: geos::coverage::InvalidSegmentDetector::isEqual
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:59,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:62,1
    - Dst: CoverageRing*::markInvalid
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ssAdj
    - iAdj
    - ssTarget
    - iTarget
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: geos::coverage::InvalidSegmentDetector::processIntersections
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CoverageRing*>
    - equals2D
    - CoverageRing*::isKnown
    - geos::coverage::InvalidSegmentDetector::isInvalid
    - CoverageRing*::markInvalid
    - CoverageRing*::getCoordinate
    - geos::coverage::InvalidSegmentDetector::isEqual
    linkageType: ''
    returnType: void
    signature: "void InvalidSegmentDetector::processIntersections(\n    SegmentString*
      ssAdj,    std::size_t iAdj,\n    SegmentString* ssTarget, std::size_t iTarget)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:75,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - ' t0'
    - ' t1'
    - ' adj0'
    - ' adj1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::InvalidSegmentDetector::isEqual
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 4
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isEqual(\n    const Coordinate& t0, const
      Coordinate& t1,\n    const Coordinate& adj0, const Coordinate& adj1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:90,1
    - Dst: geos::coverage::InvalidSegmentDetector::isNearlyParallel
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::coverage::InvalidSegmentDetector::isInvalid
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::InvalidSegmentDetector::isNearlyParallel
    - geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInvalid(const Coordinate& tgt0, const
      Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate& adj1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:109,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:112,1
    - Dst: LineIntersector::getIntersectionNum
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:116,1
    - Dst: LineIntersector::isProper
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::isInteriorIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:122,1
    - Dst: LineIntersector::getIntersection
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:132,1
    - Dst: geos::coverage::InvalidSegmentDetector::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ' tgt0'
    - ' tgt1'
    - ' adj0'
    - ' adj1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: geos::coverage::InvalidSegmentDetector::isCollinearOrInterior
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 4
    functionsReached:
    - LineIntersector::isProper
    - LineIntersector::computeIntersection
    - LineIntersector::getIntersection
    - geos::coverage::InvalidSegmentDetector::isInteriorSegment
    - LineIntersector::isInteriorIntersection
    - LineIntersector::getIntersectionNum
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isCollinearOrInterior(\n    const Coordinate&
      tgt0, const Coordinate& tgt1,\n    const Coordinate& adj0, const Coordinate&
      adj1,\n    CoverageRing* adj, std::size_t indexAdj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:146,1
    - Dst: CoverageRing*::findVertexPrev
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:149,1
    - Dst: CoverageRing*::findVertexNext
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:150,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:153,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:158,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ' intVertex'
    - ' tgt0'
    - ' tgt1'
    - adj
    - indexAdj
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: geos::coverage::InvalidSegmentDetector::isInteriorSegment
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - equals2D
    - CoverageRing*::findVertexPrev
    - Coordinate*::equals2D
    - CoverageRing*::isInteriorOnRight
    - CoverageRing*::findVertexNext
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isInteriorSegment(\n    const Coordinate&
      intVertex,\n    const Coordinate& tgt0, const Coordinate& tgt1,\n    CoverageRing*
      adj, std::size_t indexAdj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:181,1
    - Dst: LineSegment::project
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:184,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:187,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:190,1
    - Dst: LineSegment::reverse
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:191,1
    - Dst: LineSegment::p0::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:193,1
    - Dst: LineSegment::p1::distance
      Src: /src/geos/src/coverage/InvalidSegmentDetector.cpp:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' p00'
    - ' p01'
    - ' p10'
    - ' p11'
    - distanceTol
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: geos::coverage::InvalidSegmentDetector::isNearlyParallel
    functionSourceFile: /src/geos/src/coverage/InvalidSegmentDetector.cpp
    functionUses: 4
    functionsReached:
    - LineSegment::p1::distance
    - LineSegment::p0::distance
    - LineSegment::project
    - LineSegment::reverse
    - LineSegment::getLength
    linkageType: ''
    returnType: bool
    signature: "bool InvalidSegmentDetector::isNearlyParallel(\n    const Coordinate&
      p00, const Coordinate& p01,\n    const Coordinate& p10, const Coordinate& p11,\n
      \   double distanceTol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: LineSegment::UnorderedSet
    signature: "LineSegment::UnorderedSet CoverageBoundarySegmentFinder::findBoundarySegments(\n
      \   const std::vector<const Geometry*>& geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: LineSegment::normalize
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: geos::coverage::CoverageBoundarySegmentFinder::createSegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::normalize
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageBoundarySegmentFinder::createSegment(\n    const
      CoordinateSequence& seq, std::size_t i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:58,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:61,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: erase
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:66,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageBoundarySegmentFinder::filter_ro
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 0
    functionsReached:
    - find
    - size
    - insert
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    - erase
    linkageType: ''
    returnType: void
    signature: "void CoverageBoundarySegmentFinder::filter_ro(\n    const CoordinateSequence&
      seq, std::size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:81,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' boundarySegs'
    - seq
    - i
    argTypes:
    - LineSegment::UnorderedSet
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - find
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    linkageType: ''
    returnType: bool
    signature: "bool CoverageBoundarySegmentFinder::isBoundarySegment(\n    const
      LineSegment::UnorderedSet& boundarySegs,\n    const CoordinateSequence* seq,\n
      \   std::size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: LineSegment::UnorderedSet
    signature: "LineSegment::UnorderedSet CoverageBoundarySegmentFinder::findBoundarySegments(\n
      \   const std::vector<const Geometry*>& geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: LineSegment::normalize
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: geos::coverage::CoverageBoundarySegmentFinder::createSegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::normalize
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageBoundarySegmentFinder::createSegment(\n    const
      CoordinateSequence& seq, std::size_t i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:58,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:61,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: erase
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:66,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageBoundarySegmentFinder::filter_ro
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 0
    functionsReached:
    - find
    - size
    - insert
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    - erase
    linkageType: ''
    returnType: void
    signature: "void CoverageBoundarySegmentFinder::filter_ro(\n    const CoordinateSequence&
      seq, std::size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:81,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' boundarySegs'
    - seq
    - i
    argTypes:
    - LineSegment::UnorderedSet
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - find
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    linkageType: ''
    returnType: bool
    signature: "bool CoverageBoundarySegmentFinder::isBoundarySegment(\n    const
      LineSegment::UnorderedSet& boundarySegs,\n    const CoordinateSequence* seq,\n
      \   std::size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: LineSegment::UnorderedSet
    signature: "LineSegment::UnorderedSet CoverageBoundarySegmentFinder::findBoundarySegments(\n
      \   const std::vector<const Geometry*>& geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: LineSegment::normalize
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: geos::coverage::CoverageBoundarySegmentFinder::createSegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - LineSegment::normalize
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageBoundarySegmentFinder::createSegment(\n    const
      CoordinateSequence& seq, std::size_t i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:58,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:61,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: erase
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:66,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageBoundarySegmentFinder::filter_ro
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 0
    functionsReached:
    - find
    - size
    - insert
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    - erase
    linkageType: ''
    returnType: void
    signature: "void CoverageBoundarySegmentFinder::filter_ro(\n    const CoordinateSequence&
      seq, std::size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:81,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' boundarySegs'
    - seq
    - i
    argTypes:
    - LineSegment::UnorderedSet
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - find
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    linkageType: ''
    returnType: bool
    signature: "bool CoverageBoundarySegmentFinder::isBoundarySegment(\n    const
      LineSegment::UnorderedSet& boundarySegs,\n    const CoordinateSequence* seq,\n
      \   std::size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::coverage::CoverageBoundarySegmentFinder::findBoundarySegments
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: LineSegment::UnorderedSet
    signature: "LineSegment::UnorderedSet CoverageBoundarySegmentFinder::findBoundarySegments(\n
      \   const std::vector<const Geometry*>& geoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: getAt
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:46,1
    - Dst: LineSegment::normalize
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: geos::coverage::CoverageBoundarySegmentFinder::createSegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 6
    functionsReached:
    - LineSegment::normalize
    - getAt
    linkageType: ''
    returnType: LineSegment
    signature: "LineSegment CoverageBoundarySegmentFinder::createSegment(\n    const
      CoordinateSequence& seq, std::size_t i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:58,1
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:61,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:65,1
    - Dst: erase
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:66,1
    - Dst: insert
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::coverage::CoverageBoundarySegmentFinder::filter_ro
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 0
    functionsReached:
    - find
    - size
    - insert
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    - erase
    linkageType: ''
    returnType: void
    signature: "void CoverageBoundarySegmentFinder::filter_ro(\n    const CoordinateSequence&
      seq, std::size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageBoundarySegmentFinder::createSegment
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:81,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    - Dst: end
      Src: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' boundarySegs'
    - seq
    - i
    argTypes:
    - LineSegment::UnorderedSet
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::coverage::CoverageBoundarySegmentFinder::isBoundarySegment
    functionSourceFile: /src/geos/src/coverage/CoverageBoundarySegmentFinder.cpp
    functionUses: 4
    functionsReached:
    - find
    - geos::coverage::CoverageBoundarySegmentFinder::createSegment
    - end
    linkageType: ''
    returnType: bool
    signature: "bool CoverageBoundarySegmentFinder::isBoundarySegment(\n    const
      LineSegment::UnorderedSet& boundarySegs,\n    const CoordinateSequence* seq,\n
      \   std::size_t i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageUnion.cpp:36,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageUnion.cpp:43,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/coverage/CoverageUnion.cpp:44,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - getFactory
    - size
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::get
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(std::vector<const Geometry*>&
      coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/coverage/CoverageUnion.cpp:53,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - coverage
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(const Geometry* coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageUnion.cpp:36,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageUnion.cpp:43,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/coverage/CoverageUnion.cpp:44,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - getFactory
    - size
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::get
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(std::vector<const Geometry*>&
      coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/coverage/CoverageUnion.cpp:53,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - coverage
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(const Geometry* coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageUnion.cpp:36,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageUnion.cpp:43,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/coverage/CoverageUnion.cpp:44,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - getFactory
    - size
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::get
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(std::vector<const Geometry*>&
      coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/coverage/CoverageUnion.cpp:53,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - coverage
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(const Geometry* coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageUnion.cpp:36,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageUnion.cpp:43,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/coverage/CoverageUnion.cpp:44,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageUnion.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - getFactory
    - size
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::get
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(std::vector<const Geometry*>&
      coverage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/coverage/CoverageUnion.cpp:53,1
    - Dst: geos::operation::overlayng::CoverageUnion::geomunion
      Src: /src/geos/src/coverage/CoverageUnion.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - coverage
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: geos::coverage::CoverageUnion::Union
    functionSourceFile: /src/geos/src/coverage/CoverageUnion.cpp
    functionUses: 14
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - geos::operation::overlayng::CoverageUnion::geomunion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageUnion::Union(const Geometry* coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 8
    functionsReached:
    - CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 9
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 2
    functionsReached:
    - CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:89,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: geos::coverage::CoverageSimplifier::CoverageSimplifier
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::CoverageSimplifier(const std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::getEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 9
    functionsReached:
    - CoverageRingEdges::getEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageSimplifier::simplifyEdges
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:109,1
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:110,1
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:111,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::simplifyEdges
    - CoverageRingEdges::selectEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:124,1
    - Dst: geos::coverage::CoverageSimplifier::getFreeRings
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:125,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: geos::coverage::CoverageSimplifier::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - edges
    - constraints
    - tolerance
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageSimplifier::simplifyEdges
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::getFreeRings
    - geos::coverage::TPVWSimplifier::simplify
    - geos::coverage::CoverageSimplifier::setCoordinates
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: void
    signature: "void CoverageSimplifier::simplifyEdges(\n    std::vector<CoverageEdge*>
      edges,\n    const MultiLineString* constraints,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:137,1
    - Dst: CoverageEdge*::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - lines
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::coverage::CoverageSimplifier::setCoordinates
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 1
    functionsReached:
    - MultiLineString*::getGeometryN
    - size
    - CoverageEdge*::setCoordinates
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::setCoordinates(std::vector<CoverageEdge*>&
      edges, const MultiLineString* lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    - Dst: isFreeRing
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::coverage::CoverageSimplifier::getFreeRings
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - isFreeRing
    linkageType: ''
    returnType: std::vector<bool>
    signature: std::vector<bool> CoverageSimplifier::getFreeRings(const std::vector<CoverageEdge*>&
      edges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 9
    functionsReached:
    - CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 10
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 3
    functionsReached:
    - CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:89,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: geos::coverage::CoverageSimplifier::CoverageSimplifier
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::CoverageSimplifier(const std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::getEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 10
    functionsReached:
    - CoverageRingEdges::getEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageSimplifier::simplifyEdges
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:109,1
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:110,1
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:111,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::simplifyEdges
    - CoverageRingEdges::selectEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:124,1
    - Dst: geos::coverage::CoverageSimplifier::getFreeRings
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:125,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: geos::coverage::CoverageSimplifier::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - edges
    - constraints
    - tolerance
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageSimplifier::simplifyEdges
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::getFreeRings
    - geos::coverage::TPVWSimplifier::simplify
    - geos::coverage::CoverageSimplifier::setCoordinates
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: void
    signature: "void CoverageSimplifier::simplifyEdges(\n    std::vector<CoverageEdge*>
      edges,\n    const MultiLineString* constraints,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:137,1
    - Dst: CoverageEdge*::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - lines
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::coverage::CoverageSimplifier::setCoordinates
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 2
    functionsReached:
    - MultiLineString*::getGeometryN
    - size
    - CoverageEdge*::setCoordinates
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::setCoordinates(std::vector<CoverageEdge*>&
      edges, const MultiLineString* lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    - Dst: isFreeRing
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::coverage::CoverageSimplifier::getFreeRings
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - isFreeRing
    linkageType: ''
    returnType: std::vector<bool>
    signature: std::vector<bool> CoverageSimplifier::getFreeRings(const std::vector<CoverageEdge*>&
      edges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 10
    functionsReached:
    - CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 11
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 4
    functionsReached:
    - CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 5
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:89,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: geos::coverage::CoverageSimplifier::CoverageSimplifier
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::CoverageSimplifier(const std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::getEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 11
    functionsReached:
    - CoverageRingEdges::getEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageSimplifier::simplifyEdges
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:109,1
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:110,1
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:111,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::simplifyEdges
    - CoverageRingEdges::selectEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:124,1
    - Dst: geos::coverage::CoverageSimplifier::getFreeRings
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:125,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: geos::coverage::CoverageSimplifier::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - edges
    - constraints
    - tolerance
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageSimplifier::simplifyEdges
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::getFreeRings
    - geos::coverage::TPVWSimplifier::simplify
    - geos::coverage::CoverageSimplifier::setCoordinates
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: void
    signature: "void CoverageSimplifier::simplifyEdges(\n    std::vector<CoverageEdge*>
      edges,\n    const MultiLineString* constraints,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:137,1
    - Dst: CoverageEdge*::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - lines
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::coverage::CoverageSimplifier::setCoordinates
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 3
    functionsReached:
    - MultiLineString*::getGeometryN
    - size
    - CoverageEdge*::setCoordinates
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::setCoordinates(std::vector<CoverageEdge*>&
      edges, const MultiLineString* lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    - Dst: isFreeRing
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::coverage::CoverageSimplifier::getFreeRings
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - isFreeRing
    linkageType: ''
    returnType: std::vector<bool>
    signature: std::vector<bool> CoverageSimplifier::getFreeRings(const std::vector<CoverageEdge*>&
      edges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 11
    functionsReached:
    - CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:52,1
    - Dst: geos::coverage::CoverageSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 12
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplify
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 5
    functionsReached:
    - CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   std::vector<const Geometry*>& coverage,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:77,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyInner
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' coverage'
    - tolerance
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - get
    - geos::coverage::CoverageSimplifier::simplifyInner
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: "std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(\n
      \   const std::vector<std::unique_ptr<Geometry>>& coverage,\n    double tolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:86,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:89,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: geos::coverage::CoverageSimplifier::CoverageSimplifier
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::IllegalArgumentException
    - getGeometryTypeId
    - empty
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::CoverageSimplifier(const std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::getEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:100,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::coverage::CoverageSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 12
    functionsReached:
    - CoverageRingEdges::getEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageSimplifier::simplifyEdges
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplify(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:109,1
    - Dst: CoverageRingEdges::selectEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:110,1
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:111,1
    - Dst: geos::coverage::CoverageSimplifier::simplifyEdges
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:113,1
    - Dst: CoverageRingEdges::buildCoverage
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::coverage::CoverageSimplifier::simplifyInner
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::simplifyEdges
    - CoverageRingEdges::selectEdges
    - CoverageRingEdges::buildCoverage
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageSimplifier::simplifyInner(double
      tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageEdge::createLines
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:124,1
    - Dst: geos::coverage::CoverageSimplifier::getFreeRings
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:125,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:126,1
    - Dst: geos::coverage::CoverageSimplifier::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - edges
    - constraints
    - tolerance
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: geos::coverage::CoverageSimplifier::simplifyEdges
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - geos::coverage::CoverageSimplifier::getFreeRings
    - geos::coverage::TPVWSimplifier::simplify
    - geos::coverage::CoverageSimplifier::setCoordinates
    - geos::coverage::CoverageEdge::createLines
    linkageType: ''
    returnType: void
    signature: "void CoverageSimplifier::simplifyEdges(\n    std::vector<CoverageEdge*>
      edges,\n    const MultiLineString* constraints,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:137,1
    - Dst: CoverageEdge*::setCoordinates
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' edges'
    - lines
    argTypes:
    - std::vector<CoverageEdge*>
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: geos::coverage::CoverageSimplifier::setCoordinates
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 4
    functionsReached:
    - MultiLineString*::getGeometryN
    - size
    - CoverageEdge*::setCoordinates
    linkageType: ''
    returnType: void
    signature: void CoverageSimplifier::setCoordinates(std::vector<CoverageEdge*>&
      edges, const MultiLineString* lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    - Dst: isFreeRing
      Src: /src/geos/src/coverage/CoverageSimplifier.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<CoverageEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::coverage::CoverageSimplifier::getFreeRings
    functionSourceFile: /src/geos/src/coverage/CoverageSimplifier.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - isFreeRing
    linkageType: ''
    returnType: std::vector<bool>
    signature: std::vector<bool> CoverageSimplifier::getFreeRings(const std::vector<CoverageEdge*>&
      edges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - targetPolygon
    - ' adjPolygons'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::setGapWidth
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:67,1
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - targetPolygon
    - ' adjPolygons'
    - gapWidth
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::setGapWidth
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - geom
    - ' p_adjGeoms'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::coverage::CoveragePolygonValidator::CoveragePolygonValidator
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::CoveragePolygonValidator(\n    const
      Geometry* geom,\n    std::vector<const Geometry*>& p_adjGeoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::coverage::CoveragePolygonValidator::setGapWidth
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoveragePolygonValidator::setGapWidth(double p_gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::extractPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:94,1
    - Dst: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:95,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:96,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:105,1
    - Dst: geos::coverage::CoveragePolygonValidator::checkTargetRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:107,1
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    - geos::coverage::CoveragePolygonValidator::checkTargetRings
    - geos::coverage::CoveragePolygonValidator::extractPolygons
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - getEnvelopeInternal
    - Envelope::expandBy
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    - Dst: std::make_unique<CoveragePolygon>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygons
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - std::make_unique<CoveragePolygon>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<CoveragePolygon>>
    signature: std::vector<std::unique_ptr<CoveragePolygon>> CoveragePolygonValidator::toCoveragePolygons(const
      std::vector<const Polygon*> polygons)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:129,1
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:139,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:146,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: geos::coverage::CoveragePolygonValidator::checkTargetRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    - geos::coverage::CoverageRing::isKnown
    - geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::checkTargetRings(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    const Envelope&
      targetEnv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::coverage::CoveragePolygonValidator::extractPolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoveragePolygonValidator::extractPolygons(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: geos::coverage::CoveragePolygonValidator::createEmptyResult
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached:
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createEmptyResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:178,1
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRngs'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRngs,\n    const Envelope&
      targetEnv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:191,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:192,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:193,1
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:196,1
    - Dst: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:200,1
    - Dst: find
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:201,1
    - Dst: end
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:202,1
    - Dst: CoverageRingSegment*::match
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' rings'
    - ' envLimit'
    - ' segmentMap'
    argTypes:
    - std::vector<CoverageRing*>
    - Envelope
    - CoverageRingSegmentMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - intersects
    - find
    - size
    - getCoordinate
    - geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    - CoverageRingSegment*::match
    - end
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      rings,\n    const Envelope& envLimit,\n    CoverageRingSegmentMap& segmentMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:218,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:219,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:221,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:222,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:225,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - CoverageRing*::getCoordinate
    - emplace_back
    - CoverageRing*::isInteriorOnRight
    - back
    linkageType: ''
    returnType: CoveragePolygonValidator::CoverageRingSegment
    signature: 'CoveragePolygonValidator::CoverageRingSegment *

      CoveragePolygonValidator::createCoverageRingSegment(CoverageRing* ring, std::size_t
      index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: MCIndexSegmentSetMutualIntersector::setBaseSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:250,1
    - Dst: MCIndexSegmentSetMutualIntersector::setSegmentIntersector
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:251,1
    - Dst: MCIndexSegmentSetMutualIntersector::process
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - distanceTolerance
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::process
    - static_cast<SegmentString*>
    - MCIndexSegmentSetMutualIntersector::setSegmentIntersector
    - std::vector::push_back
    - MCIndexSegmentSetMutualIntersector::setBaseSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteractingSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    double distanceTolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:264,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:266,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:267,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' targetRings'
    - ' adjCovPolygons'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<std::unique_ptr<CoveragePolygon>>& adjCovPolygons
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:281,1
    - Dst: intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:284,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' ring'
    - iStart
    - iEnd
    - ' adjCovPolygons'
    argTypes:
    - CoverageRing
    - std::size_t
    - std::size_t
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - intersectsEnv
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    - getEnvelope
    - get
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSection(\n    CoverageRing&
      ring,\n    std::size_t iStart, \n    std::size_t iEnd, \n    std::vector<std::unique_ptr<CoveragePolygon>>&
      adjCovPolygons )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:299,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:307,1
    - Dst: CoveragePolygon*::contains
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:308,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:309,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:311,1
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:312,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - i
    - adjPoly
    argTypes:
    - CoverageRing
    - std::size_t
    - CoveragePolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 315
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - isKnown
    - CoveragePolygon*::contains
    - size
    - getCoordinate
    - markInvalid
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegment(\n    CoverageRing&
      ring, std::size_t i, CoveragePolygon* adjPoly)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:323,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:326,1
    - Dst: geos::coverage::CoveragePolygonValidator::createEmptyResult
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:327,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:329,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:330,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: geos::coverage::CoveragePolygonValidator::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - geos::coverage::CoveragePolygonValidator::createEmptyResult
    - std::vector::size
    - std::move
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createInvalidLines(std::vector<CoverageRing*>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:343,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' polygons'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(std::vector<const
      Polygon*>& polygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:368,1
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' rings'
    argTypes:
    - Polygon*
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getNumInteriorRing
    - geos::coverage::CoveragePolygonValidator::addRing
    - Polygon*::getInteriorRingN
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::createRings(\n    const Polygon* poly,\n
      \   std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:380,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ring
    - isShell
    - ' rings'
    argTypes:
    - LinearRing*
    - bool
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: geos::coverage::CoveragePolygonValidator::addRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - LinearRing*::isEmpty
    - geos::coverage::CoveragePolygonValidator::createRing
    - push_back
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::addRing(\n    const LinearRing* ring,\n
      \   bool isShell,\n    std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: CoordinateSequence*::hasRepeatedOrInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:390,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:391,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:392,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:395,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:397,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoveragePolygonValidator::createRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - const_cast<CoordinateSequence*>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence*::hasRepeatedOrInvalidPoints
    - back
    - emplace_back
    linkageType: ''
    returnType: CoverageRing
    signature: 'CoverageRing *

      CoveragePolygonValidator::createRing(const LinearRing* ring, bool isShell)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - targetPolygon
    - ' adjPolygons'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::setGapWidth
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:67,1
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - targetPolygon
    - ' adjPolygons'
    - gapWidth
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::setGapWidth
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - geom
    - ' p_adjGeoms'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::coverage::CoveragePolygonValidator::CoveragePolygonValidator
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::CoveragePolygonValidator(\n    const
      Geometry* geom,\n    std::vector<const Geometry*>& p_adjGeoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::coverage::CoveragePolygonValidator::setGapWidth
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoveragePolygonValidator::setGapWidth(double p_gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::extractPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:94,1
    - Dst: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:95,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:96,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:105,1
    - Dst: geos::coverage::CoveragePolygonValidator::checkTargetRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:107,1
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    - geos::coverage::CoveragePolygonValidator::checkTargetRings
    - geos::coverage::CoveragePolygonValidator::extractPolygons
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - getEnvelopeInternal
    - Envelope::expandBy
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    - Dst: std::make_unique<CoveragePolygon>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygons
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - std::make_unique<CoveragePolygon>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<CoveragePolygon>>
    signature: std::vector<std::unique_ptr<CoveragePolygon>> CoveragePolygonValidator::toCoveragePolygons(const
      std::vector<const Polygon*> polygons)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:129,1
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:139,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:146,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: geos::coverage::CoveragePolygonValidator::checkTargetRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    - geos::coverage::CoverageRing::isKnown
    - geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::checkTargetRings(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    const Envelope&
      targetEnv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::coverage::CoveragePolygonValidator::extractPolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoveragePolygonValidator::extractPolygons(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: geos::coverage::CoveragePolygonValidator::createEmptyResult
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 1
    functionsReached:
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createEmptyResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:178,1
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRngs'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRngs,\n    const Envelope&
      targetEnv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:191,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:192,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:193,1
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:196,1
    - Dst: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:200,1
    - Dst: find
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:201,1
    - Dst: end
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:202,1
    - Dst: CoverageRingSegment*::match
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' rings'
    - ' envLimit'
    - ' segmentMap'
    argTypes:
    - std::vector<CoverageRing*>
    - Envelope
    - CoverageRingSegmentMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - intersects
    - find
    - size
    - getCoordinate
    - geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    - CoverageRingSegment*::match
    - end
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      rings,\n    const Envelope& envLimit,\n    CoverageRingSegmentMap& segmentMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:218,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:219,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:221,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:222,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:225,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - CoverageRing*::getCoordinate
    - emplace_back
    - CoverageRing*::isInteriorOnRight
    - back
    linkageType: ''
    returnType: CoveragePolygonValidator::CoverageRingSegment
    signature: 'CoveragePolygonValidator::CoverageRingSegment *

      CoveragePolygonValidator::createCoverageRingSegment(CoverageRing* ring, std::size_t
      index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: MCIndexSegmentSetMutualIntersector::setBaseSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:250,1
    - Dst: MCIndexSegmentSetMutualIntersector::setSegmentIntersector
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:251,1
    - Dst: MCIndexSegmentSetMutualIntersector::process
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - distanceTolerance
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::process
    - static_cast<SegmentString*>
    - MCIndexSegmentSetMutualIntersector::setSegmentIntersector
    - std::vector::push_back
    - MCIndexSegmentSetMutualIntersector::setBaseSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteractingSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    double distanceTolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:264,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:266,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:267,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' targetRings'
    - ' adjCovPolygons'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<std::unique_ptr<CoveragePolygon>>& adjCovPolygons
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:281,1
    - Dst: intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:284,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' ring'
    - iStart
    - iEnd
    - ' adjCovPolygons'
    argTypes:
    - CoverageRing
    - std::size_t
    - std::size_t
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - intersectsEnv
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    - getEnvelope
    - get
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSection(\n    CoverageRing&
      ring,\n    std::size_t iStart, \n    std::size_t iEnd, \n    std::vector<std::unique_ptr<CoveragePolygon>>&
      adjCovPolygons )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:299,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:307,1
    - Dst: CoveragePolygon*::contains
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:308,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:309,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:311,1
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:312,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - i
    - adjPoly
    argTypes:
    - CoverageRing
    - std::size_t
    - CoveragePolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 315
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - isKnown
    - CoveragePolygon*::contains
    - size
    - getCoordinate
    - markInvalid
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegment(\n    CoverageRing&
      ring, std::size_t i, CoveragePolygon* adjPoly)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:323,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:326,1
    - Dst: geos::coverage::CoveragePolygonValidator::createEmptyResult
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:327,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:329,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:330,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: geos::coverage::CoveragePolygonValidator::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - createMultiLineString
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - geos::coverage::CoveragePolygonValidator::createEmptyResult
    - std::vector::size
    - std::move
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createInvalidLines(std::vector<CoverageRing*>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:343,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 5
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' polygons'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(std::vector<const
      Polygon*>& polygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:368,1
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' rings'
    argTypes:
    - Polygon*
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getNumInteriorRing
    - geos::coverage::CoveragePolygonValidator::addRing
    - Polygon*::getInteriorRingN
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::createRings(\n    const Polygon* poly,\n
      \   std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:380,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ring
    - isShell
    - ' rings'
    argTypes:
    - LinearRing*
    - bool
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: geos::coverage::CoveragePolygonValidator::addRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - LinearRing*::isEmpty
    - geos::coverage::CoveragePolygonValidator::createRing
    - push_back
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::addRing(\n    const LinearRing* ring,\n
      \   bool isShell,\n    std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: CoordinateSequence*::hasRepeatedOrInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:390,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:391,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:392,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:395,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:397,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoveragePolygonValidator::createRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - const_cast<CoordinateSequence*>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence*::hasRepeatedOrInvalidPoints
    - back
    - emplace_back
    linkageType: ''
    returnType: CoverageRing
    signature: 'CoverageRing *

      CoveragePolygonValidator::createRing(const LinearRing* ring, bool isShell)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - targetPolygon
    - ' adjPolygons'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::setGapWidth
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:67,1
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - targetPolygon
    - ' adjPolygons'
    - gapWidth
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::setGapWidth
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - geom
    - ' p_adjGeoms'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::coverage::CoveragePolygonValidator::CoveragePolygonValidator
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::CoveragePolygonValidator(\n    const
      Geometry* geom,\n    std::vector<const Geometry*>& p_adjGeoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::coverage::CoveragePolygonValidator::setGapWidth
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoveragePolygonValidator::setGapWidth(double p_gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::extractPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:94,1
    - Dst: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:95,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:96,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:105,1
    - Dst: geos::coverage::CoveragePolygonValidator::checkTargetRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:107,1
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    - geos::coverage::CoveragePolygonValidator::checkTargetRings
    - geos::coverage::CoveragePolygonValidator::extractPolygons
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - getEnvelopeInternal
    - Envelope::expandBy
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    - Dst: std::make_unique<CoveragePolygon>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygons
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - std::make_unique<CoveragePolygon>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<CoveragePolygon>>
    signature: std::vector<std::unique_ptr<CoveragePolygon>> CoveragePolygonValidator::toCoveragePolygons(const
      std::vector<const Polygon*> polygons)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:129,1
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:139,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:146,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: geos::coverage::CoveragePolygonValidator::checkTargetRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    - geos::coverage::CoverageRing::isKnown
    - geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::checkTargetRings(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    const Envelope&
      targetEnv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::coverage::CoveragePolygonValidator::extractPolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoveragePolygonValidator::extractPolygons(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: geos::coverage::CoveragePolygonValidator::createEmptyResult
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 2
    functionsReached:
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createEmptyResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:178,1
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRngs'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRngs,\n    const Envelope&
      targetEnv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:191,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:192,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:193,1
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:196,1
    - Dst: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:200,1
    - Dst: find
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:201,1
    - Dst: end
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:202,1
    - Dst: CoverageRingSegment*::match
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' rings'
    - ' envLimit'
    - ' segmentMap'
    argTypes:
    - std::vector<CoverageRing*>
    - Envelope
    - CoverageRingSegmentMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - intersects
    - find
    - size
    - getCoordinate
    - geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    - CoverageRingSegment*::match
    - end
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      rings,\n    const Envelope& envLimit,\n    CoverageRingSegmentMap& segmentMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:218,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:219,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:221,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:222,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:225,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - CoverageRing*::getCoordinate
    - emplace_back
    - CoverageRing*::isInteriorOnRight
    - back
    linkageType: ''
    returnType: CoveragePolygonValidator::CoverageRingSegment
    signature: 'CoveragePolygonValidator::CoverageRingSegment *

      CoveragePolygonValidator::createCoverageRingSegment(CoverageRing* ring, std::size_t
      index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: MCIndexSegmentSetMutualIntersector::setBaseSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:250,1
    - Dst: MCIndexSegmentSetMutualIntersector::setSegmentIntersector
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:251,1
    - Dst: MCIndexSegmentSetMutualIntersector::process
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - distanceTolerance
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::process
    - static_cast<SegmentString*>
    - MCIndexSegmentSetMutualIntersector::setSegmentIntersector
    - std::vector::push_back
    - MCIndexSegmentSetMutualIntersector::setBaseSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteractingSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    double distanceTolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:264,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:266,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:267,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' targetRings'
    - ' adjCovPolygons'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<std::unique_ptr<CoveragePolygon>>& adjCovPolygons
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:281,1
    - Dst: intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:284,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' ring'
    - iStart
    - iEnd
    - ' adjCovPolygons'
    argTypes:
    - CoverageRing
    - std::size_t
    - std::size_t
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - intersectsEnv
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    - getEnvelope
    - get
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSection(\n    CoverageRing&
      ring,\n    std::size_t iStart, \n    std::size_t iEnd, \n    std::vector<std::unique_ptr<CoveragePolygon>>&
      adjCovPolygons )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:299,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:307,1
    - Dst: CoveragePolygon*::contains
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:308,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:309,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:311,1
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:312,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - i
    - adjPoly
    argTypes:
    - CoverageRing
    - std::size_t
    - CoveragePolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 315
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - isKnown
    - CoveragePolygon*::contains
    - size
    - getCoordinate
    - markInvalid
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegment(\n    CoverageRing&
      ring, std::size_t i, CoveragePolygon* adjPoly)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:323,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:326,1
    - Dst: geos::coverage::CoveragePolygonValidator::createEmptyResult
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:327,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:329,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:330,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: geos::coverage::CoveragePolygonValidator::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - createMultiLineString
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - geos::coverage::CoveragePolygonValidator::createEmptyResult
    - std::vector::size
    - std::move
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createInvalidLines(std::vector<CoverageRing*>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:343,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' polygons'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 9
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(std::vector<const
      Polygon*>& polygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:368,1
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' rings'
    argTypes:
    - Polygon*
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 9
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getNumInteriorRing
    - geos::coverage::CoveragePolygonValidator::addRing
    - Polygon*::getInteriorRingN
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::createRings(\n    const Polygon* poly,\n
      \   std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:380,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ring
    - isShell
    - ' rings'
    argTypes:
    - LinearRing*
    - bool
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: geos::coverage::CoveragePolygonValidator::addRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - LinearRing*::isEmpty
    - geos::coverage::CoveragePolygonValidator::createRing
    - push_back
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::addRing(\n    const LinearRing* ring,\n
      \   bool isShell,\n    std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: CoordinateSequence*::hasRepeatedOrInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:390,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:391,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:392,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:395,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:397,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoveragePolygonValidator::createRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - const_cast<CoordinateSequence*>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence*::hasRepeatedOrInvalidPoints
    - back
    - emplace_back
    linkageType: ''
    returnType: CoverageRing
    signature: 'CoverageRing *

      CoveragePolygonValidator::createRing(const LinearRing* ring, bool isShell)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - targetPolygon
    - ' adjPolygons'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoveragePolygonValidator::setGapWidth
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:67,1
    - Dst: CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - targetPolygon
    - ' adjPolygons'
    - gapWidth
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - CoveragePolygonValidator::setGapWidth
    - CoveragePolygonValidator::validate
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate(const
      Geometry* targetPolygon, std::vector<const Geometry*>& adjPolygons, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - geom
    - ' p_adjGeoms'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::coverage::CoveragePolygonValidator::CoveragePolygonValidator
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::CoveragePolygonValidator(\n    const
      Geometry* geom,\n    std::vector<const Geometry*>& p_adjGeoms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_gapWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::coverage::CoveragePolygonValidator::setGapWidth
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoveragePolygonValidator::setGapWidth(double p_gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::extractPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:94,1
    - Dst: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:95,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:96,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:97,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:105,1
    - Dst: geos::coverage::CoveragePolygonValidator::checkTargetRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:107,1
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: geos::coverage::CoveragePolygonValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    - geos::coverage::CoveragePolygonValidator::checkTargetRings
    - geos::coverage::CoveragePolygonValidator::extractPolygons
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - getEnvelopeInternal
    - Envelope::expandBy
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    - Dst: std::make_unique<CoveragePolygon>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygons
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoveragePolygonValidator::toCoveragePolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - std::make_unique<CoveragePolygon>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<CoveragePolygon>>
    signature: std::vector<std::unique_ptr<CoveragePolygon>> CoveragePolygonValidator::toCoveragePolygons(const
      std::vector<const Polygon*> polygons)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:129,1
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:139,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:146,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: geos::coverage::CoveragePolygonValidator::checkTargetRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    - geos::coverage::CoverageRing::isKnown
    - geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::checkTargetRings(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    const Envelope&
      targetEnv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::coverage::CoveragePolygonValidator::extractPolygons
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<const Polygon*>
    signature: std::vector<const Polygon*> CoveragePolygonValidator::extractPolygons(std::vector<const
      Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: geos::coverage::CoveragePolygonValidator::createEmptyResult
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 3
    functionsReached:
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createEmptyResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:178,1
    - Dst: geos::coverage::CoveragePolygonValidator::markMatchedSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRngs'
    - ' targetEnv'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::markMatchedSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRngs,\n    const Envelope&
      targetEnv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:191,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:192,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:193,1
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:196,1
    - Dst: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:200,1
    - Dst: find
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:201,1
    - Dst: end
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:202,1
    - Dst: CoverageRingSegment*::match
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' rings'
    - ' envLimit'
    - ' segmentMap'
    argTypes:
    - std::vector<CoverageRing*>
    - Envelope
    - CoverageRingSegmentMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: geos::coverage::CoveragePolygonValidator::markMatchedSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 8
    functionsReached:
    - intersects
    - find
    - size
    - getCoordinate
    - geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    - CoverageRingSegment*::match
    - end
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markMatchedSegments(\n    std::vector<CoverageRing*>&
      rings,\n    const Envelope& envLimit,\n    CoverageRingSegmentMap& segmentMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:218,1
    - Dst: CoverageRing*::getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:219,1
    - Dst: CoverageRing*::isInteriorOnRight
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:221,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:222,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:225,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - index
    argTypes:
    - CoverageRing*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: geos::coverage::CoveragePolygonValidator::createCoverageRingSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - CoverageRing*::getCoordinate
    - emplace_back
    - CoverageRing*::isInteriorOnRight
    - back
    linkageType: ''
    returnType: CoveragePolygonValidator::CoverageRingSegment
    signature: 'CoveragePolygonValidator::CoverageRingSegment *

      CoveragePolygonValidator::createCoverageRingSegment(CoverageRing* ring, std::size_t
      index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:241,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:245,1
    - Dst: MCIndexSegmentSetMutualIntersector::setBaseSegments
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:250,1
    - Dst: MCIndexSegmentSetMutualIntersector::setSegmentIntersector
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:251,1
    - Dst: MCIndexSegmentSetMutualIntersector::process
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' targetRings'
    - ' adjRings'
    - distanceTolerance
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<CoverageRing*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteractingSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::process
    - static_cast<SegmentString*>
    - MCIndexSegmentSetMutualIntersector::setSegmentIntersector
    - std::vector::push_back
    - MCIndexSegmentSetMutualIntersector::setBaseSegments
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteractingSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<CoverageRing*>& adjRings,\n    double distanceTolerance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:264,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:266,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:267,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ' targetRings'
    - ' adjCovPolygons'
    argTypes:
    - std::vector<CoverageRing*>
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegments
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegments(\n    std::vector<CoverageRing*>&
      targetRings,\n    std::vector<std::unique_ptr<CoveragePolygon>>& adjCovPolygons
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:281,1
    - Dst: intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:284,1
    - Dst: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    - Dst: get
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ' ring'
    - iStart
    - iEnd
    - ' adjCovPolygons'
    argTypes:
    - CoverageRing
    - std::size_t
    - std::size_t
    - std::vector<std::unique_ptr<CoveragePolygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSection
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - intersectsEnv
    - geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    - getEnvelope
    - get
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSection(\n    CoverageRing&
      ring,\n    std::size_t iStart, \n    std::size_t iEnd, \n    std::vector<std::unique_ptr<CoveragePolygon>>&
      adjCovPolygons )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:299,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:307,1
    - Dst: CoveragePolygon*::contains
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:308,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:309,1
    - Dst: size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:311,1
    - Dst: isKnown
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:312,1
    - Dst: markInvalid
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' ring'
    - i
    - adjPoly
    argTypes:
    - CoverageRing
    - std::size_t
    - CoveragePolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 315
    functionName: geos::coverage::CoveragePolygonValidator::markInvalidInteriorSegment
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - isKnown
    - CoveragePolygon*::contains
    - size
    - getCoordinate
    - markInvalid
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::markInvalidInteriorSegment(\n    CoverageRing&
      ring, std::size_t i, CoveragePolygon* adjPoly)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createInvalidLines
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:323,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:326,1
    - Dst: geos::coverage::CoveragePolygonValidator::createEmptyResult
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:327,1
    - Dst: std::vector::size
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:329,1
    - Dst: clone
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:330,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: geos::coverage::CoveragePolygonValidator::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 8
    functionsReached:
    - createMultiLineString
    - geos::coverage::CoveragePolygonValidator::createInvalidLines
    - geos::coverage::CoveragePolygonValidator::createEmptyResult
    - std::vector::size
    - std::move
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoveragePolygonValidator::createInvalidLines(std::vector<CoverageRing*>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:343,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 11
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    - geos::geom::util::PolygonExtracter::getPolygons
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::createRings
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' polygons'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 12
    functionsReached:
    - geos::coverage::CoveragePolygonValidator::createRings
    linkageType: ''
    returnType: std::vector<CoverageRing*>
    signature: std::vector<CoverageRing*> CoveragePolygonValidator::createRings(std::vector<const
      Polygon*>& polygons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:365,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:368,1
    - Dst: geos::coverage::CoveragePolygonValidator::addRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' rings'
    argTypes:
    - Polygon*
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: geos::coverage::CoveragePolygonValidator::createRings
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 12
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getNumInteriorRing
    - geos::coverage::CoveragePolygonValidator::addRing
    - Polygon*::getInteriorRingN
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::createRings(\n    const Polygon* poly,\n
      \   std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:380,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    - Dst: geos::coverage::CoveragePolygonValidator::createRing
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ring
    - isShell
    - ' rings'
    argTypes:
    - LinearRing*
    - bool
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: geos::coverage::CoveragePolygonValidator::addRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - LinearRing*::isEmpty
    - geos::coverage::CoveragePolygonValidator::createRing
    - push_back
    linkageType: ''
    returnType: void
    signature: "void CoveragePolygonValidator::addRing(\n    const LinearRing* ring,\n
      \   bool isShell,\n    std::vector<CoverageRing*>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:389,1
    - Dst: CoordinateSequence*::hasRepeatedOrInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:390,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:391,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:392,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:395,1
    - Dst: emplace_back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:397,1
    - Dst: back
      Src: /src/geos/src/coverage/CoveragePolygonValidator.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 400
    functionName: geos::coverage::CoveragePolygonValidator::createRing
    functionSourceFile: /src/geos/src/coverage/CoveragePolygonValidator.cpp
    functionUses: 4
    functionsReached:
    - const_cast<CoordinateSequence*>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence*::hasRepeatedOrInvalidPoints
    - back
    - emplace_back
    linkageType: ''
    returnType: CoverageRing
    signature: 'CoverageRing *

      CoveragePolygonValidator::createRing(const LinearRing* ring, bool isShell)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinkedLine*::prev
      Src: /src/geos/src/coverage/Corner.cpp:42,1
    - Dst: LinkedLine*::next
      Src: /src/geos/src/coverage/Corner.cpp:43,1
    - Dst: geos::coverage::Corner::area
      Src: /src/geos/src/coverage/Corner.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - edge
    - i
    argTypes:
    - LinkedLine*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::coverage::Corner::Corner
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - LinkedLine*::next
    - geos::coverage::Corner::area
    - LinkedLine*::prev
    linkageType: ''
    returnType: void
    signature: void Corner::Corner(const LinkedLine* edge, std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: '&

      Corner::prev() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::prev() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '&

      Corner::next() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::next() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:74,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:75,1
    - Dst: nextCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:76,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/coverage/Corner.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' edge'
    - index
    argTypes:
    - LinkedLine
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: geos::coverage::Corner::area
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 1
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double Corner::area(const LinkedLine& edge, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:86,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:87,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/Corner.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: geos::coverage::Corner::envelope
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - Envelope::expandToInclude
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Corner::envelope() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(const Coordinate& v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:107,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:108,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::coverage::Corner::isBaseline
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - equals2D
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isBaseline(const Coordinate& p0, const Coordinate& p1)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:121,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:122,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/coverage/Corner.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::coverage::Corner::intersects
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool Corner::intersects(const Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:130,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::coverage::Corner::isRemoved
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isRemoved() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:140,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:143,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:144,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:145,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/Corner.cpp:147,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/coverage/Corner.cpp:150,1
    - Dst: auto::createLineString
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    - Dst: std::move
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: geos::coverage::Corner::toLineString
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - CoordinateSequence::CoordinateSequence
    - Coordinate::isNull
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> Corner::toLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toLineString
      Src: /src/geos/src/coverage/Corner.cpp:159,1
    - Dst: WKTWriter::write
      Src: /src/geos/src/coverage/Corner.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' corner'
    argTypes:
    - std::ostream
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: '&

      operator<< (std::ostream& os, const Corner& corner)'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - WKTWriter::write
    - toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Corner& corner)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinkedLine*::prev
      Src: /src/geos/src/coverage/Corner.cpp:42,1
    - Dst: LinkedLine*::next
      Src: /src/geos/src/coverage/Corner.cpp:43,1
    - Dst: geos::coverage::Corner::area
      Src: /src/geos/src/coverage/Corner.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - edge
    - i
    argTypes:
    - LinkedLine*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::coverage::Corner::Corner
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - LinkedLine*::next
    - geos::coverage::Corner::area
    - LinkedLine*::prev
    linkageType: ''
    returnType: void
    signature: void Corner::Corner(const LinkedLine* edge, std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: '&

      Corner::prev() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::prev() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '&

      Corner::next() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::next() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:74,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:75,1
    - Dst: nextCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:76,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/coverage/Corner.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' edge'
    - index
    argTypes:
    - LinkedLine
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: geos::coverage::Corner::area
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 2
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double Corner::area(const LinkedLine& edge, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:86,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:87,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/Corner.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: geos::coverage::Corner::envelope
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - Envelope::expandToInclude
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Corner::envelope() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(const Coordinate& v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:107,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:108,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::coverage::Corner::isBaseline
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - equals2D
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isBaseline(const Coordinate& p0, const Coordinate& p1)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:121,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:122,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/coverage/Corner.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::coverage::Corner::intersects
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool Corner::intersects(const Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:130,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::coverage::Corner::isRemoved
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isRemoved() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:140,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:143,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:144,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:145,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/Corner.cpp:147,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/coverage/Corner.cpp:150,1
    - Dst: auto::createLineString
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    - Dst: std::move
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: geos::coverage::Corner::toLineString
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - CoordinateSequence::CoordinateSequence
    - Coordinate::isNull
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> Corner::toLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toLineString
      Src: /src/geos/src/coverage/Corner.cpp:159,1
    - Dst: WKTWriter::write
      Src: /src/geos/src/coverage/Corner.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' corner'
    argTypes:
    - std::ostream
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: '&

      operator<< (std::ostream& os, const Corner& corner)'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - WKTWriter::write
    - toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Corner& corner)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinkedLine*::prev
      Src: /src/geos/src/coverage/Corner.cpp:42,1
    - Dst: LinkedLine*::next
      Src: /src/geos/src/coverage/Corner.cpp:43,1
    - Dst: geos::coverage::Corner::area
      Src: /src/geos/src/coverage/Corner.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - edge
    - i
    argTypes:
    - LinkedLine*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::coverage::Corner::Corner
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - LinkedLine*::next
    - geos::coverage::Corner::area
    - LinkedLine*::prev
    linkageType: ''
    returnType: void
    signature: void Corner::Corner(const LinkedLine* edge, std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: '&

      Corner::prev() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::prev() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '&

      Corner::next() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::next() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:74,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:75,1
    - Dst: nextCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:76,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/coverage/Corner.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' edge'
    - index
    argTypes:
    - LinkedLine
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: geos::coverage::Corner::area
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 3
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double Corner::area(const LinkedLine& edge, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:86,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:87,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/Corner.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: geos::coverage::Corner::envelope
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - Envelope::expandToInclude
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Corner::envelope() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(const Coordinate& v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:107,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:108,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::coverage::Corner::isBaseline
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - equals2D
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isBaseline(const Coordinate& p0, const Coordinate& p1)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:121,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:122,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/coverage/Corner.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::coverage::Corner::intersects
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool Corner::intersects(const Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:130,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::coverage::Corner::isRemoved
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isRemoved() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:140,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:143,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:144,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:145,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/Corner.cpp:147,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/coverage/Corner.cpp:150,1
    - Dst: auto::createLineString
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    - Dst: std::move
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: geos::coverage::Corner::toLineString
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - CoordinateSequence::CoordinateSequence
    - Coordinate::isNull
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> Corner::toLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toLineString
      Src: /src/geos/src/coverage/Corner.cpp:159,1
    - Dst: WKTWriter::write
      Src: /src/geos/src/coverage/Corner.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' corner'
    argTypes:
    - std::ostream
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: '&

      operator<< (std::ostream& os, const Corner& corner)'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - WKTWriter::write
    - toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Corner& corner)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinkedLine*::prev
      Src: /src/geos/src/coverage/Corner.cpp:42,1
    - Dst: LinkedLine*::next
      Src: /src/geos/src/coverage/Corner.cpp:43,1
    - Dst: geos::coverage::Corner::area
      Src: /src/geos/src/coverage/Corner.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - edge
    - i
    argTypes:
    - LinkedLine*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::coverage::Corner::Corner
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - LinkedLine*::next
    - geos::coverage::Corner::area
    - LinkedLine*::prev
    linkageType: ''
    returnType: void
    signature: void Corner::Corner(const LinkedLine* edge, std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: '&

      Corner::prev() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::prev() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '&

      Corner::next() const'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Corner::next() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:74,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:75,1
    - Dst: nextCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:76,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/coverage/Corner.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' edge'
    - index
    argTypes:
    - LinkedLine
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: geos::coverage::Corner::area
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 4
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double Corner::area(const LinkedLine& edge, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:86,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:87,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/coverage/Corner.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: geos::coverage::Corner::envelope
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - Envelope::expandToInclude
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Corner::envelope() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:97,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:98,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: geos::coverage::Corner::isVertex
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool Corner::isVertex(const Coordinate& v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:107,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:108,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:109,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/Corner.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::coverage::Corner::isBaseline
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - equals2D
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isBaseline(const Coordinate& p0, const Coordinate& p1)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:121,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:122,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/coverage/Corner.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: geos::coverage::Corner::intersects
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool Corner::intersects(const Coordinate& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/coverage/Corner.cpp:130,1
    - Dst: next
      Src: /src/geos/src/coverage/Corner.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::coverage::Corner::isRemoved
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool Corner::isRemoved() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/Corner.cpp:140,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:143,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:144,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/coverage/Corner.cpp:145,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/Corner.cpp:147,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/coverage/Corner.cpp:148,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/coverage/Corner.cpp:150,1
    - Dst: auto::createLineString
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    - Dst: std::move
      Src: /src/geos/src/coverage/Corner.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: geos::coverage::Corner::toLineString
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - CoordinateSequence::CoordinateSequence
    - Coordinate::isNull
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> Corner::toLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toLineString
      Src: /src/geos/src/coverage/Corner.cpp:159,1
    - Dst: WKTWriter::write
      Src: /src/geos/src/coverage/Corner.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' corner'
    argTypes:
    - std::ostream
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: '&

      operator<< (std::ostream& os, const Corner& corner)'
    functionSourceFile: /src/geos/src/coverage/Corner.cpp
    functionUses: 0
    functionsReached:
    - WKTWriter::write
    - toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Corner& corner)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoveragePolygon::CoveragePolygon
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - Polygon*::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoveragePolygon::CoveragePolygon(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const Envelope& env) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygon::intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:57,1
    - Dst: getLocator
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:59,1
    - Dst: locate
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::coverage::CoveragePolygon::contains
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoveragePolygon::intersectsEnv
    - getLocator
    - locate
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::contains(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IndexedPointInAreaLocator>
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: '&

      CoveragePolygon::getLocator() const'
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<IndexedPointInAreaLocator>
    linkageType: ''
    returnType: IndexedPointInAreaLocator
    signature: 'IndexedPointInAreaLocator &

      CoveragePolygon::getLocator() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoveragePolygon::CoveragePolygon
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - Polygon*::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoveragePolygon::CoveragePolygon(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 1
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const Envelope& env) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 1
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygon::intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:57,1
    - Dst: getLocator
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:59,1
    - Dst: locate
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::coverage::CoveragePolygon::contains
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoveragePolygon::intersectsEnv
    - getLocator
    - locate
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::contains(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IndexedPointInAreaLocator>
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: '&

      CoveragePolygon::getLocator() const'
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<IndexedPointInAreaLocator>
    linkageType: ''
    returnType: IndexedPointInAreaLocator
    signature: 'IndexedPointInAreaLocator &

      CoveragePolygon::getLocator() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoveragePolygon::CoveragePolygon
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - Polygon*::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoveragePolygon::CoveragePolygon(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 2
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const Envelope& env) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 2
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygon::intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:57,1
    - Dst: getLocator
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:59,1
    - Dst: locate
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::coverage::CoveragePolygon::contains
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoveragePolygon::intersectsEnv
    - getLocator
    - locate
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::contains(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IndexedPointInAreaLocator>
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: '&

      CoveragePolygon::getLocator() const'
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<IndexedPointInAreaLocator>
    linkageType: ''
    returnType: IndexedPointInAreaLocator
    signature: 'IndexedPointInAreaLocator &

      CoveragePolygon::getLocator() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoveragePolygon::CoveragePolygon
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - Polygon*::getEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: void CoveragePolygon::CoveragePolygon(const Polygon* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 3
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const Envelope& env) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::coverage::CoveragePolygon::intersectsEnv
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 3
    functionsReached:
    - intersects
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::intersectsEnv(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoveragePolygon::intersectsEnv
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:57,1
    - Dst: getLocator
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:59,1
    - Dst: locate
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::coverage::CoveragePolygon::contains
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoveragePolygon::intersectsEnv
    - getLocator
    - locate
    linkageType: ''
    returnType: bool
    signature: bool CoveragePolygon::contains(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IndexedPointInAreaLocator>
      Src: /src/geos/src/coverage/CoveragePolygon.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: '&

      CoveragePolygon::getLocator() const'
    functionSourceFile: /src/geos/src/coverage/CoveragePolygon.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<IndexedPointInAreaLocator>
    linkageType: ''
    returnType: IndexedPointInAreaLocator
    signature: 'IndexedPointInAreaLocator &

      CoveragePolygon::getLocator() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:44,1
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - p_gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - CoverageValidator::setGapWidth
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage,
      double p_gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' validateResult'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::coverage::CoverageValidator::hasInvalidResult
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::hasInvalidResult(const std::vector<std::unique_ptr<Geometry>>&
      validateResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:74,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - CoverageValidator::setGapWidth
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageValidator.cpp:86,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/src/coverage/CoverageValidator.cpp:88,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:89,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageValidator.cpp:92,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 5
    functionsReached:
    - size
    - geos::util::ensureNoCurvedComponents
    - geos::coverage::CoverageValidator::validate
    - std::unique_ptr::release
    - reset
    - std::vector::emplace_back
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoverageValidator.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:110,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageValidator.cpp:112,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:115,1
    - Dst: std::vector::erase
      Src: /src/geos/src/coverage/CoverageValidator.cpp:116,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:120,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageValidator.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - targetGeom
    - ' index'
    argTypes:
    - Geometry*
    - TemplateSTRtree<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 5
    functionsReached:
    - find
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::isEmpty
    - std::vector::begin
    - std::vector::push_back
    - Envelope::expandBy
    - std::vector::end
    - Geometry*::getEnvelopeInternal
    - query
    - std::vector::erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageValidator::validate(const Geometry*
      targetGeom, TemplateSTRtree<const Geometry*>& index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:44,1
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - p_gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - CoverageValidator::setGapWidth
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage,
      double p_gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' validateResult'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::coverage::CoverageValidator::hasInvalidResult
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::hasInvalidResult(const std::vector<std::unique_ptr<Geometry>>&
      validateResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 5
    functionsReached:
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:74,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 5
    functionsReached:
    - CoverageValidator::setGapWidth
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageValidator.cpp:86,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/src/coverage/CoverageValidator.cpp:88,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:89,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageValidator.cpp:92,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::util::ensureNoCurvedComponents
    - geos::coverage::CoverageValidator::validate
    - std::unique_ptr::release
    - reset
    - std::vector::emplace_back
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoverageValidator.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:110,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageValidator.cpp:112,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:115,1
    - Dst: std::vector::erase
      Src: /src/geos/src/coverage/CoverageValidator.cpp:116,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:120,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageValidator.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - targetGeom
    - ' index'
    argTypes:
    - Geometry*
    - TemplateSTRtree<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 6
    functionsReached:
    - find
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::isEmpty
    - std::vector::begin
    - std::vector::push_back
    - Envelope::expandBy
    - std::vector::end
    - Geometry*::getEnvelopeInternal
    - query
    - std::vector::erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageValidator::validate(const Geometry*
      targetGeom, TemplateSTRtree<const Geometry*>& index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:44,1
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - p_gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - CoverageValidator::setGapWidth
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage,
      double p_gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' validateResult'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::coverage::CoverageValidator::hasInvalidResult
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::hasInvalidResult(const std::vector<std::unique_ptr<Geometry>>&
      validateResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 6
    functionsReached:
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:74,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 6
    functionsReached:
    - CoverageValidator::setGapWidth
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageValidator.cpp:86,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/src/coverage/CoverageValidator.cpp:88,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:89,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageValidator.cpp:92,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 7
    functionsReached:
    - size
    - geos::util::ensureNoCurvedComponents
    - geos::coverage::CoverageValidator::validate
    - std::unique_ptr::release
    - reset
    - std::vector::emplace_back
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoverageValidator.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:110,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageValidator.cpp:112,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:115,1
    - Dst: std::vector::erase
      Src: /src/geos/src/coverage/CoverageValidator.cpp:116,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:120,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageValidator.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - targetGeom
    - ' index'
    argTypes:
    - Geometry*
    - TemplateSTRtree<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 7
    functionsReached:
    - find
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::isEmpty
    - std::vector::begin
    - std::vector::push_back
    - Envelope::expandBy
    - std::vector::end
    - Geometry*::getEnvelopeInternal
    - query
    - std::vector::erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageValidator::validate(const Geometry*
      targetGeom, TemplateSTRtree<const Geometry*>& index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:44,1
    - Dst: geos::coverage::CoverageValidator::hasInvalidResult
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - p_gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::coverage::CoverageValidator::isValid
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 4
    functionsReached:
    - CoverageValidator::setGapWidth
    - geos::coverage::CoverageValidator::hasInvalidResult
    - CoverageValidator::validate
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::isValid(std::vector<const Geometry*>& coverage,
      double p_gapWidth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' validateResult'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::coverage::CoverageValidator::hasInvalidResult
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageValidator::hasInvalidResult(const std::vector<std::unique_ptr<Geometry>>&
      validateResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coverage'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 7
    functionsReached:
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverageValidator::setGapWidth
      Src: /src/geos/src/coverage/CoverageValidator.cpp:74,1
    - Dst: CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' coverage'
    - gapWidth
    argTypes:
    - std::vector<const Geometry*>
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 7
    functionsReached:
    - CoverageValidator::setGapWidth
    - CoverageValidator::validate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate(std::vector<const
      Geometry*>& coverage, double gapWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/coverage/CoverageValidator.cpp:86,1
    - Dst: TemplateSTRtree::insert
      Src: /src/geos/src/coverage/CoverageValidator.cpp:88,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:89,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageValidator.cpp:92,1
    - Dst: geos::coverage::CoverageValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/coverage/CoverageValidator.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::util::ensureNoCurvedComponents
    - geos::coverage::CoverageValidator::validate
    - std::unique_ptr::release
    - reset
    - std::vector::emplace_back
    - TemplateSTRtree::insert
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> CoverageValidator::validate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/coverage/CoverageValidator.cpp:104,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/coverage/CoverageValidator.cpp:105,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/coverage/CoverageValidator.cpp:110,1
    - Dst: query
      Src: /src/geos/src/coverage/CoverageValidator.cpp:112,1
    - Dst: find
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::begin
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:114,1
    - Dst: std::vector::end
      Src: /src/geos/src/coverage/CoverageValidator.cpp:115,1
    - Dst: std::vector::erase
      Src: /src/geos/src/coverage/CoverageValidator.cpp:116,1
    - Dst: geos::coverage::CoveragePolygonValidator::validate
      Src: /src/geos/src/coverage/CoverageValidator.cpp:120,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/coverage/CoverageValidator.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - targetGeom
    - ' index'
    argTypes:
    - Geometry*
    - TemplateSTRtree<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: geos::coverage::CoverageValidator::validate
    functionSourceFile: /src/geos/src/coverage/CoverageValidator.cpp
    functionUses: 8
    functionsReached:
    - find
    - geos::coverage::CoveragePolygonValidator::validate
    - std::unique_ptr::isEmpty
    - std::vector::begin
    - std::vector::push_back
    - Envelope::expandBy
    - std::vector::end
    - Geometry*::getEnvelopeInternal
    - query
    - std::vector::erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CoverageValidator::validate(const Geometry*
      targetGeom, TemplateSTRtree<const Geometry*>& index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 10
    functionsReached:
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* lines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::setFreeRingIndices
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:67,1
    - Dst: TPVWSimplifier::setConstraints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:68,1
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_lines
    - ' p_freeRings'
    - p_constraintLines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 10
    functionsReached:
    - TPVWSimplifier::setConstraints
    - TPVWSimplifier::setFreeRingIndices
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* p_lines,\n    std::vector<bool>& p_freeRings,\n    const MultiLineString*
      p_constraintLines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: geos::coverage::TPVWSimplifier::TPVWSimplifier
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::TPVWSimplifier(\n    const MultiLineString* lines,\n
      \   double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - constraints
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::coverage::TPVWSimplifier::setConstraints
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setConstraints(const MultiLineString* constraints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' freeRing'
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::coverage::TPVWSimplifier::setFreeRingIndices
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setFreeRingIndices(std::vector<bool>& freeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:105,1
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:106,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:109,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:110,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:114,1
    - Dst: createLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 11
    functionsReached:
    - createMultiLineString
    - geos::coverage::TPVWSimplifier::createEdges
    - geos::coverage::TPVWSimplifier::simplify
    - auto::release
    - std::move
    - EdgeIndex::add
    - createLineString
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> TPVWSimplifier::simplify()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:132,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:133,1
    - Dst: empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:134,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - lines
    - ' freeRing'
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: geos::coverage::TPVWSimplifier::createEdges
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 1
    functionsReached:
    - MultiLineString*::getNumGeometries
    - MultiLineString*::getGeometryN
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::vector<Edge>
    signature: "std::vector<Edge> TPVWSimplifier::createEdges(\n    const MultiLineString*
      lines,\n    std::vector<bool>& freeRing)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:145,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:146,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:147,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:148,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:149,1
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:155,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_inputLine
    - p_isFreeRing
    - p_areaTolerance
    argTypes:
    - LineString*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool p_isFreeRing,
      double p_areaTolerance)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getEnvelopeInternal
    - LineString*::getNumPoints
    - remove
    - isRing
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool
      p_isFreeRing, double p_areaTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: '&

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: '*

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: TPVWSimplifier::Edge::size() const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TPVWSimplifier::Edge::size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createQueue
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:186,1
    - Dst: Corner::PriorityQueue::empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: Corner::PriorityQueue::top
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:189,1
    - Dst: Corner::PriorityQueue::pop
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:190,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:193,1
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:197,1
    - Dst: isRemovable
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:199,1
    - Dst: removeCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:200,1
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' edgeIndex'
    argTypes:
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: TPVWSimplifier::Edge::simplify(EdgeIndex& edgeIndex)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    - isRemovable
    - Corner::isRemoved
    - Corner::PriorityQueue::top
    - Corner::PriorityQueue::pop
    - removeCorner
    - Corner::PriorityQueue::empty
    - Corner::getArea
    - createQueue
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> TPVWSimplifier::Edge::simplify(EdgeIndex&
      edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:210,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cornerQueue'
    argTypes:
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - addCorner
    - isRing
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:226,1
    - Dst: push
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - i
    - ' cornerQueue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: "TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - push
    - Corner::getArea
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:238,1
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:241,1
    - Dst: hasIntersectingVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:243,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:247,1
    - Dst: linkedLine::getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:251,1
    - Dst: isBaseline
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' corner'
    - ' edgeIndex'
    argTypes:
    - Corner
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 257
    functionName: "TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - envelope
    - hasIntersectingVertex
    - auto::getAt
    - isBaseline
    - linkedLine::getCoordinates
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:267,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:270,1
    - Dst: isVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:272,1
    - Dst: intersects
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - ' edge'
    argTypes:
    - Corner
    - Envelope
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: "TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - query
    - isVertex
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cornerEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: TPVWSimplifier::Edge::query(const Envelope& cornerEnv) const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> TPVWSimplifier::Edge::query(const Envelope&
      cornerEnv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:298,1
    - Dst: prev
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:299,1
    - Dst: next
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:300,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:301,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:302,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:305,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' corner'
    - ' cornerQueue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: "TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - prev
    - addCorner
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: TPVWSimplifier::EdgeIndex::query(const Envelope& queryEnv)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<const Edge*>
    signature: std::vector<const Edge*> TPVWSimplifier::EdgeIndex::query(const Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 11
    functionsReached:
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* lines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::setFreeRingIndices
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:67,1
    - Dst: TPVWSimplifier::setConstraints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:68,1
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_lines
    - ' p_freeRings'
    - p_constraintLines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 11
    functionsReached:
    - TPVWSimplifier::setConstraints
    - TPVWSimplifier::setFreeRingIndices
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* p_lines,\n    std::vector<bool>& p_freeRings,\n    const MultiLineString*
      p_constraintLines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: geos::coverage::TPVWSimplifier::TPVWSimplifier
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::TPVWSimplifier(\n    const MultiLineString* lines,\n
      \   double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - constraints
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::coverage::TPVWSimplifier::setConstraints
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setConstraints(const MultiLineString* constraints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' freeRing'
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::coverage::TPVWSimplifier::setFreeRingIndices
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setFreeRingIndices(std::vector<bool>& freeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:105,1
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:106,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:109,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:110,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:114,1
    - Dst: createLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 12
    functionsReached:
    - createMultiLineString
    - geos::coverage::TPVWSimplifier::createEdges
    - geos::coverage::TPVWSimplifier::simplify
    - auto::release
    - std::move
    - EdgeIndex::add
    - createLineString
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> TPVWSimplifier::simplify()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:132,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:133,1
    - Dst: empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:134,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - lines
    - ' freeRing'
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: geos::coverage::TPVWSimplifier::createEdges
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 2
    functionsReached:
    - MultiLineString*::getNumGeometries
    - MultiLineString*::getGeometryN
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::vector<Edge>
    signature: "std::vector<Edge> TPVWSimplifier::createEdges(\n    const MultiLineString*
      lines,\n    std::vector<bool>& freeRing)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:145,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:146,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:147,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:148,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:149,1
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:155,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_inputLine
    - p_isFreeRing
    - p_areaTolerance
    argTypes:
    - LineString*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool p_isFreeRing,
      double p_areaTolerance)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getEnvelopeInternal
    - LineString*::getNumPoints
    - remove
    - isRing
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool
      p_isFreeRing, double p_areaTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: '&

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: '*

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: TPVWSimplifier::Edge::size() const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TPVWSimplifier::Edge::size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createQueue
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:186,1
    - Dst: Corner::PriorityQueue::empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: Corner::PriorityQueue::top
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:189,1
    - Dst: Corner::PriorityQueue::pop
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:190,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:193,1
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:197,1
    - Dst: isRemovable
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:199,1
    - Dst: removeCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:200,1
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' edgeIndex'
    argTypes:
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: TPVWSimplifier::Edge::simplify(EdgeIndex& edgeIndex)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    - isRemovable
    - Corner::isRemoved
    - Corner::PriorityQueue::top
    - Corner::PriorityQueue::pop
    - removeCorner
    - Corner::PriorityQueue::empty
    - Corner::getArea
    - createQueue
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> TPVWSimplifier::Edge::simplify(EdgeIndex&
      edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:210,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cornerQueue'
    argTypes:
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - addCorner
    - isRing
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:226,1
    - Dst: push
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - i
    - ' cornerQueue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: "TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - push
    - Corner::getArea
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:238,1
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:241,1
    - Dst: hasIntersectingVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:243,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:247,1
    - Dst: linkedLine::getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:251,1
    - Dst: isBaseline
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' corner'
    - ' edgeIndex'
    argTypes:
    - Corner
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 257
    functionName: "TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - envelope
    - hasIntersectingVertex
    - auto::getAt
    - isBaseline
    - linkedLine::getCoordinates
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:267,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:270,1
    - Dst: isVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:272,1
    - Dst: intersects
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - ' edge'
    argTypes:
    - Corner
    - Envelope
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: "TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - query
    - isVertex
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cornerEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: TPVWSimplifier::Edge::query(const Envelope& cornerEnv) const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> TPVWSimplifier::Edge::query(const Envelope&
      cornerEnv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:298,1
    - Dst: prev
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:299,1
    - Dst: next
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:300,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:301,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:302,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:305,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' corner'
    - ' cornerQueue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: "TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - prev
    - addCorner
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: TPVWSimplifier::EdgeIndex::query(const Envelope& queryEnv)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<const Edge*>
    signature: std::vector<const Edge*> TPVWSimplifier::EdgeIndex::query(const Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 12
    functionsReached:
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* lines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::setFreeRingIndices
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:67,1
    - Dst: TPVWSimplifier::setConstraints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:68,1
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_lines
    - ' p_freeRings'
    - p_constraintLines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 12
    functionsReached:
    - TPVWSimplifier::setConstraints
    - TPVWSimplifier::setFreeRingIndices
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* p_lines,\n    std::vector<bool>& p_freeRings,\n    const MultiLineString*
      p_constraintLines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: geos::coverage::TPVWSimplifier::TPVWSimplifier
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::TPVWSimplifier(\n    const MultiLineString* lines,\n
      \   double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - constraints
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::coverage::TPVWSimplifier::setConstraints
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setConstraints(const MultiLineString* constraints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' freeRing'
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::coverage::TPVWSimplifier::setFreeRingIndices
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setFreeRingIndices(std::vector<bool>& freeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:105,1
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:106,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:109,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:110,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:114,1
    - Dst: createLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 13
    functionsReached:
    - createMultiLineString
    - geos::coverage::TPVWSimplifier::createEdges
    - geos::coverage::TPVWSimplifier::simplify
    - auto::release
    - std::move
    - EdgeIndex::add
    - createLineString
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> TPVWSimplifier::simplify()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:132,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:133,1
    - Dst: empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:134,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - lines
    - ' freeRing'
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: geos::coverage::TPVWSimplifier::createEdges
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 3
    functionsReached:
    - MultiLineString*::getNumGeometries
    - MultiLineString*::getGeometryN
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::vector<Edge>
    signature: "std::vector<Edge> TPVWSimplifier::createEdges(\n    const MultiLineString*
      lines,\n    std::vector<bool>& freeRing)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:145,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:146,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:147,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:148,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:149,1
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:155,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_inputLine
    - p_isFreeRing
    - p_areaTolerance
    argTypes:
    - LineString*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool p_isFreeRing,
      double p_areaTolerance)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getEnvelopeInternal
    - LineString*::getNumPoints
    - remove
    - isRing
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool
      p_isFreeRing, double p_areaTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: '&

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: '*

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: TPVWSimplifier::Edge::size() const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TPVWSimplifier::Edge::size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createQueue
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:186,1
    - Dst: Corner::PriorityQueue::empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: Corner::PriorityQueue::top
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:189,1
    - Dst: Corner::PriorityQueue::pop
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:190,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:193,1
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:197,1
    - Dst: isRemovable
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:199,1
    - Dst: removeCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:200,1
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' edgeIndex'
    argTypes:
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: TPVWSimplifier::Edge::simplify(EdgeIndex& edgeIndex)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    - isRemovable
    - Corner::isRemoved
    - Corner::PriorityQueue::top
    - Corner::PriorityQueue::pop
    - removeCorner
    - Corner::PriorityQueue::empty
    - Corner::getArea
    - createQueue
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> TPVWSimplifier::Edge::simplify(EdgeIndex&
      edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:210,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cornerQueue'
    argTypes:
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - addCorner
    - isRing
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:226,1
    - Dst: push
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - i
    - ' cornerQueue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: "TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - push
    - Corner::getArea
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:238,1
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:241,1
    - Dst: hasIntersectingVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:243,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:247,1
    - Dst: linkedLine::getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:251,1
    - Dst: isBaseline
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' corner'
    - ' edgeIndex'
    argTypes:
    - Corner
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 257
    functionName: "TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - envelope
    - hasIntersectingVertex
    - auto::getAt
    - isBaseline
    - linkedLine::getCoordinates
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:267,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:270,1
    - Dst: isVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:272,1
    - Dst: intersects
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - ' edge'
    argTypes:
    - Corner
    - Envelope
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: "TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - query
    - isVertex
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cornerEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: TPVWSimplifier::Edge::query(const Envelope& cornerEnv) const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> TPVWSimplifier::Edge::query(const Envelope&
      cornerEnv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:298,1
    - Dst: prev
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:299,1
    - Dst: next
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:300,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:301,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:302,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:305,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' corner'
    - ' cornerQueue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: "TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - prev
    - addCorner
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: TPVWSimplifier::EdgeIndex::query(const Envelope& queryEnv)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<const Edge*>
    signature: std::vector<const Edge*> TPVWSimplifier::EdgeIndex::query(const Envelope&
      queryEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 13
    functionsReached:
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* lines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TPVWSimplifier::setFreeRingIndices
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:67,1
    - Dst: TPVWSimplifier::setConstraints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:68,1
    - Dst: TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_lines
    - ' p_freeRings'
    - p_constraintLines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 13
    functionsReached:
    - TPVWSimplifier::setConstraints
    - TPVWSimplifier::setFreeRingIndices
    - TPVWSimplifier::simplify
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> TPVWSimplifier::simplify(\n    const
      MultiLineString* p_lines,\n    std::vector<bool>& p_freeRings,\n    const MultiLineString*
      p_constraintLines,\n    double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - lines
    - distanceTolerance
    argTypes:
    - MultiLineString*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: geos::coverage::TPVWSimplifier::TPVWSimplifier
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::TPVWSimplifier(\n    const MultiLineString* lines,\n
      \   double distanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - constraints
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::coverage::TPVWSimplifier::setConstraints
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setConstraints(const MultiLineString* constraints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' freeRing'
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: geos::coverage::TPVWSimplifier::setFreeRingIndices
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::setFreeRingIndices(std::vector<bool>& freeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:105,1
    - Dst: geos::coverage::TPVWSimplifier::createEdges
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:106,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:109,1
    - Dst: EdgeIndex::add
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:110,1
    - Dst: geos::coverage::TPVWSimplifier::simplify
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:114,1
    - Dst: createLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:115,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: auto::release
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:116,1
    - Dst: createMultiLineString
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: geos::coverage::TPVWSimplifier::simplify
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 14
    functionsReached:
    - createMultiLineString
    - geos::coverage::TPVWSimplifier::createEdges
    - geos::coverage::TPVWSimplifier::simplify
    - auto::release
    - std::move
    - EdgeIndex::add
    - createLineString
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> TPVWSimplifier::simplify()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:132,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:133,1
    - Dst: empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:134,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - lines
    - ' freeRing'
    argTypes:
    - MultiLineString*
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: geos::coverage::TPVWSimplifier::createEdges
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 4
    functionsReached:
    - MultiLineString*::getNumGeometries
    - MultiLineString*::getGeometryN
    - std::vector::emplace_back
    - empty
    linkageType: ''
    returnType: std::vector<Edge>
    signature: "std::vector<Edge> TPVWSimplifier::createEdges(\n    const MultiLineString*
      lines,\n    std::vector<bool>& freeRing)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::getEnvelopeInternal
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:145,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:146,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:147,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:148,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:149,1
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:155,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_inputLine
    - p_isFreeRing
    - p_areaTolerance
    argTypes:
    - LineString*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool p_isFreeRing,
      double p_areaTolerance)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getEnvelopeInternal
    - LineString*::getNumPoints
    - remove
    - isRing
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::Edge(const LineString* p_inputLine, bool
      p_isFreeRing, double p_areaTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: '&

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TPVWSimplifier::Edge::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: '*

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      TPVWSimplifier::Edge::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: TPVWSimplifier::Edge::size() const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TPVWSimplifier::Edge::size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createQueue
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:186,1
    - Dst: Corner::PriorityQueue::empty
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:187,1
    - Dst: Corner::PriorityQueue::top
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:189,1
    - Dst: Corner::PriorityQueue::pop
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:190,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:193,1
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:197,1
    - Dst: isRemovable
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:199,1
    - Dst: removeCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:200,1
    - Dst: getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' edgeIndex'
    argTypes:
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: TPVWSimplifier::Edge::simplify(EdgeIndex& edgeIndex)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    - isRemovable
    - Corner::isRemoved
    - Corner::PriorityQueue::top
    - Corner::PriorityQueue::pop
    - removeCorner
    - Corner::PriorityQueue::empty
    - Corner::getArea
    - createQueue
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> TPVWSimplifier::Edge::simplify(EdgeIndex&
      edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isRing
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:210,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' cornerQueue'
    argTypes:
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - addCorner
    - isRing
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::Edge::createQueue(Corner::PriorityQueue& cornerQueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Corner::getArea
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:226,1
    - Dst: push
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - i
    - ' cornerQueue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: "TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - push
    - Corner::getArea
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::addCorner(\n    std::size_t i,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:238,1
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:241,1
    - Dst: hasIntersectingVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:243,1
    - Dst: size
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:247,1
    - Dst: linkedLine::getCoordinates
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:251,1
    - Dst: isBaseline
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    - Dst: auto::getAt
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ' corner'
    - ' edgeIndex'
    argTypes:
    - Corner
    - EdgeIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 257
    functionName: "TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - envelope
    - hasIntersectingVertex
    - auto::getAt
    - isBaseline
    - linkedLine::getCoordinates
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::isRemovable(\n    Corner& corner,\n    EdgeIndex&
      edgeIndex) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:267,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:270,1
    - Dst: isVertex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:272,1
    - Dst: intersects
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - ' edge'
    argTypes:
    - Corner
    - Envelope
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: "TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - query
    - isVertex
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool TPVWSimplifier::Edge::hasIntersectingVertex(\n    const Corner&
      corner,\n    const Envelope& cornerEnv,\n    const Edge& edge) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' cornerEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: TPVWSimplifier::Edge::query(const Envelope& cornerEnv) const
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> TPVWSimplifier::Edge::query(const Envelope&
      cornerEnv) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:298,1
    - Dst: prev
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:299,1
    - Dst: next
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:300,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:301,1
    - Dst: remove
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:302,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:305,1
    - Dst: addCorner
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' corner'
    - ' cornerQueue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: "TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - prev
    - addCorner
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: "void TPVWSimplifier::Edge::removeCorner(\n    Corner& corner,\n    Corner::PriorityQueue&
      cornerQueue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void TPVWSimplifier::EdgeIndex::add(std::vector<Edge>& edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/coverage/TPVWSimplifier.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: TPVWSimplifier::EdgeIndex::query(const Envelope& queryEnv)
    functionSourceFile: /src/geos/src/coverage/TPVWSimplifier.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<const Edge*>
    signature: std::vector<const Edge*> TPVWSimplifier::EdgeIndex::query(const Envelope&
      queryEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoverageRing.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 5
    functionsReached:
    - geos::coverage::CoverageRing::isKnown
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::vector<CoverageRing*>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - inPts
    - interiorOnRight
    argTypes:
    - CoordinateSequence*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(CoordinateSequence* inPts, bool interiorOnRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - const_cast<CoordinateSequence*>
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(const LinearRing* ring, bool isShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::coverage::CoverageRing::getEnvelope
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - geom::Envelope::expandToInclude
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope CoverageRing::getEnvelope(std::size_t start, std::size_t
      end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageRing::isInteriorOnRight
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInteriorOnRight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::coverage::CoverageRing::markInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markInvalid(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: geos::coverage::CoverageRing::markMatched
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markMatched(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid(std::size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: geos::coverage::CoverageRing::hasInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::hasInvalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:166,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:167,1
    - Dst: prev
      Src: /src/geos/src/coverage/CoverageRing.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: '&

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:181,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:182,1
    - Dst: next
      Src: /src/geos/src/coverage/CoverageRing.cpp:183,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: '&

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::coverage::CoverageRing::prev
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::prev(std::size_t index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: geos::coverage::CoverageRing::next
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::next(std::size_t index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::hasInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:217,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:221,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:228,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:229,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:232,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:233,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:234,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - geomFactory
    - ' lines'
    argTypes:
    - GeometryFactory*
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: geos::coverage::CoverageRing::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageRing::findInvalidStart
    - size
    - geos::coverage::CoverageRing::findInvalidEnd
    - push_back
    - geos::coverage::CoverageRing::hasInvalid
    - std::move
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::createLine
    linkageType: ''
    returnType: void
    signature: "void CoverageRing::createInvalidLines(\n    const GeometryFactory*
      geomFactory,\n    std::vector<std::unique_ptr<LineString>>& lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:246,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: geos::coverage::CoverageRing::findInvalidStart
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidStart(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:257,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:258,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: geos::coverage::CoverageRing::findInvalidEnd
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 1
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidEnd(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: geos::coverage::CoverageRing::nextMarkIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::nextMarkIndex(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::extractSectionWrap
      Src: /src/geos/src/coverage/CoverageRing.cpp:284,1
    - Dst: geos::coverage::CoverageRing::extractSection
      Src: /src/geos/src/coverage/CoverageRing.cpp:285,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - startIndex
    - endIndex
    - geomFactory
    argTypes:
    - std::size_t
    - std::size_t
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: geos::coverage::CoverageRing::createLine
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 1
    functionsReached:
    - GeometryFactory*::createLineString
    - std::move
    - geos::coverage::CoverageRing::extractSectionWrap
    - geos::coverage::CoverageRing::extractSection
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> CoverageRing::createLine(\n    std::size_t
      startIndex,\n    std::size_t endIndex,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:295,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: geos::coverage::CoverageRing::extractSection
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - std::unique_ptr::add
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSection(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:308,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:309,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: geos::coverage::CoverageRing::extractSectionWrap
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 1
    functionsReached:
    - size
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRing::nextMarkIndex
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSectionWrap(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoverageRing.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 6
    functionsReached:
    - geos::coverage::CoverageRing::isKnown
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::vector<CoverageRing*>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - inPts
    - interiorOnRight
    argTypes:
    - CoordinateSequence*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(CoordinateSequence* inPts, bool interiorOnRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - const_cast<CoordinateSequence*>
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(const LinearRing* ring, bool isShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::coverage::CoverageRing::getEnvelope
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - geom::Envelope::expandToInclude
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope CoverageRing::getEnvelope(std::size_t start, std::size_t
      end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageRing::isInteriorOnRight
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInteriorOnRight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::coverage::CoverageRing::markInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markInvalid(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: geos::coverage::CoverageRing::markMatched
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markMatched(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 6
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid(std::size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: geos::coverage::CoverageRing::hasInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::hasInvalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:166,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:167,1
    - Dst: prev
      Src: /src/geos/src/coverage/CoverageRing.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: '&

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:181,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:182,1
    - Dst: next
      Src: /src/geos/src/coverage/CoverageRing.cpp:183,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: '&

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::coverage::CoverageRing::prev
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::prev(std::size_t index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: geos::coverage::CoverageRing::next
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::next(std::size_t index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::hasInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:217,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:221,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:228,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:229,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:232,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:233,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:234,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - geomFactory
    - ' lines'
    argTypes:
    - GeometryFactory*
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: geos::coverage::CoverageRing::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageRing::findInvalidStart
    - size
    - geos::coverage::CoverageRing::findInvalidEnd
    - push_back
    - geos::coverage::CoverageRing::hasInvalid
    - std::move
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::createLine
    linkageType: ''
    returnType: void
    signature: "void CoverageRing::createInvalidLines(\n    const GeometryFactory*
      geomFactory,\n    std::vector<std::unique_ptr<LineString>>& lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:246,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: geos::coverage::CoverageRing::findInvalidStart
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidStart(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:257,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:258,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: geos::coverage::CoverageRing::findInvalidEnd
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 2
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidEnd(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: geos::coverage::CoverageRing::nextMarkIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::nextMarkIndex(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::extractSectionWrap
      Src: /src/geos/src/coverage/CoverageRing.cpp:284,1
    - Dst: geos::coverage::CoverageRing::extractSection
      Src: /src/geos/src/coverage/CoverageRing.cpp:285,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - startIndex
    - endIndex
    - geomFactory
    argTypes:
    - std::size_t
    - std::size_t
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: geos::coverage::CoverageRing::createLine
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 2
    functionsReached:
    - GeometryFactory*::createLineString
    - std::move
    - geos::coverage::CoverageRing::extractSectionWrap
    - geos::coverage::CoverageRing::extractSection
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> CoverageRing::createLine(\n    std::size_t
      startIndex,\n    std::size_t endIndex,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:295,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: geos::coverage::CoverageRing::extractSection
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - std::unique_ptr::add
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSection(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:308,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:309,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: geos::coverage::CoverageRing::extractSectionWrap
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 2
    functionsReached:
    - size
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRing::nextMarkIndex
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSectionWrap(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoverageRing.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 7
    functionsReached:
    - geos::coverage::CoverageRing::isKnown
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::vector<CoverageRing*>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - inPts
    - interiorOnRight
    argTypes:
    - CoordinateSequence*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(CoordinateSequence* inPts, bool interiorOnRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - const_cast<CoordinateSequence*>
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(const LinearRing* ring, bool isShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::coverage::CoverageRing::getEnvelope
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - geom::Envelope::expandToInclude
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope CoverageRing::getEnvelope(std::size_t start, std::size_t
      end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageRing::isInteriorOnRight
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInteriorOnRight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::coverage::CoverageRing::markInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markInvalid(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: geos::coverage::CoverageRing::markMatched
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markMatched(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 7
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid(std::size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: geos::coverage::CoverageRing::hasInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::hasInvalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:166,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:167,1
    - Dst: prev
      Src: /src/geos/src/coverage/CoverageRing.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: '&

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:181,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:182,1
    - Dst: next
      Src: /src/geos/src/coverage/CoverageRing.cpp:183,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: '&

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::coverage::CoverageRing::prev
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::prev(std::size_t index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: geos::coverage::CoverageRing::next
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::next(std::size_t index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::hasInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:217,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:221,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:228,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:229,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:232,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:233,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:234,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - geomFactory
    - ' lines'
    argTypes:
    - GeometryFactory*
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: geos::coverage::CoverageRing::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageRing::findInvalidStart
    - size
    - geos::coverage::CoverageRing::findInvalidEnd
    - push_back
    - geos::coverage::CoverageRing::hasInvalid
    - std::move
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::createLine
    linkageType: ''
    returnType: void
    signature: "void CoverageRing::createInvalidLines(\n    const GeometryFactory*
      geomFactory,\n    std::vector<std::unique_ptr<LineString>>& lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:246,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: geos::coverage::CoverageRing::findInvalidStart
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidStart(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:257,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:258,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: geos::coverage::CoverageRing::findInvalidEnd
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidEnd(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: geos::coverage::CoverageRing::nextMarkIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::nextMarkIndex(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::extractSectionWrap
      Src: /src/geos/src/coverage/CoverageRing.cpp:284,1
    - Dst: geos::coverage::CoverageRing::extractSection
      Src: /src/geos/src/coverage/CoverageRing.cpp:285,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - startIndex
    - endIndex
    - geomFactory
    argTypes:
    - std::size_t
    - std::size_t
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: geos::coverage::CoverageRing::createLine
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached:
    - GeometryFactory*::createLineString
    - std::move
    - geos::coverage::CoverageRing::extractSectionWrap
    - geos::coverage::CoverageRing::extractSection
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> CoverageRing::createLine(\n    std::size_t
      startIndex,\n    std::size_t endIndex,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:295,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: geos::coverage::CoverageRing::extractSection
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - std::unique_ptr::add
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSection(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:308,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:309,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: geos::coverage::CoverageRing::extractSectionWrap
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached:
    - size
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRing::nextMarkIndex
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSectionWrap(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isKnown
      Src: /src/geos/src/coverage/CoverageRing.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - std::vector<CoverageRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 8
    functionsReached:
    - geos::coverage::CoverageRing::isKnown
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::vector<CoverageRing*>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:58,1
    - Dst: resize
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - inPts
    - interiorOnRight
    argTypes:
    - CoordinateSequence*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(CoordinateSequence* inPts, bool interiorOnRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<CoordinateSequence*>
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:72,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/coverage/CoverageRing.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring
    - isShell
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::coverage::CoverageRing::CoverageRing
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - LinearRing*::getCoordinatesRO
    - const_cast<CoordinateSequence*>
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void CoverageRing::CoverageRing(const LinearRing* ring, bool isShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope::expandToInclude
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::coverage::CoverageRing::getEnvelope
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - geom::Envelope::expandToInclude
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope CoverageRing::getEnvelope(std::size_t start, std::size_t
      end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::coverage::CoverageRing::isInteriorOnRight
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInteriorOnRight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::coverage::CoverageRing::markInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markInvalid(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: geos::coverage::CoverageRing::markMatched
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverageRing::markMatched(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid(std::size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::coverage::CoverageRing::isInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isInvalid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: geos::coverage::CoverageRing::hasInvalid
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::hasInvalid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: geos::coverage::CoverageRing::isKnown
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CoverageRing::isKnown(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:166,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:167,1
    - Dst: prev
      Src: /src/geos/src/coverage/CoverageRing.cpp:168,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: '&

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexPrev(std::size_t index, const Coordinate& pt) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:181,1
    - Dst: equals2D
      Src: /src/geos/src/coverage/CoverageRing.cpp:182,1
    - Dst: next
      Src: /src/geos/src/coverage/CoverageRing.cpp:183,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' pt'
    argTypes:
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: '&

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CoverageRing::findVertexNext(std::size_t index, const Coordinate& pt) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geos::coverage::CoverageRing::prev
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::prev(std::size_t index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: geos::coverage::CoverageRing::next
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::next(std::size_t index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::hasInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:217,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:221,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:222,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:223,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:228,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:229,1
    - Dst: geos::coverage::CoverageRing::findInvalidStart
      Src: /src/geos/src/coverage/CoverageRing.cpp:232,1
    - Dst: geos::coverage::CoverageRing::findInvalidEnd
      Src: /src/geos/src/coverage/CoverageRing.cpp:233,1
    - Dst: geos::coverage::CoverageRing::createLine
      Src: /src/geos/src/coverage/CoverageRing.cpp:234,1
    - Dst: push_back
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - geomFactory
    - ' lines'
    argTypes:
    - GeometryFactory*
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: geos::coverage::CoverageRing::createInvalidLines
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 0
    functionsReached:
    - geos::coverage::CoverageRing::findInvalidStart
    - size
    - geos::coverage::CoverageRing::findInvalidEnd
    - push_back
    - geos::coverage::CoverageRing::hasInvalid
    - std::move
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::createLine
    linkageType: ''
    returnType: void
    signature: "void CoverageRing::createInvalidLines(\n    const GeometryFactory*
      geomFactory,\n    std::vector<std::unique_ptr<LineString>>& lines)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:246,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: geos::coverage::CoverageRing::findInvalidStart
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidStart(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:257,1
    - Dst: geos::coverage::CoverageRing::isInvalid
      Src: /src/geos/src/coverage/CoverageRing.cpp:258,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: geos::coverage::CoverageRing::findInvalidEnd
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 4
    functionsReached:
    - geos::coverage::CoverageRing::isInvalid
    - geos::coverage::CoverageRing::nextMarkIndex
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::findInvalidEnd(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: geos::coverage::CoverageRing::nextMarkIndex
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 11
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoverageRing::nextMarkIndex(std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::coverage::CoverageRing::extractSectionWrap
      Src: /src/geos/src/coverage/CoverageRing.cpp:284,1
    - Dst: geos::coverage::CoverageRing::extractSection
      Src: /src/geos/src/coverage/CoverageRing.cpp:285,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    - Dst: std::move
      Src: /src/geos/src/coverage/CoverageRing.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - startIndex
    - endIndex
    - geomFactory
    argTypes:
    - std::size_t
    - std::size_t
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: geos::coverage::CoverageRing::createLine
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 4
    functionsReached:
    - GeometryFactory*::createLineString
    - std::move
    - geos::coverage::CoverageRing::extractSectionWrap
    - geos::coverage::CoverageRing::extractSection
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: "std::unique_ptr<LineString> CoverageRing::createLine(\n    std::size_t
      startIndex,\n    std::size_t endIndex,\n    const GeometryFactory* geomFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:295,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: geos::coverage::CoverageRing::extractSection
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - std::unique_ptr::add
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSection(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/coverage/CoverageRing.cpp:308,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/coverage/CoverageRing.cpp:309,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: getCoordinate
      Src: /src/geos/src/coverage/CoverageRing.cpp:312,1
    - Dst: geos::coverage::CoverageRing::nextMarkIndex
      Src: /src/geos/src/coverage/CoverageRing.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: geos::coverage::CoverageRing::extractSectionWrap
    functionSourceFile: /src/geos/src/coverage/CoverageRing.cpp
    functionUses: 4
    functionsReached:
    - size
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - geos::coverage::CoverageRing::nextMarkIndex
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoverageRing::extractSectionWrap(std::size_t
      startIndex, std::size_t endIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/Node.cpp:42,1
    - Dst: std::set_intersection
      Src: /src/geos/src/planargraph/Node.cpp:45,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector*::end
      Src: /src/geos/src/planargraph/Node.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - node0
    - node1
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Node::getEdgesBetween
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector::begin
    - std::vector*::end
    - std::vector<Edge*>::vector<Edge*>
    - std::vector::end
    - Node*::getOutEdges
    - std::set_intersection
    - std::sort
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      Node::getEdgesBetween(Node* node0, Node* node1)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDegree
      Src: /src/geos/src/planargraph/Node.cpp:58,1
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Node.cpp:59,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Node.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const Node& n)'
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - getDegree
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Node& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/Node.cpp:42,1
    - Dst: std::set_intersection
      Src: /src/geos/src/planargraph/Node.cpp:45,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector*::end
      Src: /src/geos/src/planargraph/Node.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - node0
    - node1
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Node::getEdgesBetween
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector::begin
    - std::vector*::end
    - std::vector<Edge*>::vector<Edge*>
    - std::vector::end
    - Node*::getOutEdges
    - std::set_intersection
    - std::sort
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      Node::getEdgesBetween(Node* node0, Node* node1)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDegree
      Src: /src/geos/src/planargraph/Node.cpp:58,1
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Node.cpp:59,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Node.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const Node& n)'
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - getDegree
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Node& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/Node.cpp:42,1
    - Dst: std::set_intersection
      Src: /src/geos/src/planargraph/Node.cpp:45,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector*::end
      Src: /src/geos/src/planargraph/Node.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - node0
    - node1
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Node::getEdgesBetween
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector::begin
    - std::vector*::end
    - std::vector<Edge*>::vector<Edge*>
    - std::vector::end
    - Node*::getOutEdges
    - std::set_intersection
    - std::sort
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      Node::getEdgesBetween(Node* node0, Node* node1)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDegree
      Src: /src/geos/src/planargraph/Node.cpp:58,1
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Node.cpp:59,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Node.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const Node& n)'
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - getDegree
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Node& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:33,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/Node.cpp:36,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:39,1
    - Dst: std::sort
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:40,1
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/Node.cpp:42,1
    - Dst: std::set_intersection
      Src: /src/geos/src/planargraph/Node.cpp:45,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector::end
      Src: /src/geos/src/planargraph/Node.cpp:47,1
    - Dst: std::vector*::end
      Src: /src/geos/src/planargraph/Node.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - node0
    - node1
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Node::getEdgesBetween
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector::begin
    - std::vector*::end
    - std::vector<Edge*>::vector<Edge*>
    - std::vector::end
    - Node*::getOutEdges
    - std::set_intersection
    - std::sort
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      Node::getEdgesBetween(Node* node0, Node* node1)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDegree
      Src: /src/geos/src/planargraph/Node.cpp:58,1
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Node.cpp:59,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Node.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const Node& n)'
    functionSourceFile: /src/geos/src/planargraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - getDegree
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Node& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::planargraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap()
  - 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: '&

      NodeMap::getNodeMap()'
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeMap::container
    signature: 'NodeMap::container &

      NodeMap::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: std::pair<geom::Coordinate, Node*>
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::planargraph::NodeMap::add
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - insert
    - std::pair<geom::Coordinate, Node*>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::add(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:57,1
    - Dst: erase
      Src: /src/geos/src/planargraph/NodeMap.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::planargraph::NodeMap::remove
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::NodeMap::find
    - erase
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::remove(geom::Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/NodeMap.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: geos::planargraph::NodeMap::getNodes
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void NodeMap::getNodes(std::vector<Node*>& values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:79,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::planargraph::NodeMap::find
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 2
    functionsReached:
    - geos::planargraph::NodeMap::find
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const geom::Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::planargraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap()
  - 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: '&

      NodeMap::getNodeMap()'
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeMap::container
    signature: 'NodeMap::container &

      NodeMap::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: std::pair<geom::Coordinate, Node*>
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::planargraph::NodeMap::add
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - insert
    - std::pair<geom::Coordinate, Node*>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::add(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:57,1
    - Dst: erase
      Src: /src/geos/src/planargraph/NodeMap.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::planargraph::NodeMap::remove
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::NodeMap::find
    - erase
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::remove(geom::Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/NodeMap.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: geos::planargraph::NodeMap::getNodes
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void NodeMap::getNodes(std::vector<Node*>& values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:79,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::planargraph::NodeMap::find
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 4
    functionsReached:
    - geos::planargraph::NodeMap::find
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const geom::Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::planargraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap()
  - 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: '&

      NodeMap::getNodeMap()'
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeMap::container
    signature: 'NodeMap::container &

      NodeMap::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: std::pair<geom::Coordinate, Node*>
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::planargraph::NodeMap::add
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - insert
    - std::pair<geom::Coordinate, Node*>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::add(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:57,1
    - Dst: erase
      Src: /src/geos/src/planargraph/NodeMap.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::planargraph::NodeMap::remove
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::NodeMap::find
    - erase
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::remove(geom::Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/NodeMap.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: geos::planargraph::NodeMap::getNodes
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void NodeMap::getNodes(std::vector<Node*>& values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:79,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::planargraph::NodeMap::find
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 6
    functionsReached:
    - geos::planargraph::NodeMap::find
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const geom::Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::planargraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap()
  - 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: '&

      NodeMap::getNodeMap()'
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeMap::container
    signature: 'NodeMap::container &

      NodeMap::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: std::pair<geom::Coordinate, Node*>
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/NodeMap.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::planargraph::NodeMap::add
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - insert
    - std::pair<geom::Coordinate, Node*>
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::add(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:57,1
    - Dst: erase
      Src: /src/geos/src/planargraph/NodeMap.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::planargraph::NodeMap::remove
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::NodeMap::find
    - erase
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::remove(geom::Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/NodeMap.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: geos::planargraph::NodeMap::getNodes
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - begin
    - push_back
    - end
    linkageType: ''
    returnType: void
    signature: void NodeMap::getNodes(std::vector<Node*>& values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::NodeMap::find
      Src: /src/geos/src/planargraph/NodeMap.cpp:79,1
    - Dst: end
      Src: /src/geos/src/planargraph/NodeMap.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: geos::planargraph::NodeMap::find
    functionSourceFile: /src/geos/src/planargraph/NodeMap.cpp
    functionUses: 8
    functionsReached:
    - geos::planargraph::NodeMap::find
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const geom::Coordinate& coord)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/Subgraph.cpp:32,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: geos::planargraph::Subgraph::add
    functionSourceFile: /src/geos/src/planargraph/Subgraph.cpp
    functionUses: 1
    functionsReached:
    - Edge*::getDirEdge
    - insert
    - push_back
    - geos::planargraph::Subgraph::add
    linkageType: ''
    returnType: std::pair<Edge::NonConstSet::iterator, bool>
    signature: std::pair<Edge::NonConstSet::iterator, bool> Subgraph::add(Edge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/Subgraph.cpp:32,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: geos::planargraph::Subgraph::add
    functionSourceFile: /src/geos/src/planargraph/Subgraph.cpp
    functionUses: 2
    functionsReached:
    - Edge*::getDirEdge
    - insert
    - push_back
    - geos::planargraph::Subgraph::add
    linkageType: ''
    returnType: std::pair<Edge::NonConstSet::iterator, bool>
    signature: std::pair<Edge::NonConstSet::iterator, bool> Subgraph::add(Edge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/Subgraph.cpp:32,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: geos::planargraph::Subgraph::add
    functionSourceFile: /src/geos/src/planargraph/Subgraph.cpp
    functionUses: 3
    functionsReached:
    - Edge*::getDirEdge
    - insert
    - push_back
    - geos::planargraph::Subgraph::add
    linkageType: ''
    returnType: std::pair<Edge::NonConstSet::iterator, bool>
    signature: std::pair<Edge::NonConstSet::iterator, bool> Subgraph::add(Edge* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/planargraph/Subgraph.cpp:32,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:38,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:39,1
    - Dst: geos::planargraph::Subgraph::add
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/Subgraph.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: geos::planargraph::Subgraph::add
    functionSourceFile: /src/geos/src/planargraph/Subgraph.cpp
    functionUses: 4
    functionsReached:
    - Edge*::getDirEdge
    - insert
    - push_back
    - geos::planargraph::Subgraph::add
    linkageType: ''
    returnType: std::pair<Edge::NonConstSet::iterator, bool>
    signature: std::pair<Edge::NonConstSet::iterator, bool> Subgraph::add(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:45,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::planargraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - Edge*::getDirEdge
    - push_back
    - geos::planargraph::PlanarGraph::add
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:62,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - Edge*::getDirEdge
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - std::next
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Edge* edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:79,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:81,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:83,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:84,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - size
    - begin
    - DirectedEdge*::getFromNode
    - DirectedEdge*::getSym
    - static_cast<int>
    - std::next
    - DirectedEdge*::setSym
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(DirectedEdge* de)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:100,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:101,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:103,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:106,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:109,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:115,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:117,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached:
    - DirectedEdge*::getEdge
    - Node*::getCoordinate
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - DirectedEdge*::getSym
    - Node*::getOutEdges
    - begin
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:134,1
    - Dst: geos::planargraph::PlanarGraph::findNodesOfDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - degree
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::planargraph::PlanarGraph::findNodesOfDegree
    - std::vector<Node*>::vector<Node*>
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      PlanarGraph::findNodesOfDegree(std::size_t degree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeMap
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: end
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: Node*::getDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - degree
    - ' nodesFound'
    argTypes:
    - std::size_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - getNodeMap
    - push_back
    - Node*::getDegree
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::findNodesOfDegree(std::size_t degree, std::vector<Node*>&
      nodesFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:45,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::planargraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached:
    - Edge*::getDirEdge
    - push_back
    - geos::planargraph::PlanarGraph::add
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:62,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - Edge*::getDirEdge
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - std::next
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Edge* edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:79,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:81,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:83,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:84,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - size
    - begin
    - DirectedEdge*::getFromNode
    - DirectedEdge*::getSym
    - static_cast<int>
    - std::next
    - DirectedEdge*::setSym
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(DirectedEdge* de)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:100,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:101,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:103,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:106,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:109,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:115,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:117,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached:
    - DirectedEdge*::getEdge
    - Node*::getCoordinate
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - DirectedEdge*::getSym
    - Node*::getOutEdges
    - begin
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:134,1
    - Dst: geos::planargraph::PlanarGraph::findNodesOfDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - degree
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::planargraph::PlanarGraph::findNodesOfDegree
    - std::vector<Node*>::vector<Node*>
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      PlanarGraph::findNodesOfDegree(std::size_t degree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeMap
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: end
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: Node*::getDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - degree
    - ' nodesFound'
    argTypes:
    - std::size_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached:
    - getNodeMap
    - push_back
    - Node*::getDegree
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::findNodesOfDegree(std::size_t degree, std::vector<Node*>&
      nodesFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:45,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::planargraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - Edge*::getDirEdge
    - push_back
    - geos::planargraph::PlanarGraph::add
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:62,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 5
    functionsReached:
    - Edge*::getDirEdge
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - std::next
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Edge* edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:79,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:81,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:83,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:84,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 5
    functionsReached:
    - size
    - begin
    - DirectedEdge*::getFromNode
    - DirectedEdge*::getSym
    - static_cast<int>
    - std::next
    - DirectedEdge*::setSym
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(DirectedEdge* de)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:100,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:101,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:103,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:106,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:109,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:115,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:117,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 6
    functionsReached:
    - DirectedEdge*::getEdge
    - Node*::getCoordinate
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - DirectedEdge*::getSym
    - Node*::getOutEdges
    - begin
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:134,1
    - Dst: geos::planargraph::PlanarGraph::findNodesOfDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - degree
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::planargraph::PlanarGraph::findNodesOfDegree
    - std::vector<Node*>::vector<Node*>
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      PlanarGraph::findNodesOfDegree(std::size_t degree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeMap
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: end
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: Node*::getDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - degree
    - ' nodesFound'
    argTypes:
    - std::size_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - getNodeMap
    - push_back
    - Node*::getDegree
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::findNodesOfDegree(std::size_t degree, std::vector<Node*>&
      nodesFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:45,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:46,1
    - Dst: geos::planargraph::PlanarGraph::add
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::planargraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached:
    - Edge*::getDirEdge
    - push_back
    - geos::planargraph::PlanarGraph::add
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:60,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:61,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:62,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 7
    functionsReached:
    - Edge*::getDirEdge
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - std::next
    - begin
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Edge* edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:79,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:81,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:83,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:84,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 7
    functionsReached:
    - size
    - begin
    - DirectedEdge*::getFromNode
    - DirectedEdge*::getSym
    - static_cast<int>
    - std::next
    - DirectedEdge*::setSym
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(DirectedEdge* de)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:100,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:101,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:103,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:106,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:109,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:111,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:115,1
    - Dst: size
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:117,1
    - Dst: erase
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:119,1
    - Dst: geos::planargraph::PlanarGraph::remove
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: geos::planargraph::PlanarGraph::remove
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 8
    functionsReached:
    - DirectedEdge*::getEdge
    - Node*::getCoordinate
    - size
    - geos::planargraph::PlanarGraph::remove
    - static_cast<int>
    - DirectedEdge*::getSym
    - Node*::getOutEdges
    - begin
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::remove(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:134,1
    - Dst: geos::planargraph::PlanarGraph::findNodesOfDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - degree
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::planargraph::PlanarGraph::findNodesOfDegree
    - std::vector<Node*>::vector<Node*>
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      PlanarGraph::findNodesOfDegree(std::size_t degree)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNodeMap
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: end
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:144,1
    - Dst: Node*::getDegree
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:147,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/PlanarGraph.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - degree
    - ' nodesFound'
    argTypes:
    - std::size_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: geos::planargraph::PlanarGraph::findNodesOfDegree
    functionSourceFile: /src/geos/src/planargraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached:
    - getNodeMap
    - push_back
    - Node*::getDegree
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::findNodesOfDegree(std::size_t degree, std::vector<Node*>&
      nodesFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::planargraph::DirectedEdgeStar::add
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::add(DirectedEdge* de)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:45,1
    - Dst: erase
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: geos::planargraph::DirectedEdgeStar::remove
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::planargraph::DirectedEdgeStar::begin
    - static_cast<int>
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::remove(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:56,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 2
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:63,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 1
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:70,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 3
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:77,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 2
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::end()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:87,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:88,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: '&

      DirectedEdgeStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getCoordinate
    - geos::io::GeoJSONValue::getNull
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdgeStar::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: '&

      DirectedEdgeStar::getEdges()'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getEdges()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::compareTo
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::planargraph::pdeLessThan
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool pdeLessThan(DirectedEdge* first, DirectedEdge* second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: geos::planargraph::DirectedEdgeStar::sortEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 4
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::begin
    - sort
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::sortEdges() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:134,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:135,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:137,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:151,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:152,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const DirectedEdge* dirEdge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:168,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:171,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<unsigned int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int DirectedEdgeStar::getIndex(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:183,1
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::planargraph::DirectedEdgeStar::getNextEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::getIndex
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getNextEdge(DirectedEdge* dirEdge)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::planargraph::DirectedEdgeStar::add
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::add(DirectedEdge* de)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:45,1
    - Dst: erase
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: geos::planargraph::DirectedEdgeStar::remove
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::planargraph::DirectedEdgeStar::begin
    - static_cast<int>
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::remove(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:56,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 6
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:63,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 4
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:70,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 7
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:77,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 5
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::end()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:87,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:88,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: '&

      DirectedEdgeStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getCoordinate
    - geos::io::GeoJSONValue::getNull
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdgeStar::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: '&

      DirectedEdgeStar::getEdges()'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getEdges()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::compareTo
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::planargraph::pdeLessThan
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool pdeLessThan(DirectedEdge* first, DirectedEdge* second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: geos::planargraph::DirectedEdgeStar::sortEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 10
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::begin
    - sort
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::sortEdges() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:134,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:135,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:137,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 1
    functionsReached:
    - DirectedEdge*::getEdge
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:151,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:152,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 1
    functionsReached:
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const DirectedEdge* dirEdge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:168,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:171,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 1
    functionsReached:
    - size
    - static_cast<unsigned int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int DirectedEdgeStar::getIndex(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:183,1
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::planargraph::DirectedEdgeStar::getNextEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::getIndex
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getNextEdge(DirectedEdge* dirEdge)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::planargraph::DirectedEdgeStar::add
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::add(DirectedEdge* de)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:45,1
    - Dst: erase
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: geos::planargraph::DirectedEdgeStar::remove
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::planargraph::DirectedEdgeStar::begin
    - static_cast<int>
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::remove(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:56,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 10
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:63,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 7
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:70,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 11
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:77,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 8
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::end()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:87,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:88,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: '&

      DirectedEdgeStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getCoordinate
    - geos::io::GeoJSONValue::getNull
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdgeStar::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: '&

      DirectedEdgeStar::getEdges()'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getEdges()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::compareTo
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::planargraph::pdeLessThan
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool pdeLessThan(DirectedEdge* first, DirectedEdge* second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: geos::planargraph::DirectedEdgeStar::sortEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 16
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::begin
    - sort
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::sortEdges() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:134,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:135,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:137,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 2
    functionsReached:
    - DirectedEdge*::getEdge
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:151,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:152,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 2
    functionsReached:
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const DirectedEdge* dirEdge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:168,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:171,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 2
    functionsReached:
    - size
    - static_cast<unsigned int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int DirectedEdgeStar::getIndex(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:183,1
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::planargraph::DirectedEdgeStar::getNextEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::getIndex
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getNextEdge(DirectedEdge* dirEdge)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::planargraph::DirectedEdgeStar::add
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::add(DirectedEdge* de)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:45,1
    - Dst: erase
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: std::next
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: geos::planargraph::DirectedEdgeStar::remove
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::planargraph::DirectedEdgeStar::begin
    - static_cast<int>
    - std::next
    - erase
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::remove(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:56,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 14
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:63,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 10
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::iterator
    signature: std::vector<DirectedEdge*>::iterator DirectedEdgeStar::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:70,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: geos::planargraph::DirectedEdgeStar::begin
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 15
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::sortEdges
    - geos::planargraph::DirectedEdgeStar::begin
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:77,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: geos::planargraph::DirectedEdgeStar::end
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 11
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>::const_iterator
    signature: std::vector<DirectedEdge*>::const_iterator DirectedEdgeStar::end()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:87,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:88,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: '&

      DirectedEdgeStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getCoordinate
    - geos::io::GeoJSONValue::getNull
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdgeStar::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: '&

      DirectedEdgeStar::getEdges()'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - sortEdges
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getEdges()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::compareTo
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::planargraph::pdeLessThan
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool pdeLessThan(DirectedEdge* first, DirectedEdge* second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::begin
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    - Dst: geos::planargraph::DirectedEdgeStar::end
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: geos::planargraph::DirectedEdgeStar::sortEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 22
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::end
    - geos::planargraph::DirectedEdgeStar::begin
    - sort
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::sortEdges() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:134,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:135,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:137,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - edge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 3
    functionsReached:
    - DirectedEdge*::getEdge
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const Edge* edge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::sortEdges
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:151,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:152,1
    - Dst: static_cast<int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 3
    functionsReached:
    - size
    - static_cast<int>
    - geos::planargraph::DirectedEdgeStar::sortEdges
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getIndex(const DirectedEdge* dirEdge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:168,1
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:171,1
    - Dst: static_cast<unsigned int>
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: geos::planargraph::DirectedEdgeStar::getIndex
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 3
    functionsReached:
    - size
    - static_cast<unsigned int>
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int DirectedEdgeStar::getIndex(int i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:183,1
    - Dst: geos::planargraph::DirectedEdgeStar::getIndex
      Src: /src/geos/src/planargraph/DirectedEdgeStar.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dirEdge
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::planargraph::DirectedEdgeStar::getNextEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdgeStar::getIndex
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getNextEdge(DirectedEdge* dirEdge)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:34,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:35,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:36,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:37,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:38,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:39,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:40,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - de0
    - de1
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::planargraph::Edge::setDirectedEdges
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setSym
    - DirectedEdge*::getFromNode
    - push_back
    - DirectedEdge*::setEdge
    linkageType: ''
    returnType: void
    signature: void Edge::setDirectedEdges(DirectedEdge* de0, DirectedEdge* de1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/planargraph/Edge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(int i)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:62,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fromNode
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(Node* fromNode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:80,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:81,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:83,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: geos::planargraph::Edge::getOppositeNode
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    - getToNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Edge::getOppositeNode(Node* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Edge.cpp:95,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Edge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: '&

      operator<<(std::ostream& os, const Edge& n)'
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Edge& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:34,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:35,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:36,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:37,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:38,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:39,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:40,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - de0
    - de1
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::planargraph::Edge::setDirectedEdges
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setSym
    - DirectedEdge*::getFromNode
    - push_back
    - DirectedEdge*::setEdge
    linkageType: ''
    returnType: void
    signature: void Edge::setDirectedEdges(DirectedEdge* de0, DirectedEdge* de1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/planargraph/Edge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(int i)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:62,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fromNode
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(Node* fromNode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:80,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:81,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:83,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: geos::planargraph::Edge::getOppositeNode
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    - getToNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Edge::getOppositeNode(Node* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Edge.cpp:95,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Edge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: '&

      operator<<(std::ostream& os, const Edge& n)'
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Edge& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:34,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:35,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:36,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:37,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:38,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:39,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:40,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - de0
    - de1
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::planargraph::Edge::setDirectedEdges
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setSym
    - DirectedEdge*::getFromNode
    - push_back
    - DirectedEdge*::setEdge
    linkageType: ''
    returnType: void
    signature: void Edge::setDirectedEdges(DirectedEdge* de0, DirectedEdge* de1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/planargraph/Edge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(int i)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:62,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fromNode
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(Node* fromNode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:80,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:81,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:83,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: geos::planargraph::Edge::getOppositeNode
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    - getToNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Edge::getOppositeNode(Node* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Edge.cpp:95,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Edge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: '&

      operator<<(std::ostream& os, const Edge& n)'
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Edge& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:34,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/Edge.cpp:35,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:36,1
    - Dst: DirectedEdge*::setEdge
      Src: /src/geos/src/planargraph/Edge.cpp:37,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:38,1
    - Dst: DirectedEdge*::setSym
      Src: /src/geos/src/planargraph/Edge.cpp:39,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:40,1
    - Dst: DirectedEdge*::getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - de0
    - de1
    argTypes:
    - DirectedEdge*
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::planargraph::Edge::setDirectedEdges
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setSym
    - DirectedEdge*::getFromNode
    - push_back
    - DirectedEdge*::setEdge
    linkageType: ''
    returnType: void
    signature: void Edge::setDirectedEdges(DirectedEdge* de0, DirectedEdge* de1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/planargraph/Edge.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(int i)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:62,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fromNode
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: geos::planargraph::Edge::getDirEdge
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      Edge::getDirEdge(Node* fromNode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:80,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:81,1
    - Dst: getFromNode
      Src: /src/geos/src/planargraph/Edge.cpp:83,1
    - Dst: getToNode
      Src: /src/geos/src/planargraph/Edge.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: geos::planargraph::Edge::getOppositeNode
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getFromNode
    - getToNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      Edge::getOppositeNode(Node* node)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/geos/src/planargraph/Edge.cpp:95,1
    - Dst: isVisited
      Src: /src/geos/src/planargraph/Edge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: '&

      operator<<(std::ostream& os, const Edge& n)'
    functionSourceFile: /src/geos/src/planargraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - isVisited
    - isMarked
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Edge& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edges'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 4
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges, std::vector<Edge*>&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:44,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dirEdges'
    argTypes:
    - std::vector<DirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 5
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector<Edge*>::vector<Edge*>
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:56,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:60,1
    - Dst: atan2
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' directionPt'
    - newEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: geos::planargraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - geos::algorithm::PolygonNodeTopology::quadrant
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: "void DirectedEdge::DirectedEdge(Node* newFrom, Node* newTo,\n                           const
      Coordinate& directionPt, bool newEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::planargraph::DirectedEdge::getEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      DirectedEdge::getEdge() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newParentEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::planargraph::DirectedEdge::setEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdge(Edge* newParentEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::planargraph::DirectedEdge::getQuadrant
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getQuadrant() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '&

      DirectedEdge::getDirectionPt() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getDirectionPt() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::planargraph::DirectedEdge::getEdgeDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::getEdgeDirection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::planargraph::DirectedEdge::getFromNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getFromNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: geos::planargraph::DirectedEdge::getToNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getToNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '&

      DirectedEdge::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::planargraph::DirectedEdge::getAngle
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DirectedEdge::getAngle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::planargraph::DirectedEdge::getSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdge::getSym() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSym
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::planargraph::DirectedEdge::setSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setSym(DirectedEdge* newSym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::compareDirection
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::planargraph::DirectedEdge::compareTo
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::compareDirection
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareTo(const DirectedEdge* de) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: geos::planargraph::DirectedEdge::compareDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareDirection(const DirectedEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: geos::planargraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' s'
    - ' de'
    argTypes:
    - std::ostream
    - DirectedEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '&

      operator << (std::ostream& s, const DirectedEdge& de)'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator << (std::ostream& s, const DirectedEdge& de)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edges'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 5
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges, std::vector<Edge*>&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:44,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dirEdges'
    argTypes:
    - std::vector<DirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 6
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector<Edge*>::vector<Edge*>
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:56,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:60,1
    - Dst: atan2
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' directionPt'
    - newEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: geos::planargraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - geos::algorithm::PolygonNodeTopology::quadrant
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: "void DirectedEdge::DirectedEdge(Node* newFrom, Node* newTo,\n                           const
      Coordinate& directionPt, bool newEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::planargraph::DirectedEdge::getEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      DirectedEdge::getEdge() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newParentEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::planargraph::DirectedEdge::setEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdge(Edge* newParentEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::planargraph::DirectedEdge::getQuadrant
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getQuadrant() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '&

      DirectedEdge::getDirectionPt() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getDirectionPt() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::planargraph::DirectedEdge::getEdgeDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::getEdgeDirection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::planargraph::DirectedEdge::getFromNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getFromNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: geos::planargraph::DirectedEdge::getToNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getToNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '&

      DirectedEdge::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::planargraph::DirectedEdge::getAngle
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DirectedEdge::getAngle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::planargraph::DirectedEdge::getSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdge::getSym() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSym
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::planargraph::DirectedEdge::setSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setSym(DirectedEdge* newSym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::compareDirection
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::planargraph::DirectedEdge::compareTo
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::compareDirection
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareTo(const DirectedEdge* de) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: geos::planargraph::DirectedEdge::compareDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareDirection(const DirectedEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: geos::planargraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' s'
    - ' de'
    argTypes:
    - std::ostream
    - DirectedEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '&

      operator << (std::ostream& s, const DirectedEdge& de)'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator << (std::ostream& s, const DirectedEdge& de)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edges'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 6
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges, std::vector<Edge*>&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:44,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dirEdges'
    argTypes:
    - std::vector<DirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 7
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector<Edge*>::vector<Edge*>
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:56,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:60,1
    - Dst: atan2
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' directionPt'
    - newEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: geos::planargraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - geos::algorithm::PolygonNodeTopology::quadrant
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: "void DirectedEdge::DirectedEdge(Node* newFrom, Node* newTo,\n                           const
      Coordinate& directionPt, bool newEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::planargraph::DirectedEdge::getEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      DirectedEdge::getEdge() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newParentEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::planargraph::DirectedEdge::setEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdge(Edge* newParentEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::planargraph::DirectedEdge::getQuadrant
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getQuadrant() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '&

      DirectedEdge::getDirectionPt() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getDirectionPt() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::planargraph::DirectedEdge::getEdgeDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::getEdgeDirection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::planargraph::DirectedEdge::getFromNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getFromNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: geos::planargraph::DirectedEdge::getToNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getToNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '&

      DirectedEdge::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::planargraph::DirectedEdge::getAngle
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DirectedEdge::getAngle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::planargraph::DirectedEdge::getSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdge::getSym() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSym
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::planargraph::DirectedEdge::setSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setSym(DirectedEdge* newSym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::compareDirection
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::planargraph::DirectedEdge::compareTo
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::compareDirection
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareTo(const DirectedEdge* de) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: geos::planargraph::DirectedEdge::compareDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareDirection(const DirectedEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: geos::planargraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' s'
    - ' de'
    argTypes:
    - std::ostream
    - DirectedEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '&

      operator << (std::ostream& s, const DirectedEdge& de)'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator << (std::ostream& s, const DirectedEdge& de)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edges'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 7
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges, std::vector<Edge*>&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:44,1
    - Dst: geos::planargraph::DirectedEdge::toEdges
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dirEdges'
    argTypes:
    - std::vector<DirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::planargraph::DirectedEdge::toEdges
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::planargraph::DirectedEdge::toEdges
    - std::vector<Edge*>::vector<Edge*>
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      DirectedEdge::toEdges(std::vector<DirectedEdge*>& dirEdges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:56,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:60,1
    - Dst: atan2
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' directionPt'
    - newEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: geos::planargraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - atan2
    - geos::algorithm::PolygonNodeTopology::quadrant
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: "void DirectedEdge::DirectedEdge(Node* newFrom, Node* newTo,\n                           const
      Coordinate& directionPt, bool newEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::planargraph::DirectedEdge::getEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      DirectedEdge::getEdge() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newParentEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::planargraph::DirectedEdge::setEdge
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdge(Edge* newParentEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::planargraph::DirectedEdge::getQuadrant
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getQuadrant() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '&

      DirectedEdge::getDirectionPt() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getDirectionPt() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::planargraph::DirectedEdge::getEdgeDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::getEdgeDirection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::planargraph::DirectedEdge::getFromNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getFromNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: geos::planargraph::DirectedEdge::getToNode
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      DirectedEdge::getToNode() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '&

      DirectedEdge::getCoordinate() const'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      DirectedEdge::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::planargraph::DirectedEdge::getAngle
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DirectedEdge::getAngle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::planargraph::DirectedEdge::getSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdge::getSym() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSym
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::planargraph::DirectedEdge::setSym
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setSym(DirectedEdge* newSym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::DirectedEdge::compareDirection
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::planargraph::DirectedEdge::compareTo
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::planargraph::DirectedEdge::compareDirection
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareTo(const DirectedEdge* de) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - DirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: geos::planargraph::DirectedEdge::compareDirection
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::compareDirection(const DirectedEdge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: geos::planargraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/planargraph/DirectedEdge.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' s'
    - ' de'
    argTypes:
    - std::ostream
    - DirectedEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '&

      operator << (std::ostream& s, const DirectedEdge& de)'
    functionSourceFile: /src/geos/src/planargraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator << (std::ostream& s, const DirectedEdge& de)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 1
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 1
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 1
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 2
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 2
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 2
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 3
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 3
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 3
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 4
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 4
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 4
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 5
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 5
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 5
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 6
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 6
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 6
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 7
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 7
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 7
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::planargraph::setVisitedMap
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:36,1
    - Dst: nodeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:37,1
    - Dst: edgeBegin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:40,1
    - Dst: edgeEnd
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:41,1
    - Dst: Edge*::getDirEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:44,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:45,1
    - Dst: push_back
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' subgraphs'
    argTypes:
    - std::vector<Subgraph*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::getConnectedSubgraphs
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 0
    functionsReached:
    - edgeBegin
    - Edge*::getDirEdge
    - edgeEnd
    - nodeBegin
    - Node*::isVisited
    - nodeEnd
    - geos::planargraph::setVisitedMap
    - push_back
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    linkageType: ''
    returnType: void
    signature: void ConnectedSubgraphFinder::getConnectedSubgraphs(std::vector<Subgraph*>&
      subgraphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subgraph::Subgraph
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:56,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::findSubgraph
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 8
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    - Subgraph::Subgraph
    linkageType: ''
    returnType: Subgraph
    signature: 'Subgraph *

      ConnectedSubgraphFinder::findSubgraph(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stack::push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:67,1
    - Dst: std::stack::empty
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:68,1
    - Dst: std::stack::top
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:69,1
    - Dst: std::stack::pop
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:70,1
    - Dst: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - startNode
    - subgraph
    argTypes:
    - Node*
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addReachable
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 8
    functionsReached:
    - geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    - std::stack::pop
    - std::stack::empty
    - std::stack::top
    - std::stack::push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addReachable(Node* startNode,\n                                      Subgraph*
      subgraph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::setVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:80,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:81,1
    - Dst: DirectedEdgeStar*::begin
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: DirectedEdgeStar*::end
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:82,1
    - Dst: Subgraph*::add
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:85,1
    - Dst: DirectedEdge*::getToNode
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:86,1
    - Dst: Node*::isVisited
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:87,1
    - Dst: push
      Src: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - node
    - ' nodeStack'
    - subgraph
    argTypes:
    - Node*
    - std::stack<Node*>
    - Subgraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::planargraph::algorithm::ConnectedSubgraphFinder::addEdges
    functionSourceFile: /src/geos/src/planargraph/algorithm/ConnectedSubgraphFinder.cpp
    functionUses: 8
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdgeStar*::begin
    - DirectedEdge*::getToNode
    - Node*::isVisited
    - Node*::getOutEdges
    - Node*::setVisited
    - Subgraph*::add
    - DirectedEdgeStar*::end
    - push
    linkageType: ''
    returnType: void
    signature: "void ConnectedSubgraphFinder::addEdges(Node* node,\n                                  std::stack<Node*>&
      nodeStack, Subgraph* subgraph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 5
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 6
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 7
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 8
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 8
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 9
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 10
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 10
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 12
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::shape::fractal::HilbertCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 11
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:44,1
    - Dst: geos::shape::fractal::HilbertCode::levelSize
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: geos::shape::fractal::HilbertCode::level
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::levelSize
    - std::log
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::level(uint32_t numPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::shape::fractal::HilbertCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: geos::shape::fractal::HilbertCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: geos::shape::fractal::HilbertCode::prefixScan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::prefixScan(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: geos::shape::fractal::HilbertCode::descan
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::descan(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: geos::shape::fractal::HilbertCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 14
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void HilbertCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:103,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:106,1
    - Dst: geos::shape::fractal::HilbertCode::deinterleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:107,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:112,1
    - Dst: geos::shape::fractal::HilbertCode::prefixScan
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: geos::shape::fractal::HilbertCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::HilbertCode::deinterleave
    - geos::shape::fractal::HilbertCode::checkLevel
    - geos::shape::fractal::HilbertCode::prefixScan
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate HilbertCode::decode(uint32_t level, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertCode::checkLevel
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:127,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    - Dst: geos::shape::fractal::HilbertCode::interleave
      Src: /src/geos/src/shape/fractal/HilbertCode.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - level
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: geos::shape::fractal::HilbertCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::HilbertCode::interleave
    - geos::shape::fractal::HilbertCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertCode::encode(uint32_t level, uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 1
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 2
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 3
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 4
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 5
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 6
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 7
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:32,1
    - Dst: getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:34,1
    - Dst: getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:35,1
    - Dst: getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:37,1
    - Dst: getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_level
    - ' extent'
    argTypes:
    - uint32_t
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: geos::shape::fractal::HilbertEncoder::HilbertEncoder
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - getMinX
    - getHeight
    - getWidth
    - std::pow
    - getMinY
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::HilbertEncoder(uint32_t p_level, geom::Envelope&
      extent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Envelope*::getWidth
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getMinX
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:44,1
    - Dst: geom::Envelope*::getHeight
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geom::Envelope*::getMinY
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:49,1
    - Dst: geos::shape::fractal::HilbertCode::encode
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: geos::shape::fractal::HilbertEncoder::encode
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 0
    functionsReached:
    - geom::Envelope*::getWidth
    - geos::shape::fractal::HilbertCode::encode
    - geom::Envelope*::getMinY
    - geom::Envelope*::getHeight
    - geom::Envelope*::getMinX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HilbertEncoder::encode(const geom::Envelope* env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::HilbertEncoder::sort
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: begin
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    - Dst: end
      Src: /src/geos/src/shape/fractal/HilbertEncoder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<geom::Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::shape::fractal::HilbertEncoder::sort
    functionSourceFile: /src/geos/src/shape/fractal/HilbertEncoder.cpp
    functionUses: 8
    functionsReached:
    - begin
    - geos::shape::fractal::HilbertEncoder::sort
    - end
    linkageType: ''
    returnType: void
    signature: void HilbertEncoder::sort(std::vector<geom::Geometry*>& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 5
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 6
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 7
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 8
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 8
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 10
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 9
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 12
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 10
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 14
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:36,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::shape::fractal::MortonCode::levelSize
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 11
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::levelSize(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::checkLevel
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:51,1
    - Dst: std::pow
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: geos::shape::fractal::MortonCode::maxOrdinate
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 0
    functionsReached:
    - std::pow
    - geos::shape::fractal::MortonCode::checkLevel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::maxOrdinate(uint32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: std::log
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:65,1
    - Dst: geos::shape::fractal::MortonCode::levelSize
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - numPoints
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::shape::fractal::MortonCode::level
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - std::log
    - geos::shape::fractal::MortonCode::levelSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::level(uint32_t numPoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: geos::shape::fractal::MortonCode::checkLevel
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 16
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void MortonCode::checkLevel(uint32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: geos::shape::fractal::MortonCode::interleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    - Dst: static_cast<uint32_t>
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::shape::fractal::MortonCode::encode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 2
    functionsReached:
    - geos::shape::fractal::MortonCode::interleave
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::encode(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::shape::fractal::MortonCode::interleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::interleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:116,1
    - Dst: geos::shape::fractal::MortonCode::deinterleave
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:117,1
    - Dst: geos::geom::Coordinate
      Src: /src/geos/src/shape/fractal/MortonCode.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: geos::shape::fractal::MortonCode::decode
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 4
    functionsReached:
    - geos::shape::fractal::MortonCode::deinterleave
    - geos::geom::Coordinate
    linkageType: ''
    returnType: geom::Coordinate
    signature: geom::Coordinate MortonCode::decode(uint32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: geos::shape::fractal::MortonCode::deinterleave
    functionSourceFile: /src/geos/src/shape/fractal/MortonCode.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MortonCode::deinterleave(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:42,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - getCoordinates
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::extractUniqueCoordinates(\n
      \   const Geometry& geom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:49,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: geos::geom::CoordinateLessThan
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: geos::triangulate::DelaunayTriangulationBuilder::unique
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 1
    functionsReached:
    - auto::items
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::geom::CoordinateLessThan
    - auto::get
    - std::sort
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::unique(const
      CoordinateSequence* seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:64,1
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:66,1
    - Dst: geos::triangulate::quadedge::Vertex
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::triangulate::DelaunayTriangulationBuilder::toVertices
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::quadedge::Vertex
    - size
    - getAt
    linkageType: ''
    returnType: IncrementalDelaunayTriangulator::VertexList
    signature: "IncrementalDelaunayTriangulator::VertexList DelaunayTriangulationBuilder::toVertices(\n
      \   const CoordinateSequence& coords)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: geos::triangulate::DelaunayTriangulationBuilder::DelaunayTriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::DelaunayTriangulationBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:80,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const CoordinateSequence&
      coords)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:105,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:106,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:108,1
    - Dst: reset
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: IncrementalDelaunayTriangulator
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: geos::triangulate::DelaunayTriangulationBuilder::create
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - IncrementalDelaunayTriangulator
    - auto::end
    - get
    - reset
    - std::sort
    - auto::begin
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '&

      DelaunayTriangulationBuilder::getSubdivision()'
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - create
    linkageType: ''
    returnType: quadedge::QuadEdgeSubdivision
    signature: 'quadedge::QuadEdgeSubdivision &

      DelaunayTriangulationBuilder::getSubdivision()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:126,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:128,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getEdges
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getEdges
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 1
    functionsReached:
    - createMultiLineString
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getEdges
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> DelaunayTriangulationBuilder::getEdges(\n
      \   const GeometryFactory& geomFact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:138,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:140,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 1
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> DelaunayTriangulationBuilder::getTriangles(\n
      \   const geom::GeometryFactory& geomFact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::triangulate::DelaunayTriangulationBuilder::envelope
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope DelaunayTriangulationBuilder::envelope(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:42,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr::get
    - getCoordinates
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::extractUniqueCoordinates(\n
      \   const Geometry& geom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:49,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: geos::geom::CoordinateLessThan
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: geos::triangulate::DelaunayTriangulationBuilder::unique
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 3
    functionsReached:
    - auto::items
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::geom::CoordinateLessThan
    - auto::get
    - std::sort
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::unique(const
      CoordinateSequence* seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:64,1
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:66,1
    - Dst: geos::triangulate::quadedge::Vertex
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::triangulate::DelaunayTriangulationBuilder::toVertices
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::quadedge::Vertex
    - size
    - getAt
    linkageType: ''
    returnType: IncrementalDelaunayTriangulator::VertexList
    signature: "IncrementalDelaunayTriangulator::VertexList DelaunayTriangulationBuilder::toVertices(\n
      \   const CoordinateSequence& coords)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: geos::triangulate::DelaunayTriangulationBuilder::DelaunayTriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::DelaunayTriangulationBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:80,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const CoordinateSequence&
      coords)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:105,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:106,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:108,1
    - Dst: reset
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: IncrementalDelaunayTriangulator
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: geos::triangulate::DelaunayTriangulationBuilder::create
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 2
    functionsReached:
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - IncrementalDelaunayTriangulator
    - auto::end
    - get
    - reset
    - std::sort
    - auto::begin
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '&

      DelaunayTriangulationBuilder::getSubdivision()'
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - create
    linkageType: ''
    returnType: quadedge::QuadEdgeSubdivision
    signature: 'quadedge::QuadEdgeSubdivision &

      DelaunayTriangulationBuilder::getSubdivision()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:126,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:128,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getEdges
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getEdges
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getEdges
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> DelaunayTriangulationBuilder::getEdges(\n
      \   const GeometryFactory& geomFact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:138,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:140,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 2
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> DelaunayTriangulationBuilder::getTriangles(\n
      \   const geom::GeometryFactory& geomFact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::triangulate::DelaunayTriangulationBuilder::envelope
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope DelaunayTriangulationBuilder::envelope(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:42,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - getCoordinates
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::extractUniqueCoordinates(\n
      \   const Geometry& geom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:49,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: geos::geom::CoordinateLessThan
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: geos::triangulate::DelaunayTriangulationBuilder::unique
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 5
    functionsReached:
    - auto::items
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::geom::CoordinateLessThan
    - auto::get
    - std::sort
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::unique(const
      CoordinateSequence* seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:64,1
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:66,1
    - Dst: geos::triangulate::quadedge::Vertex
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::triangulate::DelaunayTriangulationBuilder::toVertices
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::quadedge::Vertex
    - size
    - getAt
    linkageType: ''
    returnType: IncrementalDelaunayTriangulator::VertexList
    signature: "IncrementalDelaunayTriangulator::VertexList DelaunayTriangulationBuilder::toVertices(\n
      \   const CoordinateSequence& coords)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: geos::triangulate::DelaunayTriangulationBuilder::DelaunayTriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::DelaunayTriangulationBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:80,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const CoordinateSequence&
      coords)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:105,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:106,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:108,1
    - Dst: reset
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: IncrementalDelaunayTriangulator
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: geos::triangulate::DelaunayTriangulationBuilder::create
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 4
    functionsReached:
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - IncrementalDelaunayTriangulator
    - auto::end
    - get
    - reset
    - std::sort
    - auto::begin
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '&

      DelaunayTriangulationBuilder::getSubdivision()'
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - create
    linkageType: ''
    returnType: quadedge::QuadEdgeSubdivision
    signature: 'quadedge::QuadEdgeSubdivision &

      DelaunayTriangulationBuilder::getSubdivision()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:126,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:128,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getEdges
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getEdges
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 3
    functionsReached:
    - createMultiLineString
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getEdges
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> DelaunayTriangulationBuilder::getEdges(\n
      \   const GeometryFactory& geomFact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:138,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:140,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 3
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> DelaunayTriangulationBuilder::getTriangles(\n
      \   const geom::GeometryFactory& geomFact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::triangulate::DelaunayTriangulationBuilder::envelope
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope DelaunayTriangulationBuilder::envelope(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:42,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 7
    functionsReached:
    - std::unique_ptr::get
    - getCoordinates
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::extractUniqueCoordinates(\n
      \   const Geometry& geom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:49,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: auto::items
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: geos::geom::CoordinateLessThan
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:50,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:53,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: geos::triangulate::DelaunayTriangulationBuilder::unique
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 7
    functionsReached:
    - auto::items
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::geom::CoordinateLessThan
    - auto::get
    - std::sort
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DelaunayTriangulationBuilder::unique(const
      CoordinateSequence* seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:64,1
    - Dst: size
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:66,1
    - Dst: geos::triangulate::quadedge::Vertex
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::triangulate::DelaunayTriangulationBuilder::toVertices
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::Vertex
    - size
    - getAt
    linkageType: ''
    returnType: IncrementalDelaunayTriangulator::VertexList
    signature: "IncrementalDelaunayTriangulator::VertexList DelaunayTriangulationBuilder::toVertices(\n
      \   const CoordinateSequence& coords)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: geos::triangulate::DelaunayTriangulationBuilder::DelaunayTriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::DelaunayTriangulationBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:80,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: geos::triangulate::DelaunayTriangulationBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::setSites(const CoordinateSequence&
      coords)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:105,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:106,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:107,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:108,1
    - Dst: reset
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:110,1
    - Dst: IncrementalDelaunayTriangulator
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: get
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:111,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: geos::triangulate::DelaunayTriangulationBuilder::create
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - IncrementalDelaunayTriangulator
    - auto::end
    - get
    - reset
    - std::sort
    - auto::begin
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void DelaunayTriangulationBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '&

      DelaunayTriangulationBuilder::getSubdivision()'
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - create
    linkageType: ''
    returnType: quadedge::QuadEdgeSubdivision
    signature: 'quadedge::QuadEdgeSubdivision &

      DelaunayTriangulationBuilder::getSubdivision()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:126,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:128,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getEdges
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getEdges
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 4
    functionsReached:
    - createMultiLineString
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getEdges
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: "std::unique_ptr<MultiLineString> DelaunayTriangulationBuilder::getEdges(\n
      \   const GeometryFactory& geomFact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::create
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:138,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:140,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 4
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::DelaunayTriangulationBuilder::create
    - geos::triangulate::DelaunayTriangulationBuilder::getTriangles
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: "std::unique_ptr<geom::GeometryCollection> DelaunayTriangulationBuilder::getTriangles(\n
      \   const geom::GeometryFactory& geomFact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: geos::triangulate::DelaunayTriangulationBuilder::envelope
    functionSourceFile: /src/geos/src/triangulate/DelaunayTriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - getEnvelope
    linkageType: ''
    returnType: geom::Envelope
    signature: geom::Envelope DelaunayTriangulationBuilder::envelope(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::VoronoiDiagramBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:54,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nClipEnv
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::triangulate::VoronoiDiagramBuilder::setClipEnvelope
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setClipEnvelope(const geom::Envelope* nClipEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isOrdered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: geos::triangulate::VoronoiDiagramBuilder::setOrdered
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setOrdered(bool p_isOrdered)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::triangulate::VoronoiDiagramBuilder::setTolerance
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setTolerance(double nTolerance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:91,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:95,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: expandBy
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:98,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:100,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:103,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:107,1
    - Dst: IncrementalDelaunayTriangulator::forceConvex
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:112,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: geos::triangulate::VoronoiDiagramBuilder::create
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 0
    functionsReached:
    - IncrementalDelaunayTriangulator::forceConvex
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - expandToInclude
    - getHeight
    - getWidth
    - auto::end
    - get
    - auto::begin
    - std::max
    - reset
    - std::sort
    - expandBy
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: geos::triangulate::VoronoiDiagramBuilder::getSubdivision
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    linkageType: ''
    returnType: std::unique_ptr<quadedge::QuadEdgeSubdivision>
    signature: std::unique_ptr<quadedge::QuadEdgeSubdivision> VoronoiDiagramBuilder::getSubdivision()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:127,1
    - Dst: getSize
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:129,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: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 0
    functionsReached:
    - getNumPoints
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VoronoiDiagramBuilder::getNumInputPoints() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:136,1
    - Dst: getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:140,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:143,1
    - Dst: setUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:149,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:152,1
    - Dst: std::unique_ptr<geom::GeometryCollection>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagram
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::VoronoiDiagramBuilder::create
    - std::unique_ptr<geom::GeometryCollection>
    - getVoronoiCellPolygons
    - geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    - createGeometryCollection
    - setUserData
    - geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::getDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:165,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:168,1
    - Dst: getVoronoiDiagramEdges
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:171,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:173,1
    - Dst: toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:177,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:180,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: static_cast<MultiLineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    - geos::io::util::GEOSException
    - static_cast<LineString*>
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::intersection
    - toGeometry
    - auto::isEmpty
    - std::unique_ptr::release
    - getVoronoiDiagramEdges
    - auto::get
    - static_cast<MultiLineString*>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> VoronoiDiagramBuilder::getDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:199,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:203,1
    - Dst: auto::toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:205,1
    - Dst: contains
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: intersects
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:214,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' geoms'
    - ' clipEnv'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 1
    functionsReached:
    - getFactory
    - std::move
    - intersects
    - std::unique_ptr::intersection
    - auto::createGeometryCollection
    - getEnvelopeInternal
    - auto::toGeometry
    - get
    - contains
    - auto::isEmpty
    - std::vector::push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::clipGeometryCollection(std::vector<std::unique_ptr<Geometry>>
      & geoms, const geom::Envelope& clipEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:227,1
    - Dst: find
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:228,1
    - Dst: end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:230,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' seq'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - CoordinateSequence
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - find
    - items
    - push_back
    - geos::io::util::GEOSException
    - std::move
    - end
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const CoordinateSequence&
      seq,\n                                              std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:250,1
    - Dst: static_cast<const LineString&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:253,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:254,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:256,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:257,1
    - Dst: getNumGeometries
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:259,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    - Dst: getGeometryN
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' g'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - Geometry
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 1
    functionsReached:
    - getGeometryN
    - static_cast<const Point&>
    - static_cast<const LineString&>
    - getNumGeometries
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const Geometry& g,\n
      \                                             std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Coordinate*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: getUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: CoordinateCellMap::emplace
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:274,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:276,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:279,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - reinterpret_cast<const Coordinate*>
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    - std::move
    - CoordinateCellMap::emplace
    - getUserData
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::reorderCellsToInput(std::vector<std::unique_ptr<Geometry>>
      & polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::VoronoiDiagramBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:54,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nClipEnv
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::triangulate::VoronoiDiagramBuilder::setClipEnvelope
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setClipEnvelope(const geom::Envelope* nClipEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isOrdered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: geos::triangulate::VoronoiDiagramBuilder::setOrdered
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setOrdered(bool p_isOrdered)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::triangulate::VoronoiDiagramBuilder::setTolerance
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setTolerance(double nTolerance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:91,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:95,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: expandBy
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:98,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:100,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:103,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:107,1
    - Dst: IncrementalDelaunayTriangulator::forceConvex
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:112,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: geos::triangulate::VoronoiDiagramBuilder::create
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 3
    functionsReached:
    - IncrementalDelaunayTriangulator::forceConvex
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - expandToInclude
    - getHeight
    - getWidth
    - auto::end
    - get
    - auto::begin
    - std::max
    - reset
    - std::sort
    - expandBy
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: geos::triangulate::VoronoiDiagramBuilder::getSubdivision
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    linkageType: ''
    returnType: std::unique_ptr<quadedge::QuadEdgeSubdivision>
    signature: std::unique_ptr<quadedge::QuadEdgeSubdivision> VoronoiDiagramBuilder::getSubdivision()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:127,1
    - Dst: getSize
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:129,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: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 1
    functionsReached:
    - getNumPoints
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VoronoiDiagramBuilder::getNumInputPoints() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:136,1
    - Dst: getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:140,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:143,1
    - Dst: setUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:149,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:152,1
    - Dst: std::unique_ptr<geom::GeometryCollection>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagram
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::VoronoiDiagramBuilder::create
    - std::unique_ptr<geom::GeometryCollection>
    - getVoronoiCellPolygons
    - geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    - createGeometryCollection
    - setUserData
    - geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::getDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:165,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:168,1
    - Dst: getVoronoiDiagramEdges
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:171,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:173,1
    - Dst: toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:177,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:180,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: static_cast<MultiLineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    - geos::io::util::GEOSException
    - static_cast<LineString*>
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::intersection
    - toGeometry
    - auto::isEmpty
    - std::unique_ptr::release
    - getVoronoiDiagramEdges
    - auto::get
    - static_cast<MultiLineString*>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> VoronoiDiagramBuilder::getDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:199,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:203,1
    - Dst: auto::toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:205,1
    - Dst: contains
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: intersects
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:214,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' geoms'
    - ' clipEnv'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - std::move
    - intersects
    - std::unique_ptr::intersection
    - auto::createGeometryCollection
    - getEnvelopeInternal
    - auto::toGeometry
    - get
    - contains
    - auto::isEmpty
    - std::vector::push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::clipGeometryCollection(std::vector<std::unique_ptr<Geometry>>
      & geoms, const geom::Envelope& clipEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:227,1
    - Dst: find
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:228,1
    - Dst: end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:230,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' seq'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - CoordinateSequence
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - find
    - items
    - push_back
    - geos::io::util::GEOSException
    - std::move
    - end
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const CoordinateSequence&
      seq,\n                                              std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:250,1
    - Dst: static_cast<const LineString&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:253,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:254,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:256,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:257,1
    - Dst: getNumGeometries
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:259,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    - Dst: getGeometryN
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' g'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - Geometry
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 3
    functionsReached:
    - getGeometryN
    - static_cast<const Point&>
    - static_cast<const LineString&>
    - getNumGeometries
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const Geometry& g,\n
      \                                             std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Coordinate*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: getUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: CoordinateCellMap::emplace
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:274,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:276,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:279,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - reinterpret_cast<const Coordinate*>
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    - std::move
    - CoordinateCellMap::emplace
    - getUserData
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::reorderCellsToInput(std::vector<std::unique_ptr<Geometry>>
      & polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::VoronoiDiagramBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:54,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nClipEnv
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::triangulate::VoronoiDiagramBuilder::setClipEnvelope
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setClipEnvelope(const geom::Envelope* nClipEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isOrdered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: geos::triangulate::VoronoiDiagramBuilder::setOrdered
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setOrdered(bool p_isOrdered)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::triangulate::VoronoiDiagramBuilder::setTolerance
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setTolerance(double nTolerance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:91,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:95,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: expandBy
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:98,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:100,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:103,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:107,1
    - Dst: IncrementalDelaunayTriangulator::forceConvex
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:112,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: geos::triangulate::VoronoiDiagramBuilder::create
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 6
    functionsReached:
    - IncrementalDelaunayTriangulator::forceConvex
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - expandToInclude
    - getHeight
    - getWidth
    - auto::end
    - get
    - auto::begin
    - std::max
    - reset
    - std::sort
    - expandBy
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: geos::triangulate::VoronoiDiagramBuilder::getSubdivision
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    linkageType: ''
    returnType: std::unique_ptr<quadedge::QuadEdgeSubdivision>
    signature: std::unique_ptr<quadedge::QuadEdgeSubdivision> VoronoiDiagramBuilder::getSubdivision()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:127,1
    - Dst: getSize
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:129,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: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - getNumPoints
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VoronoiDiagramBuilder::getNumInputPoints() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:136,1
    - Dst: getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:140,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:143,1
    - Dst: setUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:149,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:152,1
    - Dst: std::unique_ptr<geom::GeometryCollection>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagram
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::VoronoiDiagramBuilder::create
    - std::unique_ptr<geom::GeometryCollection>
    - getVoronoiCellPolygons
    - geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    - createGeometryCollection
    - setUserData
    - geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::getDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:165,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:168,1
    - Dst: getVoronoiDiagramEdges
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:171,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:173,1
    - Dst: toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:177,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:180,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: static_cast<MultiLineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    - geos::io::util::GEOSException
    - static_cast<LineString*>
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::intersection
    - toGeometry
    - auto::isEmpty
    - std::unique_ptr::release
    - getVoronoiDiagramEdges
    - auto::get
    - static_cast<MultiLineString*>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> VoronoiDiagramBuilder::getDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:199,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:203,1
    - Dst: auto::toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:205,1
    - Dst: contains
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: intersects
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:214,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' geoms'
    - ' clipEnv'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 3
    functionsReached:
    - getFactory
    - std::move
    - intersects
    - std::unique_ptr::intersection
    - auto::createGeometryCollection
    - getEnvelopeInternal
    - auto::toGeometry
    - get
    - contains
    - auto::isEmpty
    - std::vector::push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::clipGeometryCollection(std::vector<std::unique_ptr<Geometry>>
      & geoms, const geom::Envelope& clipEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:227,1
    - Dst: find
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:228,1
    - Dst: end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:230,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' seq'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - CoordinateSequence
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    - find
    - items
    - push_back
    - geos::io::util::GEOSException
    - std::move
    - end
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const CoordinateSequence&
      seq,\n                                              std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:250,1
    - Dst: static_cast<const LineString&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:253,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:254,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:256,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:257,1
    - Dst: getNumGeometries
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:259,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    - Dst: getGeometryN
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' g'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - Geometry
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 5
    functionsReached:
    - getGeometryN
    - static_cast<const Point&>
    - static_cast<const LineString&>
    - getNumGeometries
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const Geometry& g,\n
      \                                             std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Coordinate*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: getUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: CoordinateCellMap::emplace
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:274,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:276,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:279,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 3
    functionsReached:
    - std::vector::reserve
    - reinterpret_cast<const Coordinate*>
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    - std::move
    - CoordinateCellMap::emplace
    - getUserData
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::reorderCellsToInput(std::vector<std::unique_ptr<Geometry>>
      & polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::triangulate::VoronoiDiagramBuilder::VoronoiDiagramBuilder
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::VoronoiDiagramBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:54,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::extractUniqueCoordinates
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::unique
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::triangulate::VoronoiDiagramBuilder::setSites
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::DelaunayTriangulationBuilder::unique
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setSites(const geom::CoordinateSequence&
      coords)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nClipEnv
    argTypes:
    - geom::Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: geos::triangulate::VoronoiDiagramBuilder::setClipEnvelope
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setClipEnvelope(const geom::Envelope* nClipEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isOrdered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: geos::triangulate::VoronoiDiagramBuilder::setOrdered
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setOrdered(bool p_isOrdered)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::triangulate::VoronoiDiagramBuilder::setTolerance
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::setTolerance(double nTolerance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:91,1
    - Dst: getEnvelope
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:95,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:97,1
    - Dst: expandBy
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:98,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:100,1
    - Dst: geos::triangulate::DelaunayTriangulationBuilder::toVertices
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:103,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::begin
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: auto::end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:106,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:107,1
    - Dst: IncrementalDelaunayTriangulator::forceConvex
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:112,1
    - Dst: IncrementalDelaunayTriangulator::insertSites
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: geos::triangulate::VoronoiDiagramBuilder::create
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 9
    functionsReached:
    - IncrementalDelaunayTriangulator::forceConvex
    - getEnvelope
    - quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    - geos::triangulate::DelaunayTriangulationBuilder::toVertices
    - IncrementalDelaunayTriangulator::insertSites
    - expandToInclude
    - getHeight
    - getWidth
    - auto::end
    - get
    - auto::begin
    - std::max
    - reset
    - std::sort
    - expandBy
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: geos::triangulate::VoronoiDiagramBuilder::getSubdivision
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    linkageType: ''
    returnType: std::unique_ptr<quadedge::QuadEdgeSubdivision>
    signature: std::unique_ptr<quadedge::QuadEdgeSubdivision> VoronoiDiagramBuilder::getSubdivision()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:127,1
    - Dst: getSize
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:129,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: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 3
    functionsReached:
    - getNumPoints
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t VoronoiDiagramBuilder::getNumInputPoints() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:136,1
    - Dst: getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:140,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:143,1
    - Dst: setUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:149,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:152,1
    - Dst: std::unique_ptr<geom::GeometryCollection>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagram
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::VoronoiDiagramBuilder::create
    - std::unique_ptr<geom::GeometryCollection>
    - getVoronoiCellPolygons
    - geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    - createGeometryCollection
    - setUserData
    - geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::getDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::VoronoiDiagramBuilder::create
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:165,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:168,1
    - Dst: getVoronoiDiagramEdges
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:171,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:173,1
    - Dst: toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:177,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: auto::get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:178,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:180,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: static_cast<LineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:183,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:184,1
    - Dst: static_cast<MultiLineString*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:187,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: geos::triangulate::VoronoiDiagramBuilder::getDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::move
    - geos::triangulate::VoronoiDiagramBuilder::create
    - geos::io::util::GEOSException
    - static_cast<LineString*>
    - std::unique_ptr::getGeometryTypeId
    - std::unique_ptr::intersection
    - toGeometry
    - auto::isEmpty
    - std::unique_ptr::release
    - getVoronoiDiagramEdges
    - auto::get
    - static_cast<MultiLineString*>
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> VoronoiDiagramBuilder::getDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:199,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:203,1
    - Dst: auto::toGeometry
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:205,1
    - Dst: contains
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:210,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:211,1
    - Dst: intersects
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:212,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: get
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:213,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:214,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:215,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' geoms'
    - ' clipEnv'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: geos::triangulate::VoronoiDiagramBuilder::clipGeometryCollection
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - getFactory
    - std::move
    - intersects
    - std::unique_ptr::intersection
    - auto::createGeometryCollection
    - getEnvelopeInternal
    - auto::toGeometry
    - get
    - contains
    - auto::isEmpty
    - std::vector::push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> VoronoiDiagramBuilder::clipGeometryCollection(std::vector<std::unique_ptr<Geometry>>
      & geoms, const geom::Envelope& clipEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:227,1
    - Dst: find
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:228,1
    - Dst: end
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:230,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:233,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:239,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' seq'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - CoordinateSequence
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 6
    functionsReached:
    - std::stringstream::str
    - find
    - items
    - push_back
    - geos::io::util::GEOSException
    - std::move
    - end
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const CoordinateSequence&
      seq,\n                                              std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:250,1
    - Dst: static_cast<const LineString&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:253,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:254,1
    - Dst: static_cast<const Point&>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:256,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:257,1
    - Dst: getNumGeometries
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:259,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    - Dst: getGeometryN
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' cellMap'
    - ' g'
    - ' polys'
    argTypes:
    - CoordinateCellMap
    - Geometry
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 7
    functionsReached:
    - getGeometryN
    - static_cast<const Point&>
    - static_cast<const LineString&>
    - getNumGeometries
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - getGeometryTypeId
    linkageType: ''
    returnType: void
    signature: "void VoronoiDiagramBuilder::addCellsForCoordinates(CoordinateCellMap&
      cellMap,\n                                              const Geometry& g,\n
      \                                             std::vector<std::unique_ptr<Geometry>>
      & polys)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Coordinate*>
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: getUserData
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:270,1
    - Dst: CoordinateCellMap::emplace
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:271,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:274,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:276,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:279,1
    - Dst: geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:281,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: geos::triangulate::VoronoiDiagramBuilder::reorderCellsToInput
    functionSourceFile: /src/geos/src/triangulate/VoronoiDiagramBuilder.cpp
    functionUses: 4
    functionsReached:
    - std::vector::reserve
    - reinterpret_cast<const Coordinate*>
    - geos::triangulate::VoronoiDiagramBuilder::addCellsForCoordinates
    - geos::triangulate::VoronoiDiagramBuilder::getNumInputPoints
    - std::move
    - CoordinateCellMap::emplace
    - getUserData
    linkageType: ''
    returnType: void
    signature: void VoronoiDiagramBuilder::reorderCellsToInput(std::vector<std::unique_ptr<Geometry>>
      & polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeSubdivision*::getTolerance
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision*::getTolerance
    linkageType: ''
    returnType: void
    signature: "void IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator(\n
      \   QuadEdgeSubdivision* p_subdiv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isForceConvex
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::forceConvex
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::forceConvex(bool isForceConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertSite
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' vertices'
    argTypes:
    - VertexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::insertSites
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - insertSite
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::insertSites(const VertexList&
      vertices)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:65,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:68,1
    - Dst: isVertexOfEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:71,1
    - Dst: isOnEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:78,1
    - Dst: remove
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:88,1
    - Dst: connect
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:92,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:94,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:106,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:107,1
    - Dst: isInCircle
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: isConcaveBoundary
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:112,1
    - Dst: isBetweenFrameAndInserted
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:116,1
    - Dst: geos::triangulate::quadedge::QuadEdge::swap
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:123,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:124,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:127,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 133
    functionName: '&

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::swap
    - isOnEdge
    - isBetweenFrameAndInserted
    - isVertexOfEdge
    - remove
    - connect
    - QuadEdge*::lNext
    - makeEdge
    - locate
    - QuadEdge*::oNext
    - isConcaveBoundary
    - getCoordinate
    - LocateFailureException
    - QuadEdge*::sym
    - isInCircle
    - QuadEdge*::dest
    - QuadEdge*::orig
    - QuadEdge*::oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:139,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    - Dst: sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveBoundary
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - dest
    - isFrameVertex
    - sym
    - orig
    - geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveBoundary(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:150,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:151,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:152,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 1
    functionsReached:
    - oNext
    - geos::algorithm::Orientation::index
    - orig
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveAtOrigin(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:160,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:161,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' e'
    - ' vInsert'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isBetweenFrameAndInserted
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - isFrameVertex
    - getCoordinate
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isBetweenFrameAndInserted(const
      QuadEdge& e, const Vertex& vInsert) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeSubdivision*::getTolerance
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision*::getTolerance
    linkageType: ''
    returnType: void
    signature: "void IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator(\n
      \   QuadEdgeSubdivision* p_subdiv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isForceConvex
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::forceConvex
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::forceConvex(bool isForceConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertSite
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' vertices'
    argTypes:
    - VertexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::insertSites
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - insertSite
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::insertSites(const VertexList&
      vertices)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:65,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:68,1
    - Dst: isVertexOfEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:71,1
    - Dst: isOnEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:78,1
    - Dst: remove
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:88,1
    - Dst: connect
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:92,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:94,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:106,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:107,1
    - Dst: isInCircle
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: isConcaveBoundary
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:112,1
    - Dst: isBetweenFrameAndInserted
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:116,1
    - Dst: geos::triangulate::quadedge::QuadEdge::swap
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:123,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:124,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:127,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 133
    functionName: '&

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::swap
    - isOnEdge
    - isBetweenFrameAndInserted
    - isVertexOfEdge
    - remove
    - connect
    - QuadEdge*::lNext
    - makeEdge
    - locate
    - QuadEdge*::oNext
    - isConcaveBoundary
    - getCoordinate
    - LocateFailureException
    - QuadEdge*::sym
    - isInCircle
    - QuadEdge*::dest
    - QuadEdge*::orig
    - QuadEdge*::oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:139,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    - Dst: sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveBoundary
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - dest
    - isFrameVertex
    - sym
    - orig
    - geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveBoundary(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:150,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:151,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:152,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 2
    functionsReached:
    - oNext
    - geos::algorithm::Orientation::index
    - orig
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveAtOrigin(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:160,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:161,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' e'
    - ' vInsert'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isBetweenFrameAndInserted
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - isFrameVertex
    - getCoordinate
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isBetweenFrameAndInserted(const
      QuadEdge& e, const Vertex& vInsert) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeSubdivision*::getTolerance
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision*::getTolerance
    linkageType: ''
    returnType: void
    signature: "void IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator(\n
      \   QuadEdgeSubdivision* p_subdiv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isForceConvex
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::forceConvex
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::forceConvex(bool isForceConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertSite
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' vertices'
    argTypes:
    - VertexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::insertSites
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - insertSite
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::insertSites(const VertexList&
      vertices)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:65,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:68,1
    - Dst: isVertexOfEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:71,1
    - Dst: isOnEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:78,1
    - Dst: remove
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:88,1
    - Dst: connect
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:92,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:94,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:106,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:107,1
    - Dst: isInCircle
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: isConcaveBoundary
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:112,1
    - Dst: isBetweenFrameAndInserted
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:116,1
    - Dst: geos::triangulate::quadedge::QuadEdge::swap
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:123,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:124,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:127,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 133
    functionName: '&

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::swap
    - isOnEdge
    - isBetweenFrameAndInserted
    - isVertexOfEdge
    - remove
    - connect
    - QuadEdge*::lNext
    - makeEdge
    - locate
    - QuadEdge*::oNext
    - isConcaveBoundary
    - getCoordinate
    - LocateFailureException
    - QuadEdge*::sym
    - isInCircle
    - QuadEdge*::dest
    - QuadEdge*::orig
    - QuadEdge*::oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:139,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    - Dst: sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveBoundary
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - dest
    - isFrameVertex
    - sym
    - orig
    - geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveBoundary(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:150,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:151,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:152,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 3
    functionsReached:
    - oNext
    - geos::algorithm::Orientation::index
    - orig
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveAtOrigin(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:160,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:161,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' e'
    - ' vInsert'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isBetweenFrameAndInserted
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - isFrameVertex
    - getCoordinate
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isBetweenFrameAndInserted(const
      QuadEdge& e, const Vertex& vInsert) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeSubdivision*::getTolerance
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - QuadEdgeSubdivision*::getTolerance
    linkageType: ''
    returnType: void
    signature: "void IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator(\n
      \   QuadEdgeSubdivision* p_subdiv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isForceConvex
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::forceConvex
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::forceConvex(bool isForceConvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertSite
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' vertices'
    argTypes:
    - VertexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::insertSites
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - insertSite
    linkageType: ''
    returnType: void
    signature: void IncrementalDelaunayTriangulator::insertSites(const VertexList&
      vertices)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:65,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:68,1
    - Dst: isVertexOfEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:71,1
    - Dst: isOnEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:75,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:78,1
    - Dst: remove
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:79,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:86,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:88,1
    - Dst: connect
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:91,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:92,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:94,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:106,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:107,1
    - Dst: isInCircle
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:108,1
    - Dst: isConcaveBoundary
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:112,1
    - Dst: isBetweenFrameAndInserted
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:116,1
    - Dst: geos::triangulate::quadedge::QuadEdge::swap
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:123,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:124,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:127,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 133
    functionName: '&

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::swap
    - isOnEdge
    - isBetweenFrameAndInserted
    - isVertexOfEdge
    - remove
    - connect
    - QuadEdge*::lNext
    - makeEdge
    - locate
    - QuadEdge*::oNext
    - isConcaveBoundary
    - getCoordinate
    - LocateFailureException
    - QuadEdge*::sym
    - isInCircle
    - QuadEdge*::dest
    - QuadEdge*::orig
    - QuadEdge*::oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      IncrementalDelaunayTriangulator::insertSite(const Vertex& v)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: dest
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:138,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:139,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:141,1
    - Dst: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    - Dst: sym
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveBoundary
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - dest
    - isFrameVertex
    - sym
    - orig
    - geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveBoundary(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:150,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:151,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:152,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isConcaveAtOrigin
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - oNext
    - geos::algorithm::Orientation::index
    - orig
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isConcaveAtOrigin(const QuadEdge&
      e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:160,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:161,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:162,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    - Dst: isFrameVertex
      Src: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' e'
    - ' vInsert'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: geos::triangulate::IncrementalDelaunayTriangulator::isBetweenFrameAndInserted
    functionSourceFile: /src/geos/src/triangulate/IncrementalDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - oNext
    - isFrameVertex
    - getCoordinate
    - oPrev
    linkageType: ''
    returnType: bool
    signature: bool IncrementalDelaunayTriangulator::isBetweenFrameAndInserted(const
      QuadEdge& e, const Vertex& vInsert) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: geos::triangulate::tri::TriEdge::normalize
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: void
    signature: void TriEdge::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:45,1
    - Dst: coordHash
      Src: /src/geos/src/triangulate/tri/TriEdge.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' te'
    argTypes:
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: TriEdge::HashCode::operator()(TriEdge const& te) const
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached:
    - coordHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriEdge::HashCode::operator()(TriEdge const& te) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' te0'
    - ' te1'
    argTypes:
    - TriEdge
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: operator == (TriEdge const& te0, TriEdge const& te1)
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator == (TriEdge const& te0, TriEdge const& te1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' te'
    argTypes:
    - std::ostream
    - TriEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '&

      operator<<(std::ostream& os, const TriEdge& te)'
    functionSourceFile: /src/geos/src/triangulate/tri/TriEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const TriEdge& te)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 1
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 1
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 3
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 2
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 5
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 3
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 7
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 4
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 9
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 5
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 11
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 6
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 13
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 7
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::triangulate::tri::TriangulationBuilder::build
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::build(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::add
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::triangulate::tri::TriangulationBuilder::TriangulationBuilder
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::add
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::TriangulationBuilder(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:47,1
    - Dst: end
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: geos::triangulate::tri::TriangulationBuilder::find
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 15
    functionsReached:
    - end
    - geos::triangulate::tri::TriangulationBuilder::find
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      TriangulationBuilder::find(const Coordinate& p0, const Coordinate& p1) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:62,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:63,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:64,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:67,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:68,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::find
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:69,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:71,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:72,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:73,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::addAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::TriangulationBuilder::add
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::TriangulationBuilder::addAdjacent
    - Tri*::setAdjacent
    - geos::triangulate::tri::TriangulationBuilder::find
    - Tri*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::add(Tri* tri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:86,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:88,1
    - Dst: std::forward_as_tuple
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:89,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tri
    - adj
    - ' p0'
    - ' p1'
    argTypes:
    - Tri*
    - Tri*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: geos::triangulate::tri::TriangulationBuilder::addAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/TriangulationBuilder.cpp
    functionUses: 8
    functionsReached:
    - Tri*::setAdjacent
    - std::forward_as_tuple
    - emplace
    linkageType: ''
    returnType: void
    signature: void TriangulationBuilder::addAdjacent(Tri* tri, Tri* adj, const Coordinate&
      p0, const Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 9
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 14
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 11
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 19
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 9
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 9
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 10
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 10
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 14
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 24
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 9
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 9
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 11
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 11
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 12
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 12
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 17
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 29
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 11
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 11
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 13
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 13
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 14
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 14
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 20
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 34
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 13
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 13
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 77
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_tri0
    - p_tri1
    - p_tri2
    argTypes:
    - Tri*
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(Tri* p_tri0, Tri* p_tri1, Tri* p_tri2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:51,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - tri
    argTypes:
    - Coordinate
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::triangulate::tri::Tri::setAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::setAdjacent(const Coordinate& pt, Tri* tri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edgeIndex
    - tri
    argTypes:
    - TriIndex
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::triangulate::tri::Tri::setTri
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 15
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::setTri(TriIndex edgeIndex, Tri* tri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' np0'
    - ' np1'
    - ' np2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::triangulate::tri::Tri::setCoordinates
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::setCoordinates(const Coordinate& np0, const Coordinate& np1,
      const Coordinate& np2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:81,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:82,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:84,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:85,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:86,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:87,1
    - Dst: geos::triangulate::tri::Tri::flip
      Src: /src/geos/src/triangulate/tri/Tri.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getCoordinate
    - geos::triangulate::tri::Tri::flip
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: void
    signature: void Tri::flip(TriIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:102,1
    - Dst: Tri*::setCoordinates
      Src: /src/geos/src/triangulate/tri/Tri.cpp:103,1
    - Dst: geos::triangulate::tri::Tri::getAdjacentTris
      Src: /src/geos/src/triangulate/tri/Tri.cpp:109,1
    - Dst: geos::triangulate::tri::Tri::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:110,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:113,1
    - Dst: Tri*::setAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:115,1
    - Dst: geos::triangulate::tri::Tri::replace
      Src: /src/geos/src/triangulate/tri/Tri.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - tri
    - index0
    - index1
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: geos::triangulate::tri::Tri::flip
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - Tri*::setAdjacent
    - geos::triangulate::tri::Tri::getAdjacentTris
    - Tri*::setCoordinates
    - geos::triangulate::tri::Tri::setCoordinates
    - geos::triangulate::tri::Tri::setAdjacent
    - geos::triangulate::tri::Tri::replace
    linkageType: ''
    returnType: void
    signature: "void Tri::flip(Tri* tri, TriIndex index0, TriIndex index1,\n    const
      Coordinate& adj0, const Coordinate& adj1,\n    const Coordinate& opp0, const
      Coordinate& opp1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - triOld
    - triNew
    argTypes:
    - Tri*
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::triangulate::tri::Tri::replace
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tri::replace(Tri* triOld, Tri* triNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:149,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 15
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:157,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:158,1
    - Dst: geos::triangulate::tri::Tri::remove
      Src: /src/geos/src/triangulate/tri/Tri.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 16
    functionsReached:
    - geos::triangulate::tri::Tri::remove
    linkageType: ''
    returnType: void
    signature: void Tri::remove()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:166,1
    - Dst: Tri*::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:168,1
    - Dst: geos::triangulate::tri::Tri::setTri
      Src: /src/geos/src/triangulate/tri/Tri.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::triangulate::tri::Tri::remove
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 16
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - Tri*::setTri
    - Tri*::getIndex
    - geos::triangulate::tri::Tri::setTri
    linkageType: ''
    returnType: void
    signature: void Tri::remove(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:188,1
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:189,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:190,1
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - triAdj
    - index
    - indexAdj
    argTypes:
    - Tri*
    - TriIndex
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: geos::triangulate::tri::Tri::getAdjacentTris
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::prev
    - Tri*::getAdjacent
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: std::vector<Tri*>
    signature: std::vector<Tri*> Tri::getAdjacentTris(Tri* triAdj, TriIndex index,
      TriIndex indexAdj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/tri/Tri.cpp:199,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:200,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:203,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:204,1
    - Dst: geos::triangulate::tri::Tri::validateAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: geos::triangulate::tri::Tri::validate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::validateAdjacent
    - geos::algorithm::Orientation::index
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Tri::validate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:212,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: geos::triangulate::tri::Tri::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: Tri*::isAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:216,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:230,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:231,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:232,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:233,1
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:234,1
    - Dst: assert
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    - Dst: algorithm::LineIntersector::isProper
      Src: /src/geos/src/triangulate/tri/Tri.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts:
    - condition: (isAdjacent(tri))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (tri->isAdjacent(this))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    - condition: (!li.isProper())
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/geos/src/triangulate/tri/Tri.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::triangulate::tri::Tri::validateAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - getCoordinate
    - geos::triangulate::tri::Tri::getAdjacent
    - geos::triangulate::tri::Tri::next
    - Tri*::getCoordinate
    - algorithm::LineIntersector::computeIntersection
    - algorithm::LineIntersector::isProper
    - geos::triangulate::tri::Tri::isAdjacent
    - assert
    - Tri*::isAdjacent
    linkageType: ''
    returnType: void
    signature: void Tri::validateAdjacent(TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:244,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - neighbor
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: geos::triangulate::tri::Tri::getEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: std::pair<const Coordinate&, const Coordinate&>
    signature: std::pair<const Coordinate&, const Coordinate&> Tri::getEdge(Tri* neighbor)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '&

      Tri::getEdgeStart(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeStart(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    - Dst: next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '&

      Tri::getEdgeEnd(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - next
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getEdgeEnd(TriIndex i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    - Dst: equals
      Src: /src/geos/src/triangulate/tri/Tri.cpp:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: geos::triangulate::tri::Tri::hasCoordinate
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasCoordinate(const Coordinate& v) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: '&

      Tri::getCoordinate(TriIndex i) const'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Tri::getCoordinate(TriIndex i) const'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:299,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:301,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/tri/Tri.cpp:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 23
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Coordinate& p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: geos::triangulate::tri::Tri::getIndex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::getIndex(const Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: geos::triangulate::tri::Tri::getAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 39
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: Tri
    signature: 'Tri *

      Tri::getAdjacent(TriIndex i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 15
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: geos::triangulate::tri::Tri::hasAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 15
    functionsReached:
    - geos::triangulate::tri::Tri::getAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::hasAdjacent(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tri
    argTypes:
    - Tri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: geos::triangulate::tri::Tri::isAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::getIndex
    linkageType: ''
    returnType: bool
    signature: bool Tri::isAdjacent(Tri* tri) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: geos::triangulate::tri::Tri::numAdjacent
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tri::numAdjacent() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:376,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/tri/Tri.cpp:378,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/tri/Tri.cpp:380,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: geos::triangulate::tri::Tri::isInteriorVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::getIndex
    - Tri*::getAdjacent
    - geos::util::IllegalStateException
    linkageType: ''
    returnType: bool
    signature: bool Tri::isInteriorVertex(TriIndex index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    - Dst: geos::triangulate::tri::Tri::isBoundary
      Src: /src/geos/src/triangulate/tri/Tri.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: geos::triangulate::tri::Tri::isBorder
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::isBoundary
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBorder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::hasAdjacent
      Src: /src/geos/src/triangulate/tri/Tri.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: geos::triangulate::tri::Tri::isBoundary
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::hasAdjacent
    linkageType: ''
    returnType: bool
    signature: bool Tri::isBoundary(TriIndex index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: geos::triangulate::tri::Tri::next
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::next(TriIndex i)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: geos::triangulate::tri::Tri::prev
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::prev(TriIndex i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::prev
      Src: /src/geos/src/triangulate/tri/Tri.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: geos::triangulate::tri::Tri::oppVertex
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::prev
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppVertex(TriIndex edgeIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: geos::triangulate::tri::Tri::oppEdge
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    linkageType: ''
    returnType: TriIndex
    signature: TriIndex Tri::oppEdge(TriIndex vertexIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:446,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:447,1
    - Dst: Coordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edgeIndex
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: geos::triangulate::tri::Tri::midpoint
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Coordinate
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate Tri::midpoint(TriIndex edgeIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/triangulate/tri/Tri.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: geos::triangulate::tri::Tri::getArea
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Tri::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/triangulate/tri/Tri.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Tri::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/tri/Tri.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: geos::triangulate::tri::Tri::getLength
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Tri::getLength(TriIndex i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/tri/Tri.cpp:478,1
    - Dst: geom::GeometryFactory*::createPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: geom::GeometryFactory*::createLinearRing
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - gf
    argTypes:
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: geos::triangulate::tri::Tri::toPolygon
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 7
    functionsReached:
    - std::move
    - geom::GeometryFactory*::createLinearRing
    - geom::GeometryFactory*::createPolygon
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::Polygon>
    signature: std::unique_ptr<geom::Polygon> Tri::toPolygon(const geom::GeometryFactory*
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::tri::Tri::toPolygon
      Src: /src/geos/src/triangulate/tri/Tri.cpp:493,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/tri/Tri.cpp:494,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/tri/Tri.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' tris'
    - gf
    argTypes:
    - std::set<Tri*>
    - geom::GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: geos::triangulate::tri::Tri::toGeometry
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - geos::triangulate::tri::Tri::toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> Tri::toGeometry(std::set<Tri*>& tris,
      const geom::GeometryFactory* gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' tri'
    argTypes:
    - std::ostream
    - Tri
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: '&

      operator<<(std::ostream& os, const Tri& tri)'
    functionSourceFile: /src/geos/src/triangulate/tri/Tri.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Tri& tri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 1
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 2
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 3
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 4
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 5
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 6
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 7
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:41,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:45,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' polyShell'
    argTypes:
    - geom::CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::triangulate::polygon::PolygonEarClipper::PolygonEarClipper
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    - geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::PolygonEarClipper(const geom::CoordinateSequence&
      polyShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: geos::triangulate::polygon::PolygonEarClipper::createNextLinks
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> PolygonEarClipper::createNextLinks(std::size_t
      size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonEarClipper::compute
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' polyShell'
    - ' triListResult'
    argTypes:
    - geom::CoordinateSequence
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonEarClipper::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - PolygonEarClipper::compute
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::triangulate(const geom::CoordinateSequence&
      polyShell, TriList<Tri>& triListResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isFlatCornersSkipped
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::triangulate::polygon::PolygonEarClipper::setSkipFlatCorners
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::setSkipFlatCorners(bool p_isFlatCornersSkipped)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:91,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isConvex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:103,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:105,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isFlat
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:106,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:108,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:112,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEar
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:118,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:119,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::removeCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:120,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:124,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: geos::triangulate::polygon::PolygonEarClipper::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    - geos::triangulate::polygon::PolygonEarClipper::isValidEar
    - geos::util::IllegalStateException
    - geos::triangulate::polygon::PolygonEarClipper::isConvex
    - add
    - geos::triangulate::polygon::PolygonEarClipper::isFlat
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    - geos::triangulate::polygon::PolygonEarClipper::nextCorner
    - geos::triangulate::polygon::PolygonEarClipper::removeCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::compute(TriList<Tri>& triList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:145,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:150,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEar
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    - geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEar(std::size_t cornerIdx, const std::array<Coordinate,
      3>& corner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::envelope
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:162,1
    - Dst: query
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:164,1
    - Dst: std::vector::size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:168,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:172,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::isRemoved
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:173,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:185,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:189,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonEarClipper::findIntersectingVertex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonEarClipper::isRemoved
    - geos::geom::Triangle::intersects
    - equals2D
    - geos::triangulate::polygon::PolygonEarClipper::envelope
    - std::vector::size
    - query
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::findIntersectingVertex(std::size_t cornerIdx,
      const std::array<Coordinate, 3>& corner) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:207,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:209,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:221,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:224,1
    - Dst: geos::algorithm::Angle::angleBetweenOriented
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:225,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - cornerIdx
    - ' corner'
    argTypes:
    - std::size_t
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: geos::triangulate::polygon::PolygonEarClipper::isValidEarScan
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::algorithm::Angle::angleBetweenOriented
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isValidEarScan(std::size_t cornerIdx, const
      std::array<Coordinate, 3>& corner) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: geos::triangulate::polygon::PolygonEarClipper::envelope
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: Envelope PolygonEarClipper::envelope(const std::array<Coordinate, 3>&
      corner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:264,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:268,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: geos::triangulate::polygon::PolygonEarClipper::removeCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - remove
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::removeCorner()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vertexIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: geos::triangulate::polygon::PolygonEarClipper::isRemoved
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isRemoved(std::size_t vertexIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: geos::triangulate::polygon::PolygonEarClipper::initCornerIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::initCornerIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::fetchCorner(std::array<Coordinate, 3>& cornerVertex)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:308,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:309,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:310,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::fetchCorner
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cornerVertex'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextCorner
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - geos::triangulate::polygon::PolygonEarClipper::fetchCorner
    linkageType: ''
    returnType: void
    signature: void PolygonEarClipper::nextCorner(std::array<Coordinate, 3>& cornerVertex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: geos::triangulate::polygon::PolygonEarClipper::nextIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonEarClipper::nextIndex(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::triangulate::polygon::PolygonEarClipper::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isConvex(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: geos::triangulate::polygon::PolygonEarClipper::isFlat
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isFlat(const std::array<Coordinate, 3>& pts)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::array<Coordinate, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: geos::triangulate::polygon::PolygonEarClipper::isCornerInvalid
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 8
    functionsReached:
    - equals2D
    linkageType: ''
    returnType: bool
    signature: bool PolygonEarClipper::isCornerInvalid(const std::array<Coordinate,
      3>& pts) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:351,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:352,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::nextIndex
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:356,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:357,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:359,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:360,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: geos::triangulate::polygon::PolygonEarClipper::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonEarClipper.cpp
    functionUses: 0
    functionsReached:
    - geom::CoordinateSequence::CoordinateSequence
    - geos::triangulate::polygon::PolygonEarClipper::nextIndex
    - auto::createPolygon
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::unique_ptr::closeRing
    - std::move
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonEarClipper::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 10
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 10
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 5
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 12
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 12
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 14
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 14
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 7
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::hasIntersection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasIntersection() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:77,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:78,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:79,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:80,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:82,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:83,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - isInteriorIntersection
    - getIntersectionNum
    - computeIntersection
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::InteriorIntersectionDetector::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:106,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:107,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinAsPolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - Polygon*::getFactory
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHoleJoiner::joinAsPolygon(const Polygon*
      polygon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHoleJoiner::compute
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::join
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - PolygonHoleJoiner::compute
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::join(const Polygon*
      polygon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:125,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:126,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:127,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:129,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:130,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:131,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:132,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - size
    - add
    - geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    - clear
    - detail::make_unique<CoordinateSequence>
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:141,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:142,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:144,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    - Dst: auto::release
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - polygon
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    - auto::release
    - Polygon*::getExteriorRing
    - emplace_back
    - geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::extractOrientedRings(const Polygon* polygon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:153,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:154,1
    - Dst: std::unique_ptr::reverse
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - isCW
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::extractOrientedRing
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::reverse
    - LinearRing*::getCoordinates
    - geos::algorithm::Orientation::isCCW
    - std::unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonHoleJoiner::extractOrientedRing(const
      LinearRing* ring, bool isCW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonNoder::node
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:166,1
    - Dst: PolygonNoder::getNodedShell
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:167,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:168,1
    - Dst: reset
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getNodedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:169,1
    - Dst: PolygonNoder::getHolesTouching
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::nodeRings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - size
    - PolygonNoder::getNodedShell
    - PolygonNoder::node
    - reset
    - PolygonNoder::getHolesTouching
    - PolygonNoder::getNodedHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::nodeRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:179,1
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:181,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:182,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:184,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - size
    - insert
    - geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    - items
    - clear
    - geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHoles()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:195,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' holeCoords'
    argTypes:
    - std::size_t
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    - geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinHole(std::size_t index, const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:207,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:217,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:218,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:220,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::joinTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: items
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:231,1
    - Dst: count
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findHoleTouchIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - count
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findHoleTouchIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:246,1
    - Dst: findJoinableVertex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:247,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:248,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::joinNonTouchingHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - findJoinableVertex
    - geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    - getAt
    - geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    - geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::joinNonTouchingHole(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_bound
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:257,1
    - Dst: intersectsBoundary
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: '&

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - upper_bound
    - begin
    - intersectsBoundary
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      PolygonHoleJoiner::findJoinableVertex(const Coordinate& holeJoinCoord)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:276,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:277,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:278,1
    - Dst: IllegalStateException
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' joinCoord'
    - ' holeJoinCoord'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findJoinIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 16
    functionsReached:
    - size
    - IllegalStateException
    - geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    - equals2D
    - getAt
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findJoinIndex(const Coordinate& joinCoord,
      const Coordinate& holeJoinCoord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:291,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::prev
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:292,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::next
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:293,1
    - Dst: geos::algorithm::PolygonNodeTopology::isInteriorSegment
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ring'
    - ringIndex
    - ' linePt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::isLineInterior
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::next
    - size
    - geos::algorithm::PolygonNodeTopology::isInteriorSegment
    - geos::triangulate::polygon::PolygonHoleJoiner::prev
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::isLineInterior(const CoordinateSequence& ring,
      std::size_t ringIndex, const Coordinate& linePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::prev
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::prev(std::size_t i, std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - i
    - size
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::next
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::next(std::size_t i, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:321,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:322,1
    - Dst: equals2D
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:325,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:326,1
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:329,1
    - Dst: add
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:333,1
    - Dst: insert
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - joinIndex
    - ' holeCoords'
    - holeJoinIndex
    argTypes:
    - std::size_t
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::addJoinedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 16
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    - insert
    - add
    - std::vector::begin
    - equals2D
    - getAt
    - geos::io::GeoJSONValue::getNull
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PolygonHoleJoiner::addJoinedHole(std::size_t joinIndex, const
      CoordinateSequence& holeCoords, std::size_t holeJoinIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:347,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:353,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:355,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' holeCoords'
    - holeJoinIndex
    - ' joinPt'
    argTypes:
    - CoordinateSequence
    - std::size_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createHoleSection
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - isNull
    - size
    - std::vector::push_back
    - getAt
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> PolygonHoleJoiner::createHoleSection(\n    const
      CoordinateSequence& holeCoords,\n    std::size_t holeJoinIndex,\n    const Coordinate&
      joinPt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:378,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:379,1
    - Dst: std::sort
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: std::vector::end
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:382,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::sortHoles
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - std::vector::begin
    - Polygon*::getNumInteriorRing
    - getEnvelopeInternal
    - std::vector::end
    - std::vector::push_back
    - Polygon*::getInteriorRingN
    - std::sort
    linkageType: ''
    returnType: std::vector<const LinearRing*>
    signature: std::vector<const LinearRing*> PolygonHoleJoiner::sortHoles(const Polygon*
      poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::setNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:395,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:397,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:398,1
    - Dst: getAt
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' holeCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::findLowestLeftVertexIndex
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - getAt
    - size
    - Coordinate::isNull
    - Coordinate::setNull
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t PolygonHoleJoiner::findLowestLeftVertexIndex(const CoordinateSequence&
      holeCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:416,1
    - Dst: process
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:417,1
    - Dst: InteriorIntersectionDetector::hasIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::intersectsBoundary
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 0
    functionsReached:
    - process
    - InteriorIntersectionDetector::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: bool PolygonHoleJoiner::intersectsBoundary(const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:427,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:428,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:429,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:430,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:432,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:434,1
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:436,1
    - Dst: std::unique_ptr::setBaseSegments
      Src: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: geos::triangulate::polygon::PolygonHoleJoiner::createBoundaryIntersector
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonHoleJoiner.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - clear
    - get
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - BasicSegmentString::BasicSegmentString
    - emplace_back
    - std::unique_ptr::setBaseSegments
    linkageType: ''
    returnType: std::unique_ptr<SegmentSetMutualIntersector>
    signature: std::unique_ptr<SegmentSetMutualIntersector> PolygonHoleJoiner::createBoundaryIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 6
    functionsReached:
    - PolygonTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::triangulate(const Geometry*
      geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:43,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:44,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:45,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:49,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:54,1
    - Dst: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:56,1
    - Dst: TriList::toGeometry
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: geos::triangulate::polygon::PolygonTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - auto::createGeometryCollection
    - geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    - geos::geom::util::PolygonExtracter::getPolygons
    - TriList::toGeometry
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonTriangulator::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:65,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: geos::triangulate::polygon::PolygonTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonTriangulator.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void PolygonTriangulator::triangulatePolygon(const Polygon* poly, TriList<Tri>&
      triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 5
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 7
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' triList'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - TriDelaunayImprover::improve
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve(TriList<Tri>& triList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveScan
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improve
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::improveScan
    linkageType: ''
    returnType: void
    signature: void TriDelaunayImprover::improve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:56,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:57,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' tris'
    argTypes:
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveScan
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TriDelaunayImprover::improveScan(TriList<Tri>& tris)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Tri*::getAdjacent
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:75,1
    - Dst: Tri*::getIndex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:82,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:83,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: geos::triangulate::tri::Tri::next
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:84,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:85,1
    - Dst: Tri*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::tri::Tri::oppVertex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:86,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isConvex
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:93,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:103,1
    - Dst: Tri*::flip
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - tri
    - index
    argTypes:
    - Tri*
    - TriIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: geos::triangulate::polygon::TriDelaunayImprover::improveNonDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::tri::Tri::next
    - Tri*::flip
    - Tri*::getIndex
    - Tri*::getCoordinate
    - Tri*::getAdjacent
    - geos::triangulate::polygon::TriDelaunayImprover::isConvex
    - geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    - geos::triangulate::tri::Tri::oppVertex
    linkageType: ''
    returnType: bool
    signature: bool TriDelaunayImprover::improveNonDelaunay(Tri* tri, TriIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:116,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isConvex
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isConvex(\n    const Coordinate& adj0, const
      Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:129,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' adj0'
    - ' adj1'
    - ' opp0'
    - ' opp1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isDelaunay
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isDelaunay(\n    const Coordinate& adj0,
      const Coordinate& adj1,\n    const Coordinate& opp0, const Coordinate& opp1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
      Src: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: geos::triangulate::polygon::TriDelaunayImprover::isInCircle
    functionSourceFile: /src/geos/src/triangulate/polygon/TriDelaunayImprover.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    linkageType: ''
    returnType: bool
    signature: "bool TriDelaunayImprover::isInCircle(\n    const Coordinate& a, const
      Coordinate& b,\n    const Coordinate& c, const Coordinate& p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 1
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 1
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 1
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 2
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 2
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 2
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 3
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 3
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 3
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 4
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 4
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 4
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 5
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 5
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 5
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 6
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 6
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 6
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 7
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 7
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 7
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:43,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::triangulate::polygon::PolygonNoder::PolygonNoder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    - resize
    - size
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::PolygonNoder(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_isHoleTouching'
    - ' p_nodedRingIndexes'
    argTypes:
    - std::vector<bool>
    - std::map<NodedSegmentString*, std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::NodeAdder
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NodeAdder(std::vector<bool>& p_isHoleTouching,\n              std::map<NodedSegmentString*,
      std::size_t>& p_nodedRingIndexes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:73,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:74,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:75,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:76,1
    - Dst: computeIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:78,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:83,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:84,1
    - Dst: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:85,1
    - Dst: getIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:86,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:87,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:88,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:89,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:91,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:92,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::processIntersections
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - NodedSegmentString*::addIntersection
    - getIntersection
    - computeIntersection
    - isInteriorIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    linkageType: ''
    returnType: void
    signature: "void processIntersections(\n        SegmentString* ss0, std::size_t
      segIndex0,\n        SegmentString* ss1, std::size_t segIndex1) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::isDone
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: const_cast<void*>
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::triangulate::polygon::PolygonNoder::NodeAdder::addTouch
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 8
    functionsReached:
    - const_cast<void*>
    - SegmentString*::getData
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: void addTouch(SegmentString* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: get
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:131,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::triangulate::polygon::PolygonNoder::node
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void PolygonNoder::node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::triangulate::polygon::PolygonNoder::isShellNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isShellNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasNodes
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::triangulate::polygon::PolygonNoder::isHoleNoded
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - hasNodes
    linkageType: ''
    returnType: bool
    signature: bool PolygonNoder::isHoleNoded(std::size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedShell
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodedCoordinates
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: geos::triangulate::polygon::PolygonNoder::getNodedHole
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached:
    - getNodedCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PolygonNoder::getNodedHole(std::size_t
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '&

      PolygonNoder::getHolesTouching()'
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<bool>
    signature: 'std::vector<bool> &

      PolygonNoder::getHolesTouching()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:178,1
    - Dst: size
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:179,1
    - Dst: emplace_back
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    - Dst: geos::triangulate::polygon::PolygonNoder::createNodedSegString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' shellRing'
    - ' holeRings'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::vector<std::unique_ptr<CoordinateSequence>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegmentStrings
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 8
    functionsReached:
    - size
    - emplace_back
    - geos::triangulate::polygon::PolygonNoder::createNodedSegString
    linkageType: ''
    returnType: void
    signature: "void PolygonNoder::createNodedSegmentStrings(\n    std::unique_ptr<CoordinateSequence>&
      shellRing,\n    std::vector<std::unique_ptr<CoordinateSequence>>& holeRings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:192,1
    - Dst: NodedSegmentString*::setData
      Src: /src/geos/src/triangulate/polygon/PolygonNoder.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ringPts'
    - i
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: geos::triangulate::polygon::PolygonNoder::createNodedSegString
    functionSourceFile: /src/geos/src/triangulate/polygon/PolygonNoder.cpp
    functionUses: 8
    functionsReached:
    - NodedSegmentString*::setData
    - release
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      PolygonNoder::createNodedSegString(std::unique_ptr<CoordinateSequence>& ringPts,
      std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 1
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 9
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 2
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 10
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 3
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 11
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 12
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 5
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 13
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 6
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 14
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 7
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 15
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConstrainedDelaunayTriangulator::compute
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulate
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 4
    functionsReached:
    - ConstrainedDelaunayTriangulator::compute
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::triangulate(const
      Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:45,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:48,1
    - Dst: getFactory
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:49,1
    - Dst: auto::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:50,1
    - Dst: geos::geom::util::PolygonExtracter::getPolygons
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:54,1
    - Dst: TriList<Tri>::TriList<Tri>
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:58,1
    - Dst: isEmpty
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:60,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:62,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:63,1
    - Dst: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::compute
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 0
    functionsReached:
    - TriList<Tri>::TriList<Tri>
    - getFactory
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    - geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    - auto::createGeometryCollection
    - geos::util::ensureNoCurvedComponents
    - std::unique_ptr::release
    - geos::geom::util::PolygonExtracter::getPolygons
    - std::vector::emplace_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::compute()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toPolygon
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:77,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:78,1
    - Dst: geom::GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomFact
    - ' allTriLists'
    argTypes:
    - geom::GeometryFactory*
    - std::vector<std::unique_ptr<TriList<Tri>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::toGeometry
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 8
    functionsReached:
    - geom::GeometryFactory*::createGeometryCollection
    - toPolygon
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> ConstrainedDelaunayTriangulator::toGeometry(\n
      \   const geom::GeometryFactory* geomFact,\n    const std::vector<std::unique_ptr<TriList<Tri>>>&
      allTriLists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::polygon::PolygonHoleJoiner::join
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:94,1
    - Dst: geos::triangulate::polygon::PolygonEarClipper::triangulate
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:95,1
    - Dst: geos::triangulate::tri::TriangulationBuilder::build
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:96,1
    - Dst: geos::triangulate::polygon::TriDelaunayImprover::improve
      Src: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - poly
    - ' triList'
    argTypes:
    - Polygon*
    - TriList<Tri>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: geos::triangulate::polygon::ConstrainedDelaunayTriangulator::triangulatePolygon
    functionSourceFile: /src/geos/src/triangulate/polygon/ConstrainedDelaunayTriangulator.cpp
    functionUses: 16
    functionsReached:
    - geos::triangulate::polygon::PolygonHoleJoiner::join
    - geos::triangulate::polygon::TriDelaunayImprover::improve
    - geos::triangulate::tri::TriangulationBuilder::build
    - geos::triangulate::polygon::PolygonEarClipper::triangulate
    linkageType: ''
    returnType: void
    signature: void ConstrainedDelaunayTriangulator::triangulatePolygon(const Polygon*
      poly, TriList<Tri>& triList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 1
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 2
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 3
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 4
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 5
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 6
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 7
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_subdiv
    argTypes:
    - QuadEdgeSubdivision*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator(QuadEdgeSubdivision*
      p_subdiv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    linkageType: ''
    returnType: void
    signature: void LastFoundQuadEdgeLocator::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEdges
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::findEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 8
    functionsReached:
    - getEdges
    - base
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::findEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:47,1
    - Dst: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:48,1
    - Dst: locateFromEdge
      Src: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: geos::triangulate::quadedge::LastFoundQuadEdgeLocator::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/LastFoundQuadEdgeLocator.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::LastFoundQuadEdgeLocator::init
    - isLive
    - locateFromEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      LastFoundQuadEdgeLocator::locate(const Vertex& v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 5
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 1
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 9
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 7
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 2
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 11
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 9
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 3
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 13
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 11
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 4
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 15
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 13
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 5
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 17
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 15
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 19
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 17
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 7
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' o'
    - ' d'
    - ' edges'
    argTypes:
    - Vertex
    - Vertex
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: geos::triangulate::quadedge::QuadEdge::makeEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 21
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: QuadEdge * QuadEdge::makeEdge(const Vertex& o, const Vertex& d, std::deque<QuadEdgeQuartet>
      & edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:36,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:37,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' edges'
    argTypes:
    - QuadEdge
    - QuadEdge
    - std::deque<QuadEdgeQuartet>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: geos::triangulate::quadedge::QuadEdge::connect
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - QuadEdge*::sym
    - orig
    - geos::triangulate::quadedge::QuadEdge::splice
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdge::connect(QuadEdge& a, QuadEdge& b, std::deque<QuadEdgeQuartet> & edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:45,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:46,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:48,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:49,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:50,1
    - Dst: oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:51,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:53,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:54,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:55,1
    - Dst: setNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: geos::triangulate::quadedge::QuadEdge::splice
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 19
    functionsReached:
    - oNext
    - setNext
    linkageType: ''
    returnType: void
    signature: void QuadEdge::splice(QuadEdge& a, QuadEdge& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:62,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:63,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:64,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:65,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:66,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:67,1
    - Dst: setOrig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:68,1
    - Dst: setDest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: geos::triangulate::quadedge::QuadEdge::swap
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 6
    functionsReached:
    - dest
    - lNext
    - sym
    - setDest
    - geos::triangulate::quadedge::QuadEdge::splice
    - setOrig
    - oPrev
    linkageType: ''
    returnType: void
    signature: void QuadEdge::swap(QuadEdge& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:75,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '&

      QuadEdge::getPrimary()'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - sym
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdge::getPrimary()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:86,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:87,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::QuadEdge::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - rot
    linkageType: ''
    returnType: void
    signature: void QuadEdge::remove()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:95,1
    - Dst: geos::triangulate::quadedge::QuadEdge::equalsOriented
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::QuadEdge::equalsNonOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::equalsOriented
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsNonOriented(const QuadEdge& qe) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:107,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' qe'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::triangulate::quadedge::QuadEdge::equalsOriented
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 8
    functionsReached:
    - dest
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdge::equalsOriented(const QuadEdge& qe) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<geom::LineSegment>
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    - Dst: geom::LineSegment::LineSegment
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::triangulate::quadedge::QuadEdge::toLineSegment
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::LineSegment
    - std::unique_ptr<geom::LineSegment>
    - getCoordinate
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> QuadEdge::toLineSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdge.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - e
    argTypes:
    - std::ostream
    - QuadEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const QuadEdge* e)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdge.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::dest
    - QuadEdge*::orig
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const QuadEdge* e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' q'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNonRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 2
    functionsReached:
    - static_cast<geom::Location>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNonRobust(\n    const
      CoordinateXY& p, const CoordinateXY& q, const CoordinateXY& r,\n    const CoordinateXY&
      t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:70,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:71,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:72,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:73,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:74,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    - Dst: static_cast<long double>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleNormalized
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<long double>
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleNormalized(\n    const
      CoordinateXY& a, const CoordinateXY& b, const CoordinateXY& c,\n    const CoordinateXY&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::triangulate::quadedge::TrianglePredicate::triArea
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double TrianglePredicate::triArea(const CoordinateXY& a,\n                           const
      CoordinateXY& b, const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:144,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:145,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:146,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: std::abs
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:147,1
    - Dst: static_cast<geom::Location>
      Src: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' q'
    - ' p'
    - ' r'
    - ' t'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::TrianglePredicate::isInCircleRobust
    functionSourceFile: /src/geos/src/triangulate/quadedge/TrianglePredicate.cpp
    functionUses: 10
    functionsReached:
    - static_cast<geom::Location>
    - std::abs
    linkageType: ''
    returnType: geom::Location
    signature: "geom::Location TrianglePredicate::isInCircleRobust(\n    const CoordinateXY&
      q, const CoordinateXY& p, const CoordinateXY& r,\n    const CoordinateXY& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: geos::triangulate::quadedge::LocateFailureException::LocateFailureException
    functionSourceFile: /src/geos/src/triangulate/quadedge/LocateFailureException.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocateFailureException::LocateFailureException(std::string const&
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 1
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 2
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 3
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 4
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 5
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 6
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _x
    - _y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _x
    - _y
    - _z
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(double _x, double _y, double _z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' _p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex(const Coordinate& _p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: geos::triangulate::quadedge::Vertex::Vertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertex::Vertex()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:53,1
    - Dst: sub
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:54,1
    - Dst: std::unique_ptr::crossProduct
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:55,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:63,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: std::unique_ptr::magn
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:66,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:69,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: geos::triangulate::quadedge::Vertex::classify
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - sub
    - std::unique_ptr::getX
    - std::unique_ptr::crossProduct
    - std::unique_ptr::magn
    - std::unique_ptr::getY
    - equals
    linkageType: ''
    returnType: int
    signature: int Vertex::classify(const Vertex& p0, const Vertex& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::triangulate::quadedge::Vertex::rightOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::rightOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isCCW
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::triangulate::quadedge::Vertex::leftOf
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - isCCW
    linkageType: ''
    returnType: bool
    signature: bool Vertex::leftOf(const QuadEdge& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:96,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:97,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:98,1
    - Dst: HCoordinate
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:99,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: geos::triangulate::quadedge::Vertex::bisector
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 7
    functionsReached:
    - getX
    - getY
    - detail::make_unique<HCoordinate>
    - HCoordinate
    linkageType: ''
    returnType: std::unique_ptr<HCoordinate>
    signature: std::unique_ptr<HCoordinate> Vertex::bisector(const Vertex& a, const
      Vertex& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:108,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:109,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:110,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: geos::triangulate::quadedge::Vertex::circumRadiusRatio
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Vertex::circumRadiusRatio(const Vertex& b, const Vertex& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:125,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:126,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:127,1
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::triangulate::quadedge::Vertex::midPoint
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - getX
    - getY
    - getZ
    - detail::make_unique<Vertex>
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::midPoint(const Vertex& a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<Vertex>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:134,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:136,1
    - Dst: geos::triangulate::quadedge::Vertex::bisector
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:138,1
    - Dst: detail::make_unique<HCoordinate>
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:140,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: std::unique_ptr::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    - Dst: Vertex::Vertex
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' b'
    - ' c'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: geos::triangulate::quadedge::Vertex::circleCenter
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - Vertex::Vertex
    - std::unique_ptr::reset
    - detail::make_unique<HCoordinate>
    - std::unique_ptr::getX
    - geos::triangulate::quadedge::Vertex::bisector
    - getX
    - std::unique_ptr::getY
    - detail::make_unique<Vertex>
    - getY
    linkageType: ''
    returnType: std::unique_ptr<Vertex>
    signature: std::unique_ptr<Vertex> Vertex::circleCenter(const Vertex& b, const
      Vertex& c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:156,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:157,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:158,1
    - Dst: getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:159,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:160,1
    - Dst: getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:161,1
    - Dst: geos::triangulate::quadedge::Vertex::getX
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:163,1
    - Dst: geos::triangulate::quadedge::Vertex::getY
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:164,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    - Dst: getZ
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Vertex
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: geos::triangulate::quadedge::Vertex::interpolateZValue
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::Vertex::getY
    - getX
    - getZ
    - getY
    - geos::triangulate::quadedge::Vertex::getX
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZValue(const Vertex& v0, const Vertex& v1,\n
      \                         const Vertex& v2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' p'
    - ' v0'
    - ' v1'
    - ' v2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      v0,\n                     const Coordinate& v1, const Coordinate& v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:194,1
    - Dst: distance
      Src: /src/geos/src/triangulate/quadedge/Vertex.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: geos::triangulate::quadedge::Vertex::interpolateZ
    functionSourceFile: /src/geos/src/triangulate/quadedge/Vertex.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: "double Vertex::interpolateZ(const Coordinate& p, const Coordinate&
      p0,\n                     const Coordinate& p1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 1
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 2
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 11
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 3
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 10
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 14
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 4
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 9
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 13
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 10
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 10
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 17
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 5
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 11
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 16
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 12
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 12
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 20
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 6
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 13
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 19
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 14
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:60,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:61,1
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' startQE'
    - triEdge
    argTypes:
    - QuadEdge
    - QuadEdge*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - lNext
    linkageType: ''
    returnType: void
    signature: "void QuadEdgeSubdivision::getTriangleEdges(const QuadEdge& startQE,\n
      \                                     const QuadEdge* triEdge[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:69,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:73,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - p_tolerance
    argTypes:
    - geom::Envelope
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::QuadEdgeSubdivision
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - LastFoundQuadEdgeLocator::LastFoundQuadEdgeLocator
    - geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    - geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::QuadEdgeSubdivision(const geom::Envelope&
      env, double p_tolerance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:80,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:81,1
    - Dst: getWidth
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:84,1
    - Dst: getHeight
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:85,1
    - Dst: std::max
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:86,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:88,1
    - Dst: getMaxY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:89,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:90,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMaxX
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: getMinY
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:91,1
    - Dst: Envelope
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:93,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:94,1
    - Dst: expandToInclude
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::createFrame
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - isNull
    - Vertex
    - getCoordinate
    - getMinX
    - Envelope
    - getHeight
    - expandToInclude
    - getWidth
    - getMaxX
    - geos::util::IllegalArgumentException
    - std::max
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::createFrame(const geom::Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:100,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:103,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:104,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:105,1
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:107,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:108,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (quadEdges.empty())
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::initSubdiv
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    - sym
    - geos::triangulate::quadedge::QuadEdge::splice
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::initSubdiv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' o'
    - ' d'
    argTypes:
    - Vertex
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '&

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::makeEdge
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::makeEdge(const Vertex& o, const Vertex& d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - QuadEdge
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdge::connect
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::connect(QuadEdge& a, QuadEdge& b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:129,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:130,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::remove
    - oPrev
    - geos::triangulate::quadedge::QuadEdge::splice
    - sym
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::remove(QuadEdge& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:142,1
    - Dst: size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:145,1
    - Dst: LocateFailureException
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:161,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:164,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:167,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:168,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:170,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:171,1
    - Dst: rightOf
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:173,1
    - Dst: QuadEdge*::dPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ' v'
    - ' startEdge'
    argTypes:
    - Vertex
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 182
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locateFromEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - QuadEdge*::orig
    - size
    - QuadEdge*::dPrev
    - LocateFailureException
    - QuadEdge*::sym
    - equals
    - rightOf
    - QuadEdge*::dest
    - geos::ignore_unused_variable_warning
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: "QuadEdge *\nQuadEdgeSubdivision::locateFromEdge(const Vertex& v,\n
      \                                   const QuadEdge& startEdge) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: Vertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:188,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:195,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:196,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:201,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - Vertex
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::locate
    - QuadEdge*::dest
    - QuadEdge*::oNext
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge *

      QuadEdgeSubdivision::locate(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: locate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:213,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: QuadEdge*::dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:215,1
    - Dst: makeEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:222,1
    - Dst: geos::triangulate::quadedge::QuadEdge::splice
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:223,1
    - Dst: connect
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:226,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:227,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: '&

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QuadEdge*::orig
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - makeEdge
    - QuadEdge*::oPrev
    - equals
    - locate
    - geos::triangulate::quadedge::QuadEdge::splice
    - QuadEdge*::dest
    linkageType: ''
    returnType: QuadEdge
    signature: 'QuadEdge &

      QuadEdgeSubdivision::insertSite(const Vertex& v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 14
    functionsReached:
    - dest
    - orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameEdge(const QuadEdge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:247,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:248,1
    - Dst: sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:252,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QuadEdge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameBorderEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - lNext
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - sym
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameBorderEdge(const QuadEdge& e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:263,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:266,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 23
    functionsReached:
    - equals
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isFrameVertex(const Vertex& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::setCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:279,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' e'
    - ' p'
    argTypes:
    - QuadEdge
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isOnEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - geom::LineSegment::distance
    - orig
    - geom::LineSegment::setCoordinates
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isOnEdge(const QuadEdge& e, const Coordinate&
      p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: equals
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' e'
    - ' v'
    argTypes:
    - QuadEdge
    - Vertex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::isVertexOfEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - dest
    - equals
    - orig
    linkageType: ''
    returnType: bool
    signature: bool QuadEdgeSubdivision::isVertexOfEdge(const QuadEdge& e, const Vertex&
      v) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeList::QuadEdgeList
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:297,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:300,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:302,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:304,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:305,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:306,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:307,1
    - Dst: QuadEdge*::getPrimary
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:308,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:310,1
    - Dst: QuadEdgeList*::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:311,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdge*::oNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:314,1
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:315,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:317,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:318,1
    - Dst: std::unique_ptr<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 322
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getPrimaryEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<QuadEdgeList>
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeList::QuadEdgeList
    - QuadEdgeStack::top
    - QuadEdgeList*::push_back
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::sym
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - QuadEdge*::getPrimary
    - QuadEdge*::oNext
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getPrimaryEdges(bool
      includeFrame)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:334,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:339,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:340,1
    - Dst: push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:341,1
    - Dst: QuadEdge*::setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:345,1
    - Dst: QuadEdge*::lNext
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - edge
    - ' edgeStack'
    - includeFrame
    argTypes:
    - QuadEdge*
    - QuadEdgeStack
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - QuadEdge*::lNext
    - QuadEdge*::sym
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameEdge
    - QuadEdge*::isVisited
    - QuadEdge*::setVisited
    - push
    linkageType: ''
    returnType: std::array<QuadEdge*, 3>
    signature: "std::array<QuadEdge*, 3> *\nQuadEdgeSubdivision::fetchTriangleToVisit(QuadEdge*
      edge,\n        QuadEdgeStack& edgeStack, bool includeFrame)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_triCoords
    argTypes:
    - QuadEdgeSubdivision::TriList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::TriangleCoordinatesVisitor
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TriangleCoordinatesVisitor(QuadEdgeSubdivision::TriList* p_triCoords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:371,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:373,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: Vertex::getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:374,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:376,1
    - Dst: push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCoordinatesVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - orig
    - Vertex::getCoordinate
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:388,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:389,1
    - Dst: Triangle::circumcentreDD
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:393,1
    - Dst: rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' triEdges'
    argTypes:
    - std::array<QuadEdge*, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 400
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::TriangleCircumcentreVisitor::visit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - Triangle::circumcentreDD
    - rot
    - orig
    linkageType: ''
    returnType: void
    signature: void visit(std::array<QuadEdge*, 3>& triEdges) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - triList
    - includeFrame
    argTypes:
    - QuadEdgeSubdivision::TriList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 7
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::getTriangleCoordinates(QuadEdgeSubdivision::TriList*
      triList, bool includeFrame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 15
    functionsReached:
    - setVisited
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::prepareVisit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QuadEdgeStack::push
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:426,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:428,1
    - Dst: QuadEdgeStack::empty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:430,1
    - Dst: QuadEdgeStack::top
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:431,1
    - Dst: QuadEdgeStack::pop
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:432,1
    - Dst: QuadEdge*::isVisited
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:433,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:434,1
    - Dst: TriangleVisitor*::visit
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - triVisitor
    - includeFrame
    argTypes:
    - TriangleVisitor*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 22
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::prepareVisit
    - QuadEdgeStack::top
    - QuadEdgeStack::push
    - QuadEdge*::isVisited
    - QuadEdgeStack::pop
    - QuadEdgeStack::empty
    - TriangleVisitor*::visit
    - geos::triangulate::quadedge::QuadEdgeSubdivision::fetchTriangleToVisit
    linkageType: ''
    returnType: void
    signature: void QuadEdgeSubdivision::visitTriangles(TriangleVisitor* triVisitor,
      bool includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:448,1
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:450,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:452,1
    - Dst: auto::setAt
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: dest
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:453,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:455,1
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - dest
    - std::vector::reserve
    - std::unique_ptr::size
    - orig
    - std::move
    - detail::make_unique<geom::CoordinateSequence>
    - createLineString
    - std::vector::emplace_back
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:465,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: TriList::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:467,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:470,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:471,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangles
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getTriangleCoordinates
    - std::vector::reserve
    - std::move
    - createPolygon
    - TriList::size
    - createGeometryCollection
    - createLinearRing
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> QuadEdgeSubdivision::getTriangles(const
      GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createGeometryCollection
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagram
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createGeometryCollection
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    linkageType: ''
    returnType: std::unique_ptr<geom::GeometryCollection>
    signature: std::unique_ptr<geom::GeometryCollection> QuadEdgeSubdivision::getVoronoiDiagram(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMultiLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiDiagramEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiLineString>
    signature: std::unique_ptr<geom::MultiLineString> QuadEdgeSubdivision::getVoronoiDiagramEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:497,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:499,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:501,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygons
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellPolygons(const
      geom::GeometryFactory& geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:515,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:517,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::unique_ptr::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:518,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' geomFact'
    argTypes:
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - std::vector::reserve
    - geos::triangulate::quadedge::QuadEdgeSubdivision::visitTriangles
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    - geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    - std::unique_ptr::size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::Geometry>>
    signature: std::vector<std::unique_ptr<geom::Geometry>> QuadEdgeSubdivision::getVoronoiCellEdges(const
      geom::GeometryFactory& geomFact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:530,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:534,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:535,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:536,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:538,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:544,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:545,1
    - Dst: auto::size
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:547,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:548,1
    - Dst: createPolygon
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: createLinearRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:551,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:553,1
    - Dst: getCoordinate
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:554,1
    - Dst: std::unique_ptr::setUserData
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 558
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - auto::add
    - auto::size
    - QuadEdge*::orig
    - getCoordinate
    - std::unique_ptr::setUserData
    - auto::closeRing
    - createPolygon
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - const_cast<Coordinate*>
    - auto::front
    - auto::isEmpty
    - createLinearRing
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellPolygon(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:563,1
    - Dst: QuadEdge*::rot
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:567,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:568,1
    - Dst: auto::add
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:569,1
    - Dst: QuadEdge*::oPrev
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:571,1
    - Dst: auto::front
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:577,1
    - Dst: auto::closeRing
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:578,1
    - Dst: createLineString
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    - Dst: std::move
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qe
    - ' geomFact'
    argTypes:
    - QuadEdge*
    - geom::GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 8
    functionsReached:
    - auto::add
    - auto::closeRing
    - QuadEdge*::rot
    - detail::make_unique<CoordinateSequence>
    - QuadEdge*::oPrev
    - auto::front
    - auto::isEmpty
    - createLineString
    - std::move
    - auto::back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> QuadEdgeSubdivision::getVoronoiCellEdge(const
      QuadEdge* qe, const geom::GeometryFactory& geomFact)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<QuadEdgeList>
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:590,1
    - Dst: base
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:594,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:595,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:597,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:599,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:600,1
    - Dst: QuadEdge*::sym
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:603,1
    - Dst: QuadEdge*::orig
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:604,1
    - Dst: std::set::insert
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:606,1
    - Dst: geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:608,1
    - Dst: auto::push_back
      Src: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - includeFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: geos::triangulate::quadedge::QuadEdgeSubdivision::getVertexUniqueEdges
    functionSourceFile: /src/geos/src/triangulate/quadedge/QuadEdgeSubdivision.cpp
    functionUses: 16
    functionsReached:
    - QuadEdge*::orig
    - geos::triangulate::quadedge::QuadEdgeSubdivision::isFrameVertex
    - base
    - QuadEdge*::sym
    - detail::make_unique<QuadEdgeList>
    - auto::push_back
    - std::set::insert
    linkageType: ''
    returnType: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList>
    signature: std::unique_ptr<QuadEdgeSubdivision::QuadEdgeList> QuadEdgeSubdivision::getVertexUniqueEdges(bool
      includeFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nReturnToOriginalPrecision
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp(bool nReturnToOriginalPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:70,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:71,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:72,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: geos::precision::CommonBitsOp::intersection
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::intersection
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::intersection(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:82,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:83,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:84,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::precision::CommonBitsOp::Union
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::Union
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:94,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:95,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:96,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::difference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBitsOp::difference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::difference
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::difference(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:106,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:107,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:108,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::symDifference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: geos::precision::CommonBitsOp::symDifference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::symDifference
    - std::unique_ptr::get
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom0
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::precision::CommonBitsOp::buffer
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - geos::precision::CommonBitsOp::computeResultPrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::buffer(const Geometry* geom0,
      double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: addCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    - Dst: std::unique_ptr<Geometry>::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts:
    - condition: (cbr.get())
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/precision/CommonBitsOp.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: geos::precision::CommonBitsOp::computeResultPrecision
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 5
    functionsReached:
    - assert
    - get
    - std::unique_ptr<Geometry>::get
    - addCommonBits
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::computeResultPrecision(std::unique_ptr<Geometry>
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:136,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:139,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:143,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    - Dst: auto::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom0
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 5
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    - auto::get
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::removeCommonBits(const Geometry*
      geom0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:160,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:161,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:164,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - geom0
    - geom1
    - ' rgeom0'
    - ' rgeom1'
    argTypes:
    - geom::Geometry*
    - geom::Geometry*
    - std::unique_ptr<geom::Geometry>
    - std::unique_ptr<geom::Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 6
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - get
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    linkageType: ''
    returnType: void
    signature: "void CommonBitsOp::removeCommonBits(\n    const geom::Geometry* geom0,\n
      \   const geom::Geometry* geom1,\n    std::unique_ptr<geom::Geometry>& rgeom0,\n
      \   std::unique_ptr<geom::Geometry>& rgeom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nReturnToOriginalPrecision
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp(bool nReturnToOriginalPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:70,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:71,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:72,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: geos::precision::CommonBitsOp::intersection
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::intersection
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::intersection(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:82,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:83,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:84,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::precision::CommonBitsOp::Union
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::Union
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:94,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:95,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:96,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::difference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBitsOp::difference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::difference
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::difference(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:106,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:107,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:108,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::symDifference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: geos::precision::CommonBitsOp::symDifference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::symDifference
    - std::unique_ptr::get
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom0
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::precision::CommonBitsOp::buffer
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - geos::precision::CommonBitsOp::computeResultPrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::buffer(const Geometry* geom0,
      double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: addCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    - Dst: std::unique_ptr<Geometry>::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts:
    - condition: (cbr.get())
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/precision/CommonBitsOp.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: geos::precision::CommonBitsOp::computeResultPrecision
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 10
    functionsReached:
    - assert
    - get
    - std::unique_ptr<Geometry>::get
    - addCommonBits
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::computeResultPrecision(std::unique_ptr<Geometry>
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:136,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:139,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:143,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    - Dst: auto::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom0
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 11
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    - auto::get
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::removeCommonBits(const Geometry*
      geom0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:160,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:161,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:164,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - geom0
    - geom1
    - ' rgeom0'
    - ' rgeom1'
    argTypes:
    - geom::Geometry*
    - geom::Geometry*
    - std::unique_ptr<geom::Geometry>
    - std::unique_ptr<geom::Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 12
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - get
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    linkageType: ''
    returnType: void
    signature: "void CommonBitsOp::removeCommonBits(\n    const geom::Geometry* geom0,\n
      \   const geom::Geometry* geom1,\n    std::unique_ptr<geom::Geometry>& rgeom0,\n
      \   std::unique_ptr<geom::Geometry>& rgeom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nReturnToOriginalPrecision
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp(bool nReturnToOriginalPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:70,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:71,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:72,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: geos::precision::CommonBitsOp::intersection
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::intersection
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::intersection(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:82,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:83,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:84,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::precision::CommonBitsOp::Union
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::Union
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:94,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:95,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:96,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::difference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBitsOp::difference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::difference
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::difference(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:106,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:107,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:108,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::symDifference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: geos::precision::CommonBitsOp::symDifference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::symDifference
    - std::unique_ptr::get
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom0
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::precision::CommonBitsOp::buffer
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - geos::precision::CommonBitsOp::computeResultPrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::buffer(const Geometry* geom0,
      double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: addCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    - Dst: std::unique_ptr<Geometry>::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts:
    - condition: (cbr.get())
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/precision/CommonBitsOp.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: geos::precision::CommonBitsOp::computeResultPrecision
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 15
    functionsReached:
    - assert
    - get
    - std::unique_ptr<Geometry>::get
    - addCommonBits
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::computeResultPrecision(std::unique_ptr<Geometry>
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:136,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:139,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:143,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    - Dst: auto::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom0
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 17
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    - auto::get
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::removeCommonBits(const Geometry*
      geom0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:160,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:161,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:164,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - geom0
    - geom1
    - ' rgeom0'
    - ' rgeom1'
    argTypes:
    - geom::Geometry*
    - geom::Geometry*
    - std::unique_ptr<geom::Geometry>
    - std::unique_ptr<geom::Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 18
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - get
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    linkageType: ''
    returnType: void
    signature: "void CommonBitsOp::removeCommonBits(\n    const geom::Geometry* geom0,\n
      \   const geom::Geometry* geom1,\n    std::unique_ptr<geom::Geometry>& rgeom0,\n
      \   std::unique_ptr<geom::Geometry>& rgeom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nReturnToOriginalPrecision
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::precision::CommonBitsOp::CommonBitsOp
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsOp::CommonBitsOp(bool nReturnToOriginalPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:70,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:71,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:72,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::intersection
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: geos::precision::CommonBitsOp::intersection
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::intersection
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::intersection(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:82,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:83,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:84,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::Union
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::precision::CommonBitsOp::Union
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::Union
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:94,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:95,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:96,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::difference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBitsOp::difference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::difference
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::difference(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:106,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:107,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:108,1
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::symDifference
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: geos::precision::CommonBitsOp::symDifference
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::symDifference
    - std::unique_ptr::get
    - geos::precision::CommonBitsOp::removeCommonBits
    - geos::precision::CommonBitsOp::computeResultPrecision
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CommonBitsOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBitsOp::computeResultPrecision
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/precision/CommonBitsOp.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom0
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::precision::CommonBitsOp::buffer
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::buffer
    - geos::precision::CommonBitsOp::computeResultPrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::buffer(const Geometry* geom0,
      double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:124,1
    - Dst: addCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    - Dst: std::unique_ptr<Geometry>::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts:
    - condition: (cbr.get())
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/geos/src/precision/CommonBitsOp.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: geos::precision::CommonBitsOp::computeResultPrecision
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 20
    functionsReached:
    - assert
    - get
    - std::unique_ptr<Geometry>::get
    - addCommonBits
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::computeResultPrecision(std::unique_ptr<Geometry>
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:135,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:136,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:139,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/precision/CommonBitsOp.cpp:143,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    - Dst: auto::get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom0
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 23
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    - auto::get
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CommonBitsOp::removeCommonBits(const Geometry*
      geom0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: CommonBitsRemover::CommonBitsRemover
      Src: /src/geos/src/precision/CommonBitsOp.cpp:158,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:160,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsOp.cpp:161,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsOp.cpp:164,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:168,1
    - Dst: geos::precision::CommonBitsOp::removeCommonBits
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    - Dst: get
      Src: /src/geos/src/precision/CommonBitsOp.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - geom0
    - geom1
    - ' rgeom0'
    - ' rgeom1'
    argTypes:
    - geom::Geometry*
    - geom::Geometry*
    - std::unique_ptr<geom::Geometry>
    - std::unique_ptr<geom::Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: geos::precision::CommonBitsOp::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsOp.cpp
    functionUses: 24
    functionsReached:
    - CommonBitsRemover::CommonBitsRemover
    - add
    - getCommonCoordinate
    - get
    - geos::precision::CommonBitsOp::removeCommonBits
    - reset
    linkageType: ''
    returnType: void
    signature: "void CommonBitsOp::removeCommonBits(\n    const geom::Geometry* geom0,\n
      \   const geom::Geometry* geom1,\n    std::unique_ptr<geom::Geometry>& rgeom0,\n
      \   std::unique_ptr<geom::Geometry>& rgeom1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:40,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:46,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:50,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:51,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: auto::get
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:70,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:73,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - makePrecise
    - dynamic_cast<const LineString*>
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - std::unique_ptr::getSize
    - auto::get
    - dynamic_cast<const LinearRing*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:40,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:46,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:50,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:51,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: auto::get
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:70,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:73,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - makePrecise
    - dynamic_cast<const LineString*>
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - std::unique_ptr::getSize
    - auto::get
    - dynamic_cast<const LinearRing*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:40,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:46,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:50,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:51,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: auto::get
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:70,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:73,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - makePrecise
    - dynamic_cast<const LineString*>
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - std::unique_ptr::getSize
    - auto::get
    - dynamic_cast<const LinearRing*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:40,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:46,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:50,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:51,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: auto::get
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:56,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:70,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:73,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/PrecisionReducerCoordinateOperation.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - makePrecise
    - dynamic_cast<const LineString*>
    - detail::make_unique<CoordinateSequence>
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - std::unique_ptr::getSize
    - auto::get
    - dynamic_cast<const LinearRing*>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::precision::CommonBits::signExpBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::signExpBits(int64_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - num1
    - num2
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::precision::CommonBits::numCommonMostSigMantissaBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: int
    signature: int CommonBits::numCommonMostSigMantissaBits(int64_t num1, int64_t
      num2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:47,1
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bits
    - nBits
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::precision::CommonBits::zeroLowerBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::zeroLowerBits(int64_t bits, int nBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - i
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::precision::CommonBits::getBit
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 7
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int CommonBits::getBit(int64_t bits, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: geos::precision::CommonBits::CommonBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBits::CommonBits()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:77,1
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:81,1
    - Dst: geos::precision::CommonBits::numCommonMostSigMantissaBits
      Src: /src/geos/src/precision/CommonBits.cpp:88,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/src/precision/CommonBits.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: geos::precision::CommonBits::add
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::CommonBits::zeroLowerBits
    - geos::precision::CommonBits::signExpBits
    - geos::precision::CommonBits::numCommonMostSigMantissaBits
    linkageType: ''
    returnType: void
    signature: void CommonBits::add(double num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBits::getCommon
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double CommonBits::getCommon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::precision::CommonBits::signExpBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::signExpBits(int64_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - num1
    - num2
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::precision::CommonBits::numCommonMostSigMantissaBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 1
    functionsReached:
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: int
    signature: int CommonBits::numCommonMostSigMantissaBits(int64_t num1, int64_t
      num2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:47,1
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bits
    - nBits
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::precision::CommonBits::zeroLowerBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 3
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::zeroLowerBits(int64_t bits, int nBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - i
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::precision::CommonBits::getBit
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 8
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int CommonBits::getBit(int64_t bits, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: geos::precision::CommonBits::CommonBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBits::CommonBits()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:77,1
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:81,1
    - Dst: geos::precision::CommonBits::numCommonMostSigMantissaBits
      Src: /src/geos/src/precision/CommonBits.cpp:88,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/src/precision/CommonBits.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: geos::precision::CommonBits::add
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::CommonBits::zeroLowerBits
    - geos::precision::CommonBits::signExpBits
    - geos::precision::CommonBits::numCommonMostSigMantissaBits
    linkageType: ''
    returnType: void
    signature: void CommonBits::add(double num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBits::getCommon
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double CommonBits::getCommon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::precision::CommonBits::signExpBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::signExpBits(int64_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - num1
    - num2
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::precision::CommonBits::numCommonMostSigMantissaBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 2
    functionsReached:
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: int
    signature: int CommonBits::numCommonMostSigMantissaBits(int64_t num1, int64_t
      num2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:47,1
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bits
    - nBits
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::precision::CommonBits::zeroLowerBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 4
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::zeroLowerBits(int64_t bits, int nBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - i
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::precision::CommonBits::getBit
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 9
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int CommonBits::getBit(int64_t bits, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: geos::precision::CommonBits::CommonBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBits::CommonBits()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:77,1
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:81,1
    - Dst: geos::precision::CommonBits::numCommonMostSigMantissaBits
      Src: /src/geos/src/precision/CommonBits.cpp:88,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/src/precision/CommonBits.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: geos::precision::CommonBits::add
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::CommonBits::zeroLowerBits
    - geos::precision::CommonBits::signExpBits
    - geos::precision::CommonBits::numCommonMostSigMantissaBits
    linkageType: ''
    returnType: void
    signature: void CommonBits::add(double num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBits::getCommon
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double CommonBits::getCommon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: geos::precision::CommonBits::signExpBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::signExpBits(int64_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    - Dst: geos::precision::CommonBits::getBit
      Src: /src/geos/src/precision/CommonBits.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - num1
    - num2
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::precision::CommonBits::numCommonMostSigMantissaBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 3
    functionsReached:
    - geos::precision::CommonBits::getBit
    linkageType: ''
    returnType: int
    signature: int CommonBits::numCommonMostSigMantissaBits(int64_t num1, int64_t
      num2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:47,1
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bits
    - nBits
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::precision::CommonBits::zeroLowerBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 5
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t CommonBits::zeroLowerBits(int64_t bits, int nBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/geos/src/precision/CommonBits.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bits
    - i
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::precision::CommonBits::getBit
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 10
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: int CommonBits::getBit(int64_t bits, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: geos::precision::CommonBits::CommonBits
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBits::CommonBits()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:77,1
    - Dst: geos::precision::CommonBits::signExpBits
      Src: /src/geos/src/precision/CommonBits.cpp:81,1
    - Dst: geos::precision::CommonBits::numCommonMostSigMantissaBits
      Src: /src/geos/src/precision/CommonBits.cpp:88,1
    - Dst: geos::precision::CommonBits::zeroLowerBits
      Src: /src/geos/src/precision/CommonBits.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: geos::precision::CommonBits::add
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::CommonBits::zeroLowerBits
    - geos::precision::CommonBits::signExpBits
    - geos::precision::CommonBits::numCommonMostSigMantissaBits
    linkageType: ''
    returnType: void
    signature: void CommonBits::add(double num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: geos::precision::CommonBits::getCommon
    functionSourceFile: /src/geos/src/precision/CommonBits.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double CommonBits::getCommon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - p_removeRepeated
    - ' p_filterPM'
    - has_z
    - has_m
    argTypes:
    - bool
    - PrecisionModel
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::precision::PrecisionReducerFilter::PrecisionReducerFilter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void PrecisionReducerFilter(bool p_removeRepeated, const PrecisionModel&
      p_filterPM, bool has_z, bool has_m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:56,1
    - Dst: CoordType::equals2D
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:59,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:62,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerFilter::filter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordType::equals2D
    - add
    - makePrecise
    - back
    linkageType: ''
    returnType: void
    signature: void filter(const CoordType* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: geos::precision::PrecisionReducerFilter::getCoords
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> getCoords()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' geom'
    - ' targetPM'
    - isRemoveCollapsed
    argTypes:
    - Geometry
    - PrecisionModel
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - PrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::reduce(\n    const
      Geometry& geom,\n    const PrecisionModel& targetPM,\n    bool isRemoveCollapsed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:99,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:100,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' coords'
    - minLength
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: geos::precision::PrecisionReducerTransformer::extend
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - add
    - size
    - back
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerTransformer::extend(\n    CoordinateSequence&
      coords,\n    std::size_t minLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:111,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:114,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:120,1
    - Dst: PrecisionReducerFilter::getCoords
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:121,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:133,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:135,1
    - Dst: auto::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:142,1
    - Dst: geos::precision::PrecisionReducerTransformer::extend
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: geos::precision::PrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::extend
    - auto::size
    - CoordinateSequence*::hasZ
    - Geometry*::getGeometryTypeId
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - PrecisionReducerFilter::getCoords
    - CoordinateSequence*::getDimension
    - CoordinateSequence*::apply_ro
    - CoordinateSequence*::isEmpty
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: geos::precision::PrecisionReducerTransformer::transformPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformPolygon(\n
      \   const Polygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::precision::PrecisionReducerTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformMultiPolygon(\n
      \   const MultiPolygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::PrecisionReducer::reducePrecision
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: geos::precision::PrecisionReducerTransformer::reduceArea
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::overlayng::PrecisionReducer::reducePrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PrecisionReducerTransformer::reduceArea(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - p_removeRepeated
    - ' p_filterPM'
    - has_z
    - has_m
    argTypes:
    - bool
    - PrecisionModel
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::precision::PrecisionReducerFilter::PrecisionReducerFilter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void PrecisionReducerFilter(bool p_removeRepeated, const PrecisionModel&
      p_filterPM, bool has_z, bool has_m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:56,1
    - Dst: CoordType::equals2D
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:59,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:62,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerFilter::filter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordType::equals2D
    - add
    - makePrecise
    - back
    linkageType: ''
    returnType: void
    signature: void filter(const CoordType* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: geos::precision::PrecisionReducerFilter::getCoords
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> getCoords()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' geom'
    - ' targetPM'
    - isRemoveCollapsed
    argTypes:
    - Geometry
    - PrecisionModel
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - PrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::reduce(\n    const
      Geometry& geom,\n    const PrecisionModel& targetPM,\n    bool isRemoveCollapsed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:99,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:100,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' coords'
    - minLength
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: geos::precision::PrecisionReducerTransformer::extend
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 1
    functionsReached:
    - add
    - size
    - back
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerTransformer::extend(\n    CoordinateSequence&
      coords,\n    std::size_t minLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:111,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:114,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:120,1
    - Dst: PrecisionReducerFilter::getCoords
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:121,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:133,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:135,1
    - Dst: auto::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:142,1
    - Dst: geos::precision::PrecisionReducerTransformer::extend
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: geos::precision::PrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::extend
    - auto::size
    - CoordinateSequence*::hasZ
    - Geometry*::getGeometryTypeId
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - PrecisionReducerFilter::getCoords
    - CoordinateSequence*::getDimension
    - CoordinateSequence*::apply_ro
    - CoordinateSequence*::isEmpty
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: geos::precision::PrecisionReducerTransformer::transformPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformPolygon(\n
      \   const Polygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::precision::PrecisionReducerTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformMultiPolygon(\n
      \   const MultiPolygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::PrecisionReducer::reducePrecision
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: geos::precision::PrecisionReducerTransformer::reduceArea
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::overlayng::PrecisionReducer::reducePrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PrecisionReducerTransformer::reduceArea(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - p_removeRepeated
    - ' p_filterPM'
    - has_z
    - has_m
    argTypes:
    - bool
    - PrecisionModel
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::precision::PrecisionReducerFilter::PrecisionReducerFilter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void PrecisionReducerFilter(bool p_removeRepeated, const PrecisionModel&
      p_filterPM, bool has_z, bool has_m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:56,1
    - Dst: CoordType::equals2D
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:59,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:62,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerFilter::filter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordType::equals2D
    - add
    - makePrecise
    - back
    linkageType: ''
    returnType: void
    signature: void filter(const CoordType* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: geos::precision::PrecisionReducerFilter::getCoords
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> getCoords()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' geom'
    - ' targetPM'
    - isRemoveCollapsed
    argTypes:
    - Geometry
    - PrecisionModel
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - PrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::reduce(\n    const
      Geometry& geom,\n    const PrecisionModel& targetPM,\n    bool isRemoveCollapsed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:99,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:100,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' coords'
    - minLength
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: geos::precision::PrecisionReducerTransformer::extend
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 2
    functionsReached:
    - add
    - size
    - back
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerTransformer::extend(\n    CoordinateSequence&
      coords,\n    std::size_t minLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:111,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:114,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:120,1
    - Dst: PrecisionReducerFilter::getCoords
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:121,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:133,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:135,1
    - Dst: auto::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:142,1
    - Dst: geos::precision::PrecisionReducerTransformer::extend
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: geos::precision::PrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::extend
    - auto::size
    - CoordinateSequence*::hasZ
    - Geometry*::getGeometryTypeId
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - PrecisionReducerFilter::getCoords
    - CoordinateSequence*::getDimension
    - CoordinateSequence*::apply_ro
    - CoordinateSequence*::isEmpty
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: geos::precision::PrecisionReducerTransformer::transformPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformPolygon(\n
      \   const Polygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::precision::PrecisionReducerTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformMultiPolygon(\n
      \   const MultiPolygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::PrecisionReducer::reducePrecision
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: geos::precision::PrecisionReducerTransformer::reduceArea
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::overlayng::PrecisionReducer::reducePrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PrecisionReducerTransformer::reduceArea(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - p_removeRepeated
    - ' p_filterPM'
    - has_z
    - has_m
    argTypes:
    - bool
    - PrecisionModel
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::precision::PrecisionReducerFilter::PrecisionReducerFilter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void PrecisionReducerFilter(bool p_removeRepeated, const PrecisionModel&
      p_filterPM, bool has_z, bool has_m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:56,1
    - Dst: CoordType::equals2D
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:59,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:62,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - curr
    argTypes:
    - CoordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerFilter::filter
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordType::equals2D
    - add
    - makePrecise
    - back
    linkageType: ''
    returnType: void
    signature: void filter(const CoordType* curr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: geos::precision::PrecisionReducerFilter::getCoords
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> getCoords()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' geom'
    - ' targetPM'
    - isRemoveCollapsed
    argTypes:
    - Geometry
    - PrecisionModel
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::precision::PrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - PrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::reduce(\n    const
      Geometry& geom,\n    const PrecisionModel& targetPM,\n    bool isRemoveCollapsed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:99,1
    - Dst: back
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:100,1
    - Dst: add
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' coords'
    - minLength
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: geos::precision::PrecisionReducerTransformer::extend
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 3
    functionsReached:
    - add
    - size
    - back
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerTransformer::extend(\n    CoordinateSequence&
      coords,\n    std::size_t minLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:111,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:114,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:115,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:119,1
    - Dst: CoordinateSequence*::apply_ro
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:120,1
    - Dst: PrecisionReducerFilter::getCoords
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:121,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:133,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:135,1
    - Dst: auto::size
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:142,1
    - Dst: geos::precision::PrecisionReducerTransformer::extend
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: geos::precision::PrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::extend
    - auto::size
    - CoordinateSequence*::hasZ
    - Geometry*::getGeometryTypeId
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - PrecisionReducerFilter::getCoords
    - CoordinateSequence*::getDimension
    - CoordinateSequence*::apply_ro
    - CoordinateSequence*::isEmpty
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: geos::precision::PrecisionReducerTransformer::transformPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformPolygon(\n
      \   const Polygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PrecisionReducerTransformer::reduceArea
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: geos::precision::PrecisionReducerTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::PrecisionReducerTransformer::reduceArea
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> PrecisionReducerTransformer::transformMultiPolygon(\n
      \   const MultiPolygon* geom, const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::PrecisionReducer::reducePrecision
      Src: /src/geos/src/precision/PrecisionReducerTransformer.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: geos::precision::PrecisionReducerTransformer::reduceArea
    functionSourceFile: /src/geos/src/precision/PrecisionReducerTransformer.cpp
    functionUses: 8
    functionsReached:
    - geos::operation::overlayng::PrecisionReducer::reducePrecision
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PrecisionReducerTransformer::reduceArea(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: geos::precision::MinimumClearance::MinimumClearance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::MinimumClearance(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::precision::MinimumClearance::getDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinimumClearance::compute
    linkageType: ''
    returnType: double
    signature: double MinimumClearance::getDistance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:49,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    - Dst: clone
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: geos::precision::MinimumClearance::getLine
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::precision::MinimumClearance::compute
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumClearance::getLine()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    - Dst: vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/MinimumClearance.cpp:167,1
    - Dst: isEmpty
      Src: /src/geos/src/precision/MinimumClearance.cpp:171,1
    - Dst: geos::operation::distance::FacetSequenceTreeBuilder::build
      Src: /src/geos/src/precision/MinimumClearance.cpp:175,1
    - Dst: auto::nearestNeighbour
      Src: /src/geos/src/precision/MinimumClearance.cpp:177,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/precision/MinimumClearance.cpp:180,1
    - Dst: MinClearanceDistance::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:183,1
    - Dst: MinClearanceDistance::getCoordinates
      Src: /src/geos/src/precision/MinimumClearance.cpp:185,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:186,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:187,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 188
    functionName: geos::precision::MinimumClearance::compute
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 2
    functionsReached:
    - auto::nearestNeighbour
    - segmentDistance
    - setAt
    - geos::algorithm::Distance::pointToSegment
    - size
    - updatePts
    - getCoordinate
    - MinClearanceDistance::distance
    - vertexDistance
    - LineSegment::closestPoint
    - geos::operation::distance::FacetSequenceTreeBuilder::build
    - geos::io::util::GEOSException
    - Coordinate*::equals2D
    - Coordinate*::distance
    - detail::make_unique<CoordinateSequence>
    - distance
    - MinClearanceDistance::getCoordinates
    - std::vector<Coordinate>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - ' seg0'
    - ' seg1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::precision::MinClearanceDistance::updatePts
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - LineSegment::closestPoint
    linkageType: ''
    returnType: void
    signature: void updatePts(const Coordinate& p, const Coordinate& seg0, const Coordinate&
      seg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: geos::precision::MinClearanceDistance::MinClearanceDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - std::vector<Coordinate>
    linkageType: ''
    returnType: void
    signature: void MinClearanceDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::precision::MinClearanceDistance::getCoordinates
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> *\n        getCoordinates()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: operator()(const FacetSequence* fs1, const FacetSequence* fs2)
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double operator()(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinClearanceDistance::vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: geos::precision::MinClearanceDistance::distance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinClearanceDistance::segmentDistance
    - geos::precision::MinClearanceDistance::vertexDistance
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double distance(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: geos::precision::MinClearanceDistance::vertexDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 1
    functionsReached:
    - Coordinate*::distance
    - FacetSequence*::getCoordinate
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double vertexDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: geos::precision::MinClearanceDistance::updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: geos::precision::MinClearanceDistance::segmentDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 1
    functionsReached:
    - geos::precision::MinClearanceDistance::updatePts
    - FacetSequence*::getCoordinate
    - geos::algorithm::Distance::pointToSegment
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double segmentDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: geos::precision::MinimumClearance::MinimumClearance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::MinimumClearance(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::precision::MinimumClearance::getDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinimumClearance::compute
    linkageType: ''
    returnType: double
    signature: double MinimumClearance::getDistance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:49,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    - Dst: clone
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: geos::precision::MinimumClearance::getLine
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::precision::MinimumClearance::compute
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumClearance::getLine()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    - Dst: vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/MinimumClearance.cpp:167,1
    - Dst: isEmpty
      Src: /src/geos/src/precision/MinimumClearance.cpp:171,1
    - Dst: geos::operation::distance::FacetSequenceTreeBuilder::build
      Src: /src/geos/src/precision/MinimumClearance.cpp:175,1
    - Dst: auto::nearestNeighbour
      Src: /src/geos/src/precision/MinimumClearance.cpp:177,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/precision/MinimumClearance.cpp:180,1
    - Dst: MinClearanceDistance::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:183,1
    - Dst: MinClearanceDistance::getCoordinates
      Src: /src/geos/src/precision/MinimumClearance.cpp:185,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:186,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:187,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 188
    functionName: geos::precision::MinimumClearance::compute
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 4
    functionsReached:
    - auto::nearestNeighbour
    - segmentDistance
    - setAt
    - geos::algorithm::Distance::pointToSegment
    - size
    - updatePts
    - getCoordinate
    - MinClearanceDistance::distance
    - vertexDistance
    - LineSegment::closestPoint
    - geos::operation::distance::FacetSequenceTreeBuilder::build
    - geos::io::util::GEOSException
    - Coordinate*::equals2D
    - Coordinate*::distance
    - detail::make_unique<CoordinateSequence>
    - distance
    - MinClearanceDistance::getCoordinates
    - std::vector<Coordinate>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - ' seg0'
    - ' seg1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::precision::MinClearanceDistance::updatePts
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 1
    functionsReached:
    - LineSegment::closestPoint
    linkageType: ''
    returnType: void
    signature: void updatePts(const Coordinate& p, const Coordinate& seg0, const Coordinate&
      seg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: geos::precision::MinClearanceDistance::MinClearanceDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - std::vector<Coordinate>
    linkageType: ''
    returnType: void
    signature: void MinClearanceDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::precision::MinClearanceDistance::getCoordinates
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> *\n        getCoordinates()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: operator()(const FacetSequence* fs1, const FacetSequence* fs2)
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double operator()(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinClearanceDistance::vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: geos::precision::MinClearanceDistance::distance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinClearanceDistance::segmentDistance
    - geos::precision::MinClearanceDistance::vertexDistance
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double distance(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: geos::precision::MinClearanceDistance::vertexDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 2
    functionsReached:
    - Coordinate*::distance
    - FacetSequence*::getCoordinate
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double vertexDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: geos::precision::MinClearanceDistance::updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: geos::precision::MinClearanceDistance::segmentDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 2
    functionsReached:
    - geos::precision::MinClearanceDistance::updatePts
    - FacetSequence*::getCoordinate
    - geos::algorithm::Distance::pointToSegment
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double segmentDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: geos::precision::MinimumClearance::MinimumClearance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::MinimumClearance(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::precision::MinimumClearance::getDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinimumClearance::compute
    linkageType: ''
    returnType: double
    signature: double MinimumClearance::getDistance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:49,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    - Dst: clone
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: geos::precision::MinimumClearance::getLine
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::precision::MinimumClearance::compute
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumClearance::getLine()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    - Dst: vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/MinimumClearance.cpp:167,1
    - Dst: isEmpty
      Src: /src/geos/src/precision/MinimumClearance.cpp:171,1
    - Dst: geos::operation::distance::FacetSequenceTreeBuilder::build
      Src: /src/geos/src/precision/MinimumClearance.cpp:175,1
    - Dst: auto::nearestNeighbour
      Src: /src/geos/src/precision/MinimumClearance.cpp:177,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/precision/MinimumClearance.cpp:180,1
    - Dst: MinClearanceDistance::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:183,1
    - Dst: MinClearanceDistance::getCoordinates
      Src: /src/geos/src/precision/MinimumClearance.cpp:185,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:186,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:187,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 188
    functionName: geos::precision::MinimumClearance::compute
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 6
    functionsReached:
    - auto::nearestNeighbour
    - segmentDistance
    - setAt
    - geos::algorithm::Distance::pointToSegment
    - size
    - updatePts
    - getCoordinate
    - MinClearanceDistance::distance
    - vertexDistance
    - LineSegment::closestPoint
    - geos::operation::distance::FacetSequenceTreeBuilder::build
    - geos::io::util::GEOSException
    - Coordinate*::equals2D
    - Coordinate*::distance
    - detail::make_unique<CoordinateSequence>
    - distance
    - MinClearanceDistance::getCoordinates
    - std::vector<Coordinate>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - ' seg0'
    - ' seg1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::precision::MinClearanceDistance::updatePts
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::closestPoint
    linkageType: ''
    returnType: void
    signature: void updatePts(const Coordinate& p, const Coordinate& seg0, const Coordinate&
      seg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: geos::precision::MinClearanceDistance::MinClearanceDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - std::vector<Coordinate>
    linkageType: ''
    returnType: void
    signature: void MinClearanceDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::precision::MinClearanceDistance::getCoordinates
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> *\n        getCoordinates()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: operator()(const FacetSequence* fs1, const FacetSequence* fs2)
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double operator()(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinClearanceDistance::vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: geos::precision::MinClearanceDistance::distance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinClearanceDistance::segmentDistance
    - geos::precision::MinClearanceDistance::vertexDistance
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double distance(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: geos::precision::MinClearanceDistance::vertexDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 3
    functionsReached:
    - Coordinate*::distance
    - FacetSequence*::getCoordinate
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double vertexDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: geos::precision::MinClearanceDistance::updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: geos::precision::MinClearanceDistance::segmentDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 3
    functionsReached:
    - geos::precision::MinClearanceDistance::updatePts
    - FacetSequence*::getCoordinate
    - geos::algorithm::Distance::pointToSegment
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double segmentDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: geos::precision::MinimumClearance::MinimumClearance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::MinimumClearance(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::precision::MinimumClearance::getDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinimumClearance::compute
    linkageType: ''
    returnType: double
    signature: double MinimumClearance::getDistance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinimumClearance::compute
      Src: /src/geos/src/precision/MinimumClearance.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:49,1
    - Dst: getFactory
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    - Dst: clone
      Src: /src/geos/src/precision/MinimumClearance.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: geos::precision::MinimumClearance::getLine
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::precision::MinimumClearance::compute
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> MinimumClearance::getLine()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    - Dst: vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/MinimumClearance.cpp:167,1
    - Dst: isEmpty
      Src: /src/geos/src/precision/MinimumClearance.cpp:171,1
    - Dst: geos::operation::distance::FacetSequenceTreeBuilder::build
      Src: /src/geos/src/precision/MinimumClearance.cpp:175,1
    - Dst: auto::nearestNeighbour
      Src: /src/geos/src/precision/MinimumClearance.cpp:177,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/precision/MinimumClearance.cpp:180,1
    - Dst: MinClearanceDistance::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:183,1
    - Dst: MinClearanceDistance::getCoordinates
      Src: /src/geos/src/precision/MinimumClearance.cpp:185,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:186,1
    - Dst: setAt
      Src: /src/geos/src/precision/MinimumClearance.cpp:187,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 188
    functionName: geos::precision::MinimumClearance::compute
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 8
    functionsReached:
    - auto::nearestNeighbour
    - segmentDistance
    - setAt
    - geos::algorithm::Distance::pointToSegment
    - size
    - updatePts
    - getCoordinate
    - MinClearanceDistance::distance
    - vertexDistance
    - LineSegment::closestPoint
    - geos::operation::distance::FacetSequenceTreeBuilder::build
    - geos::io::util::GEOSException
    - Coordinate*::equals2D
    - Coordinate*::distance
    - detail::make_unique<CoordinateSequence>
    - distance
    - MinClearanceDistance::getCoordinates
    - std::vector<Coordinate>
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void MinimumClearance::compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment::closestPoint
      Src: /src/geos/src/precision/MinimumClearance.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p'
    - ' seg0'
    - ' seg1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::precision::MinClearanceDistance::updatePts
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 3
    functionsReached:
    - LineSegment::closestPoint
    linkageType: ''
    returnType: void
    signature: void updatePts(const Coordinate& p, const Coordinate& seg0, const Coordinate&
      seg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Coordinate>
      Src: /src/geos/src/precision/MinimumClearance.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: geos::precision::MinClearanceDistance::MinClearanceDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - std::vector<Coordinate>
    linkageType: ''
    returnType: void
    signature: void MinClearanceDistance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geos::precision::MinClearanceDistance::getCoordinates
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Coordinate>
    signature: "std::vector<Coordinate> *\n        getCoordinates()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: operator()(const FacetSequence* fs1, const FacetSequence* fs2)
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double operator()(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::MinClearanceDistance::vertexDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:95,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:96,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:103,1
    - Dst: geos::precision::MinClearanceDistance::segmentDistance
      Src: /src/geos/src/precision/MinimumClearance.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: geos::precision::MinClearanceDistance::distance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 0
    functionsReached:
    - geos::precision::MinClearanceDistance::segmentDistance
    - geos::precision::MinClearanceDistance::vertexDistance
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double distance(const FacetSequence* fs1, const FacetSequence* fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:115,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:116,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:117,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:118,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:119,1
    - Dst: Coordinate*::distance
      Src: /src/geos/src/precision/MinimumClearance.cpp:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: geos::precision::MinClearanceDistance::vertexDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 4
    functionsReached:
    - Coordinate*::distance
    - FacetSequence*::getCoordinate
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double vertexDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:138,1
    - Dst: FacetSequence*::size
      Src: /src/geos/src/precision/MinimumClearance.cpp:139,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:140,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:142,1
    - Dst: FacetSequence*::getCoordinate
      Src: /src/geos/src/precision/MinimumClearance.cpp:143,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: Coordinate*::equals2D
      Src: /src/geos/src/precision/MinimumClearance.cpp:145,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/precision/MinimumClearance.cpp:146,1
    - Dst: geos::precision::MinClearanceDistance::updatePts
      Src: /src/geos/src/precision/MinimumClearance.cpp:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - fs1
    - fs2
    argTypes:
    - FacetSequence*
    - FacetSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: geos::precision::MinClearanceDistance::segmentDistance
    functionSourceFile: /src/geos/src/precision/MinimumClearance.cpp
    functionUses: 4
    functionsReached:
    - geos::precision::MinClearanceDistance::updatePts
    - FacetSequence*::getCoordinate
    - geos::algorithm::Distance::pointToSegment
    - Coordinate*::equals2D
    - FacetSequence*::size
    linkageType: ''
    returnType: double
    signature: double segmentDistance(const FacetSequence* fs1, const FacetSequence*
      fs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newTrans'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::precision::Translater::Translater
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Translater(geom::Coordinate& newTrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:55,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::precision::Translater::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::precision::Translater::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:78,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::precision::CommonCoordinateFilter::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:85,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::precision::CommonCoordinateFilter::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: geos::precision::CommonCoordinateFilter::getCommonCoordinate
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - getCommon
    linkageType: ''
    returnType: void
    signature: void getCommonCoordinate(geom::Coordinate& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommonCoordinateFilter::CommonCoordinateFilter
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::precision::CommonBitsRemover::CommonBitsRemover
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - CommonCoordinateFilter::CommonCoordinateFilter
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CommonBitsRemover::~CommonBitsRemover()
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::~CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:120,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::precision::CommonBitsRemover::add
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_ro
    - getCommonCoordinate
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: '&

      CommonBitsRemover::getCommonCoordinate()'
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CommonBitsRemover::getCommonCoordinate()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:152,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: geos::precision::CommonBitsRemover::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::removeCommonBits(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:176,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::precision::CommonBitsRemover::addCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      CommonBitsRemover::addCommonBits(Geometry* geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newTrans'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::precision::Translater::Translater
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Translater(geom::Coordinate& newTrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:55,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::precision::Translater::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::precision::Translater::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:78,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::precision::CommonCoordinateFilter::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:85,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::precision::CommonCoordinateFilter::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: geos::precision::CommonCoordinateFilter::getCommonCoordinate
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - getCommon
    linkageType: ''
    returnType: void
    signature: void getCommonCoordinate(geom::Coordinate& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommonCoordinateFilter::CommonCoordinateFilter
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::precision::CommonBitsRemover::CommonBitsRemover
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - CommonCoordinateFilter::CommonCoordinateFilter
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CommonBitsRemover::~CommonBitsRemover()
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::~CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:120,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::precision::CommonBitsRemover::add
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_ro
    - getCommonCoordinate
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: '&

      CommonBitsRemover::getCommonCoordinate()'
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CommonBitsRemover::getCommonCoordinate()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:152,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: geos::precision::CommonBitsRemover::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::removeCommonBits(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:176,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::precision::CommonBitsRemover::addCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      CommonBitsRemover::addCommonBits(Geometry* geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newTrans'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::precision::Translater::Translater
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Translater(geom::Coordinate& newTrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:55,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::precision::Translater::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::precision::Translater::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:78,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::precision::CommonCoordinateFilter::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:85,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::precision::CommonCoordinateFilter::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: geos::precision::CommonCoordinateFilter::getCommonCoordinate
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - getCommon
    linkageType: ''
    returnType: void
    signature: void getCommonCoordinate(geom::Coordinate& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommonCoordinateFilter::CommonCoordinateFilter
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::precision::CommonBitsRemover::CommonBitsRemover
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - CommonCoordinateFilter::CommonCoordinateFilter
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CommonBitsRemover::~CommonBitsRemover()
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::~CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:120,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::precision::CommonBitsRemover::add
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_ro
    - getCommonCoordinate
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: '&

      CommonBitsRemover::getCommonCoordinate()'
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CommonBitsRemover::getCommonCoordinate()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:152,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: geos::precision::CommonBitsRemover::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::removeCommonBits(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:176,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::precision::CommonBitsRemover::addCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      CommonBitsRemover::addCommonBits(Geometry* geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newTrans'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::precision::Translater::Translater
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Translater(geom::Coordinate& newTrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:55,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::precision::Translater::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: geos::precision::Translater::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:78,1
    - Dst: assert
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/geos/src/precision/CommonBitsRemover.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::precision::CommonCoordinateFilter::filter_rw
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::Coordinate* coord) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:85,1
    - Dst: add
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - coord
    argTypes:
    - geom::Coordinate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::precision::CommonCoordinateFilter::filter_ro
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - add
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Coordinate* coord) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:92,1
    - Dst: getCommon
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: geos::precision::CommonCoordinateFilter::getCommonCoordinate
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - getCommon
    linkageType: ''
    returnType: void
    signature: void getCommonCoordinate(geom::Coordinate& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommonCoordinateFilter::CommonCoordinateFilter
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: geos::precision::CommonBitsRemover::CommonBitsRemover
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - CommonCoordinateFilter::CommonCoordinateFilter
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CommonBitsRemover::~CommonBitsRemover()
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::~CommonBitsRemover()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:120,1
    - Dst: getCommonCoordinate
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::precision::CommonBitsRemover::add
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_ro
    - getCommonCoordinate
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::add(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: '&

      CommonBitsRemover::getCommonCoordinate()'
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      CommonBitsRemover::getCommonCoordinate()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:152,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 158
    functionName: geos::precision::CommonBitsRemover::removeCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: void
    signature: void CommonBitsRemover::removeCommonBits(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::apply_rw
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:176,1
    - Dst: Geometry*::geometryChanged
      Src: /src/geos/src/precision/CommonBitsRemover.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: geos::precision::CommonBitsRemover::addCommonBits
    functionSourceFile: /src/geos/src/precision/CommonBitsRemover.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::apply_rw
    - Geometry*::geometryChanged
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      CommonBitsRemover::addCommonBits(Geometry* geom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:48,1
    - Dst: CommonBitsOp::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:61,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:65,1
    - Dst: what
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: geos::precision::EnhancedPrecisionOp::intersection
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - what
    - CommonBitsOp::intersection
    - auto::isValid
    - Geometry*::intersection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::intersection(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:93,1
    - Dst: CommonBitsOp::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:106,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 118
    functionName: geos::precision::EnhancedPrecisionOp::Union
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::Union
    - CommonBitsOp::Union
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:129,1
    - Dst: CommonBitsOp::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:142,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: geos::precision::EnhancedPrecisionOp::difference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::difference
    - Geometry*::difference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::difference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:164,1
    - Dst: CommonBitsOp::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:177,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: geos::precision::EnhancedPrecisionOp::symDifference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::symDifference
    - Geometry*::symDifference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:197,1
    - Dst: CommonBitsOp::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:210,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: geos::precision::EnhancedPrecisionOp::buffer
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::buffer
    - auto::isValid
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> EnhancedPrecisionOp::buffer(const Geometry*
      geom, double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:48,1
    - Dst: CommonBitsOp::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:61,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:65,1
    - Dst: what
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: geos::precision::EnhancedPrecisionOp::intersection
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - what
    - CommonBitsOp::intersection
    - auto::isValid
    - Geometry*::intersection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::intersection(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:93,1
    - Dst: CommonBitsOp::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:106,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 118
    functionName: geos::precision::EnhancedPrecisionOp::Union
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::Union
    - CommonBitsOp::Union
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:129,1
    - Dst: CommonBitsOp::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:142,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: geos::precision::EnhancedPrecisionOp::difference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::difference
    - Geometry*::difference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::difference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:164,1
    - Dst: CommonBitsOp::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:177,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: geos::precision::EnhancedPrecisionOp::symDifference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::symDifference
    - Geometry*::symDifference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:197,1
    - Dst: CommonBitsOp::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:210,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: geos::precision::EnhancedPrecisionOp::buffer
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::buffer
    - auto::isValid
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> EnhancedPrecisionOp::buffer(const Geometry*
      geom, double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:48,1
    - Dst: CommonBitsOp::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:61,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:65,1
    - Dst: what
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: geos::precision::EnhancedPrecisionOp::intersection
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - what
    - CommonBitsOp::intersection
    - auto::isValid
    - Geometry*::intersection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::intersection(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:93,1
    - Dst: CommonBitsOp::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:106,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 118
    functionName: geos::precision::EnhancedPrecisionOp::Union
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::Union
    - CommonBitsOp::Union
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:129,1
    - Dst: CommonBitsOp::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:142,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: geos::precision::EnhancedPrecisionOp::difference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::difference
    - Geometry*::difference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::difference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:164,1
    - Dst: CommonBitsOp::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:177,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: geos::precision::EnhancedPrecisionOp::symDifference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::symDifference
    - Geometry*::symDifference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:197,1
    - Dst: CommonBitsOp::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:210,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: geos::precision::EnhancedPrecisionOp::buffer
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::buffer
    - auto::isValid
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> EnhancedPrecisionOp::buffer(const Geometry*
      geom, double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:48,1
    - Dst: CommonBitsOp::intersection
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:61,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:65,1
    - Dst: what
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: geos::precision::EnhancedPrecisionOp::intersection
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - what
    - CommonBitsOp::intersection
    - auto::isValid
    - Geometry*::intersection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::intersection(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:93,1
    - Dst: CommonBitsOp::Union
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:106,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 118
    functionName: geos::precision::EnhancedPrecisionOp::Union
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::Union
    - CommonBitsOp::Union
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::Union(\n    const Geometry*
      geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:129,1
    - Dst: CommonBitsOp::difference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:142,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: geos::precision::EnhancedPrecisionOp::difference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::difference
    - Geometry*::difference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::difference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:164,1
    - Dst: CommonBitsOp::symDifference
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:177,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: geos::precision::EnhancedPrecisionOp::symDifference
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::symDifference
    - Geometry*::symDifference
    - auto::isValid
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> EnhancedPrecisionOp::symDifference(\n    const
      Geometry* geom0,\n    const Geometry* geom1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:197,1
    - Dst: CommonBitsOp::buffer
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:210,1
    - Dst: auto::isValid
      Src: /src/geos/src/precision/EnhancedPrecisionOp.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - distance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: geos::precision::EnhancedPrecisionOp::buffer
    functionSourceFile: /src/geos/src/precision/EnhancedPrecisionOp.cpp
    functionUses: 0
    functionsReached:
    - CommonBitsOp::buffer
    - auto::isValid
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> EnhancedPrecisionOp::buffer(const Geometry*
      geom, double distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: geos::precision::SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer(\n
      \   const PrecisionModel* pm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nRemoveCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::precision::SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents(bool
      nRemoveCollapsed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getPrecisionModel
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      SimpleGeometryPrecisionReducer::getPrecisionModel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getRemoveCollapsed
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SimpleGeometryPrecisionReducer::getRemoveCollapsed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: geos::precision::SimpleGeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleGeometryPrecisionReducer::reduce(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: geos::precision::SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer(\n
      \   const PrecisionModel* pm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nRemoveCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::precision::SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents(bool
      nRemoveCollapsed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getPrecisionModel
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      SimpleGeometryPrecisionReducer::getPrecisionModel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getRemoveCollapsed
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SimpleGeometryPrecisionReducer::getRemoveCollapsed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: geos::precision::SimpleGeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleGeometryPrecisionReducer::reduce(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: geos::precision::SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer(\n
      \   const PrecisionModel* pm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nRemoveCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::precision::SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents(bool
      nRemoveCollapsed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getPrecisionModel
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      SimpleGeometryPrecisionReducer::getPrecisionModel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getRemoveCollapsed
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SimpleGeometryPrecisionReducer::getRemoveCollapsed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: geos::precision::SimpleGeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleGeometryPrecisionReducer::reduce(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newSgpr
    argTypes:
    - SimpleGeometryPrecisionReducer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::precision::PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrecisionReducerCoordinateOperation::PrecisionReducerCoordinateOperation(\n
      \   SimpleGeometryPrecisionReducer* newSgpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:70,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:74,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:76,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:80,1
    - Dst: getPrecisionModel
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:81,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: auto::get
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:86,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:100,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: typeid
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:103,1
    - Dst: getRemoveCollapsed
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:107,1
    - Dst: std::unique_ptr::getSize
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cs
    - geom
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: geos::precision::PrecisionReducerCoordinateOperation::edit
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - std::unique_ptr::getSize
    - detail::make_unique<CoordinateSequence>
    - getPrecisionModel
    - CoordinateSequence*::getSize
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - getRemoveCollapsed
    - typeid
    - auto::get
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> PrecisionReducerCoordinateOperation::edit(const
      CoordinateSequence* cs,\n        const Geometry* geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: geos::precision::SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SimpleGeometryPrecisionReducer::SimpleGeometryPrecisionReducer(\n
      \   const PrecisionModel* pm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nRemoveCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::precision::SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleGeometryPrecisionReducer::setRemoveCollapsedComponents(bool
      nRemoveCollapsed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getPrecisionModel
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      SimpleGeometryPrecisionReducer::getPrecisionModel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::precision::SimpleGeometryPrecisionReducer::getRemoveCollapsed
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SimpleGeometryPrecisionReducer::getRemoveCollapsed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: geos::precision::SimpleGeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/SimpleGeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleGeometryPrecisionReducer::reduce(const
      Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:49,1
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:50,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:51,1
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - ' newPM'
    argTypes:
    - Geometry*
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::GeometryPrecisionReducer::changePM
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - GeometryEditor::edit
    - GeometryFactory::Ptr::get
    - geos::precision::GeometryPrecisionReducer::createFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::changePM(const
      Geometry* geom, const geom::PrecisionModel& newPM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setPointwise
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:64,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: geos::precision::GeometryPrecisionReducer::reducePointwise
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 2
    functionsReached:
    - GeometryPrecisionReducer::setPointwise
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reducePointwise(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setRemoveCollapsedComponents
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:73,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::precision::GeometryPrecisionReducer::reduceKeepCollapsed
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    - GeometryPrecisionReducer::setRemoveCollapsedComponents
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduceKeepCollapsed(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - geom::Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryPrecisionReducer::reduce(const
      geom::Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: GeometryFactory::Ptr::createGeometry
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:103,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:106,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: geos::precision::GeometryPrecisionReducer::fixPolygonalTopology
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - Geometry*::buffer
    - geos::precision::GeometryPrecisionReducer::createFactory
    - GeometryFactory::Ptr::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::fixPolygonalTopology(const
      Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:122,1
    - Dst: getSRID
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oldGF'
    - ' newPM'
    argTypes:
    - GeometryFactory
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: geos::precision::GeometryPrecisionReducer::createFactory
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryFactory::create
    - getSRID
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: "GeometryFactory::Ptr GeometryPrecisionReducer::createFactory(const
      GeometryFactory& oldGF,\n                                        const PrecisionModel&
      newPM)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:134,1
    - Dst: geos::precision::PrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:137,1
    - Dst: isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:142,1
    - Dst: std::unique_ptr::isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:143,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: std::move
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:151,1
    - Dst: geos::precision::GeometryPrecisionReducer::changePM
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::precision::GeometryPrecisionReducer::changePM
    - geos::precision::PrecisionReducerTransformer::reduce
    - isCollection
    - geos::precision::PointwisePrecisionReducerTransformer::reduce
    - std::unique_ptr::isCollection
    - std::move
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduce(const Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:49,1
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:50,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:51,1
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - ' newPM'
    argTypes:
    - Geometry*
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::GeometryPrecisionReducer::changePM
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getFactory
    - GeometryEditor::edit
    - GeometryFactory::Ptr::get
    - geos::precision::GeometryPrecisionReducer::createFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::changePM(const
      Geometry* geom, const geom::PrecisionModel& newPM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setPointwise
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:64,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: geos::precision::GeometryPrecisionReducer::reducePointwise
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 2
    functionsReached:
    - GeometryPrecisionReducer::setPointwise
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reducePointwise(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setRemoveCollapsedComponents
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:73,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::precision::GeometryPrecisionReducer::reduceKeepCollapsed
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    - GeometryPrecisionReducer::setRemoveCollapsedComponents
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduceKeepCollapsed(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - geom::Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryPrecisionReducer::reduce(const
      geom::Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: GeometryFactory::Ptr::createGeometry
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:103,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:106,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: geos::precision::GeometryPrecisionReducer::fixPolygonalTopology
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - Geometry*::buffer
    - geos::precision::GeometryPrecisionReducer::createFactory
    - GeometryFactory::Ptr::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::fixPolygonalTopology(const
      Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:122,1
    - Dst: getSRID
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oldGF'
    - ' newPM'
    argTypes:
    - GeometryFactory
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: geos::precision::GeometryPrecisionReducer::createFactory
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryFactory::create
    - getSRID
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: "GeometryFactory::Ptr GeometryPrecisionReducer::createFactory(const
      GeometryFactory& oldGF,\n                                        const PrecisionModel&
      newPM)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:134,1
    - Dst: geos::precision::PrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:137,1
    - Dst: isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:142,1
    - Dst: std::unique_ptr::isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:143,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: std::move
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:151,1
    - Dst: geos::precision::GeometryPrecisionReducer::changePM
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::precision::GeometryPrecisionReducer::changePM
    - geos::precision::PrecisionReducerTransformer::reduce
    - isCollection
    - geos::precision::PointwisePrecisionReducerTransformer::reduce
    - std::unique_ptr::isCollection
    - std::move
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduce(const Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:49,1
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:50,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:51,1
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - ' newPM'
    argTypes:
    - Geometry*
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::GeometryPrecisionReducer::changePM
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getFactory
    - GeometryEditor::edit
    - GeometryFactory::Ptr::get
    - geos::precision::GeometryPrecisionReducer::createFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::changePM(const
      Geometry* geom, const geom::PrecisionModel& newPM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setPointwise
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:64,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: geos::precision::GeometryPrecisionReducer::reducePointwise
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 2
    functionsReached:
    - GeometryPrecisionReducer::setPointwise
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reducePointwise(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setRemoveCollapsedComponents
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:73,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::precision::GeometryPrecisionReducer::reduceKeepCollapsed
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    - GeometryPrecisionReducer::setRemoveCollapsedComponents
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduceKeepCollapsed(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - geom::Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryPrecisionReducer::reduce(const
      geom::Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: GeometryFactory::Ptr::createGeometry
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:103,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:106,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: geos::precision::GeometryPrecisionReducer::fixPolygonalTopology
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - Geometry*::buffer
    - geos::precision::GeometryPrecisionReducer::createFactory
    - GeometryFactory::Ptr::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::fixPolygonalTopology(const
      Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:122,1
    - Dst: getSRID
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oldGF'
    - ' newPM'
    argTypes:
    - GeometryFactory
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: geos::precision::GeometryPrecisionReducer::createFactory
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::create
    - getSRID
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: "GeometryFactory::Ptr GeometryPrecisionReducer::createFactory(const
      GeometryFactory& oldGF,\n                                        const PrecisionModel&
      newPM)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:134,1
    - Dst: geos::precision::PrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:137,1
    - Dst: isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:142,1
    - Dst: std::unique_ptr::isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:143,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: std::move
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:151,1
    - Dst: geos::precision::GeometryPrecisionReducer::changePM
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::precision::GeometryPrecisionReducer::changePM
    - geos::precision::PrecisionReducerTransformer::reduce
    - isCollection
    - geos::precision::PointwisePrecisionReducerTransformer::reduce
    - std::unique_ptr::isCollection
    - std::move
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduce(const Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:49,1
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:50,1
    - Dst: GeometryFactory::Ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:51,1
    - Dst: GeometryEditor::edit
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - ' newPM'
    argTypes:
    - Geometry*
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::GeometryPrecisionReducer::changePM
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getFactory
    - GeometryEditor::edit
    - GeometryFactory::Ptr::get
    - geos::precision::GeometryPrecisionReducer::createFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::changePM(const
      Geometry* geom, const geom::PrecisionModel& newPM)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setPointwise
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:64,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: geos::precision::GeometryPrecisionReducer::reducePointwise
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 2
    functionsReached:
    - GeometryPrecisionReducer::setPointwise
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reducePointwise(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::setRemoveCollapsedComponents
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:73,1
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: geos::precision::GeometryPrecisionReducer::reduceKeepCollapsed
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    - GeometryPrecisionReducer::setRemoveCollapsedComponents
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduceKeepCollapsed(const
      Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryPrecisionReducer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' precModel'
    argTypes:
    - geom::Geometry
    - geom::PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - GeometryPrecisionReducer::reduce
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryPrecisionReducer::reduce(const
      geom::Geometry& g, const geom::PrecisionModel& precModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::GeometryPrecisionReducer::createFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:101,1
    - Dst: GeometryFactory::Ptr::createGeometry
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:103,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:106,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 114
    functionName: geos::precision::GeometryPrecisionReducer::fixPolygonalTopology
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - Geometry*::buffer
    - geos::precision::GeometryPrecisionReducer::createFactory
    - GeometryFactory::Ptr::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::fixPolygonalTopology(const
      Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:122,1
    - Dst: getSRID
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' oldGF'
    - ' newPM'
    argTypes:
    - GeometryFactory
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: geos::precision::GeometryPrecisionReducer::createFactory
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::GeometryFactory::create
    - getSRID
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: "GeometryFactory::Ptr GeometryPrecisionReducer::createFactory(const
      GeometryFactory& oldGF,\n                                        const PrecisionModel&
      newPM)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:134,1
    - Dst: geos::precision::PrecisionReducerTransformer::reduce
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:137,1
    - Dst: isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:142,1
    - Dst: std::unique_ptr::isCollection
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:143,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:144,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: std::move
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:146,1
    - Dst: getFactory
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:151,1
    - Dst: geos::precision::GeometryPrecisionReducer::changePM
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/precision/GeometryPrecisionReducer.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::precision::GeometryPrecisionReducer::reduce
    functionSourceFile: /src/geos/src/precision/GeometryPrecisionReducer.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::precision::GeometryPrecisionReducer::changePM
    - geos::precision::PrecisionReducerTransformer::reduce
    - isCollection
    - geos::precision::PointwisePrecisionReducerTransformer::reduce
    - std::unique_ptr::isCollection
    - std::move
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryPrecisionReducer::reduce(const Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointwisePrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' targetPM'
    argTypes:
    - Geometry
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 4
    functionsReached:
    - PointwisePrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PointwisePrecisionReducerTransformer::reduce(const
      Geometry& geom, const PrecisionModel& targetPM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:51,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::PointwisePrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::isEmpty
    - geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    - CoordinateSequence*::getDimension
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:63,1
    - Dst: auto::reserve
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:67,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - coordinates
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - makePrecise
    - auto::reserve
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::reducePointwise(const
      CoordinateSequence* coordinates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointwisePrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' targetPM'
    argTypes:
    - Geometry
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 4
    functionsReached:
    - PointwisePrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PointwisePrecisionReducerTransformer::reduce(const
      Geometry& geom, const PrecisionModel& targetPM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:51,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::PointwisePrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::isEmpty
    - geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    - CoordinateSequence*::getDimension
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:63,1
    - Dst: auto::reserve
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:67,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - coordinates
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - makePrecise
    - auto::reserve
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::reducePointwise(const
      CoordinateSequence* coordinates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointwisePrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' targetPM'
    argTypes:
    - Geometry
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 4
    functionsReached:
    - PointwisePrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PointwisePrecisionReducerTransformer::reduce(const
      Geometry& geom, const PrecisionModel& targetPM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:51,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::PointwisePrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::isEmpty
    - geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    - CoordinateSequence*::getDimension
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:63,1
    - Dst: auto::reserve
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:67,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - coordinates
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - makePrecise
    - auto::reserve
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::reducePointwise(const
      CoordinateSequence* coordinates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointwisePrecisionReducerTransformer::transform
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' targetPM'
    argTypes:
    - Geometry
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reduce
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 4
    functionsReached:
    - PointwisePrecisionReducerTransformer::transform
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PointwisePrecisionReducerTransformer::reduce(const
      Geometry& geom, const PrecisionModel& targetPM)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:51,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:52,1
    - Dst: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: geos::precision::PointwisePrecisionReducerTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::isEmpty
    - geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    - CoordinateSequence*::getDimension
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:63,1
    - Dst: auto::reserve
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:64,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:67,1
    - Dst: makePrecise
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:68,1
    - Dst: auto::add
      Src: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - coordinates
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::precision::PointwisePrecisionReducerTransformer::reducePointwise
    functionSourceFile: /src/geos/src/precision/PointwisePrecisionReducerTransformer.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - makePrecise
    - auto::reserve
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> PointwisePrecisionReducerTransformer::reducePointwise(const
      CoordinateSequence* coordinates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: points::clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SimpleCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - points::clone
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::SimpleCurve(const SimpleCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: geos::geom::SimpleCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/SimpleCurve.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' newCoords'
    - isLinear
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - bool
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::SimpleCurve::computeEnvelopeInternal
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: "void SimpleCurve::SimpleCurve(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                         bool isLinear,\n                         const
      GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: geos::geom::SimpleCurve::apply_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:60,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:65,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - isDone
    - filter_ro
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: geos::geom::SimpleCurve::apply_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(const CoordinateFilter* filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:82,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:87,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:88,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:92,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - size
    - filter_rw
    - geometryChanged
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:100,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:103,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ls
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: geos::geom::SimpleCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - getSize
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: int
    signature: int SimpleCurve::compareToSameClass(const Geometry* ls) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:123,1
    - Dst: Envelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:124,1
    - Dst: getEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:128,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:132,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:133,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:135,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - isLinear
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: geos::geom::SimpleCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - size
    - getEnvelope
    - Envelope
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    - geos::algorithm::CircularArcs::expandEnvelope
    linkageType: ''
    returnType: Envelope
    signature: Envelope SimpleCurve::computeEnvelopeInternal(bool isLinear) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:145,1
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:149,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:150,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:151,1
    - Dst: equal
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: geos::geom::SimpleCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - equal
    - getSize
    - isEquivalentClass
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:165,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/geom/SimpleCurve.cpp:169,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: geos::geom::SimpleCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - isEquivalentClass
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/SimpleCurve.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: geos::geom::SimpleCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: geos::geom::SimpleCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      SimpleCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/SimpleCurve.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::geom::SimpleCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - getDimension
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SimpleCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: '&

      SimpleCurve::getCoordinateN(std::size_t n) const'
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SimpleCurve::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::SimpleCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != points.get())
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::SimpleCurve::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - assert
    - get
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      SimpleCurve::getCoordinatesRO() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::SimpleCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      SimpleCurve::getCurveN(std::size_t) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:230,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    - Dst: geos::geom::SimpleCurve::getNumPoints
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: geos::geom::SimpleCurve::getEndPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    - geos::geom::SimpleCurve::getNumPoints
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getEndPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::geom::SimpleCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: geos::geom::SimpleCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - assert
    - get
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: applyAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:255,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (getFactory())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    - condition: (points.get())
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: geos::geom::SimpleCurve::getPointN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - applyAt
    - assert
    - getFactory
    - get
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getPointN(std::size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:263,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: geos::geom::SimpleCurve::getStartPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getStartPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: geos::geom::SimpleCurve::hasM
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: geos::geom::SimpleCurve::hasZ
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::SimpleCurve::hasZ
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:284,1
    - Dst: front
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    - Dst: back
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: geos::geom::SimpleCurve::isClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:295,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: geos::geom::SimpleCurve::isCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getSize
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isCoordinate(CoordinateXY& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: geos::geom::SimpleCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 6
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isEmpty() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/SimpleCurve.cpp:315,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: geos::geom::SimpleCurve::isClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:319,1
    - Dst: geos::geom::SimpleCurve::normalizeClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:320,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:323,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 334
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 334
    functionName: geos::geom::SimpleCurve::normalize
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::util::ensureNoCurvedComponents
    - getSize
    - geos::geom::SimpleCurve::isClosed
    - getAt
    - reverse
    - get
    - geos::geom::SimpleCurve::normalizeClosed
    - assert
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:340,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:344,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: auto::add
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: auto::minCoordinate
      Src: /src/geos/src/geom/SimpleCurve.cpp:351,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::closeRing
      Src: /src/geos/src/geom/SimpleCurve.cpp:354,1
    - Dst: auto::size
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:357,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: geos::geom::SimpleCurve::normalizeClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - auto::add
    - auto::minCoordinate
    - geos::geom::SimpleCurve::hasM
    - size
    - auto::size
    - auto::reserve
    - auto::closeRing
    - geos::algorithm::Orientation::isCCW
    - geos::geom::SimpleCurve::isEmpty
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence::scroll
    - geos::geom::SimpleCurve::hasZ
    - auto::get
    - std::move
    - auto::reverse
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalizeClosed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:367,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:368,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: geos::geom::SimpleCurve::releaseCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    - geometryChanged
    - std::make_unique<CoordinateSequence>
    - geos::geom::SimpleCurve::hasZ
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: points::clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SimpleCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - points::clone
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::SimpleCurve(const SimpleCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: geos::geom::SimpleCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/SimpleCurve.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' newCoords'
    - isLinear
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - bool
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::SimpleCurve::computeEnvelopeInternal
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: "void SimpleCurve::SimpleCurve(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                         bool isLinear,\n                         const
      GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: geos::geom::SimpleCurve::apply_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:60,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:65,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - isDone
    - filter_ro
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: geos::geom::SimpleCurve::apply_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(const CoordinateFilter* filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:82,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:87,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:88,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:92,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - size
    - filter_rw
    - geometryChanged
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:100,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:103,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ls
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: geos::geom::SimpleCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - getSize
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: int
    signature: int SimpleCurve::compareToSameClass(const Geometry* ls) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:123,1
    - Dst: Envelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:124,1
    - Dst: getEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:128,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:132,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:133,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:135,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - isLinear
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: geos::geom::SimpleCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - size
    - getEnvelope
    - Envelope
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    - geos::algorithm::CircularArcs::expandEnvelope
    linkageType: ''
    returnType: Envelope
    signature: Envelope SimpleCurve::computeEnvelopeInternal(bool isLinear) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:145,1
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:149,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:150,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:151,1
    - Dst: equal
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: geos::geom::SimpleCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - equal
    - getSize
    - isEquivalentClass
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:165,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/geom/SimpleCurve.cpp:169,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: geos::geom::SimpleCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - isEquivalentClass
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/SimpleCurve.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: geos::geom::SimpleCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: geos::geom::SimpleCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      SimpleCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/SimpleCurve.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::geom::SimpleCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - getDimension
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SimpleCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: '&

      SimpleCurve::getCoordinateN(std::size_t n) const'
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SimpleCurve::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::SimpleCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != points.get())
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::SimpleCurve::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - assert
    - get
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      SimpleCurve::getCoordinatesRO() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::SimpleCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      SimpleCurve::getCurveN(std::size_t) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:230,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    - Dst: geos::geom::SimpleCurve::getNumPoints
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: geos::geom::SimpleCurve::getEndPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    - geos::geom::SimpleCurve::getNumPoints
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getEndPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::geom::SimpleCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: geos::geom::SimpleCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - assert
    - get
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: applyAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:255,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (getFactory())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    - condition: (points.get())
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: geos::geom::SimpleCurve::getPointN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - applyAt
    - assert
    - getFactory
    - get
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getPointN(std::size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:263,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: geos::geom::SimpleCurve::getStartPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getStartPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: geos::geom::SimpleCurve::hasM
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: geos::geom::SimpleCurve::hasZ
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::SimpleCurve::hasZ
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:284,1
    - Dst: front
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    - Dst: back
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: geos::geom::SimpleCurve::isClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:295,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: geos::geom::SimpleCurve::isCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getSize
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isCoordinate(CoordinateXY& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: geos::geom::SimpleCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 14
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isEmpty() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/SimpleCurve.cpp:315,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: geos::geom::SimpleCurve::isClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:319,1
    - Dst: geos::geom::SimpleCurve::normalizeClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:320,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:323,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 334
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 334
    functionName: geos::geom::SimpleCurve::normalize
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::util::ensureNoCurvedComponents
    - getSize
    - geos::geom::SimpleCurve::isClosed
    - getAt
    - reverse
    - get
    - geos::geom::SimpleCurve::normalizeClosed
    - assert
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:340,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:344,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: auto::add
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: auto::minCoordinate
      Src: /src/geos/src/geom/SimpleCurve.cpp:351,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::closeRing
      Src: /src/geos/src/geom/SimpleCurve.cpp:354,1
    - Dst: auto::size
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:357,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: geos::geom::SimpleCurve::normalizeClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - auto::add
    - auto::minCoordinate
    - geos::geom::SimpleCurve::hasM
    - size
    - auto::size
    - auto::reserve
    - auto::closeRing
    - geos::algorithm::Orientation::isCCW
    - geos::geom::SimpleCurve::isEmpty
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence::scroll
    - geos::geom::SimpleCurve::hasZ
    - auto::get
    - std::move
    - auto::reverse
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalizeClosed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:367,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:368,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: geos::geom::SimpleCurve::releaseCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    - geometryChanged
    - std::make_unique<CoordinateSequence>
    - geos::geom::SimpleCurve::hasZ
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: points::clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SimpleCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - points::clone
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::SimpleCurve(const SimpleCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: geos::geom::SimpleCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/SimpleCurve.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' newCoords'
    - isLinear
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - bool
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::SimpleCurve::computeEnvelopeInternal
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: "void SimpleCurve::SimpleCurve(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                         bool isLinear,\n                         const
      GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: geos::geom::SimpleCurve::apply_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:60,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:65,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - isDone
    - filter_ro
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: geos::geom::SimpleCurve::apply_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(const CoordinateFilter* filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:82,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:87,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:88,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:92,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - size
    - filter_rw
    - geometryChanged
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:100,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:103,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ls
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: geos::geom::SimpleCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - getSize
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: int
    signature: int SimpleCurve::compareToSameClass(const Geometry* ls) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:123,1
    - Dst: Envelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:124,1
    - Dst: getEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:128,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:132,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:133,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:135,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - isLinear
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: geos::geom::SimpleCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - size
    - getEnvelope
    - Envelope
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    - geos::algorithm::CircularArcs::expandEnvelope
    linkageType: ''
    returnType: Envelope
    signature: Envelope SimpleCurve::computeEnvelopeInternal(bool isLinear) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:145,1
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:149,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:150,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:151,1
    - Dst: equal
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: geos::geom::SimpleCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - equal
    - getSize
    - isEquivalentClass
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:165,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/geom/SimpleCurve.cpp:169,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: geos::geom::SimpleCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - isEquivalentClass
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/SimpleCurve.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: geos::geom::SimpleCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: geos::geom::SimpleCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      SimpleCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/SimpleCurve.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::geom::SimpleCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - getDimension
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SimpleCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: '&

      SimpleCurve::getCoordinateN(std::size_t n) const'
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SimpleCurve::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::SimpleCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != points.get())
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::SimpleCurve::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 5
    functionsReached:
    - assert
    - get
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      SimpleCurve::getCoordinatesRO() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::SimpleCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      SimpleCurve::getCurveN(std::size_t) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:230,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    - Dst: geos::geom::SimpleCurve::getNumPoints
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: geos::geom::SimpleCurve::getEndPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    - geos::geom::SimpleCurve::getNumPoints
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getEndPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::geom::SimpleCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: geos::geom::SimpleCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - assert
    - get
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: applyAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:255,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (getFactory())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    - condition: (points.get())
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: geos::geom::SimpleCurve::getPointN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 5
    functionsReached:
    - applyAt
    - assert
    - getFactory
    - get
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getPointN(std::size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:263,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: geos::geom::SimpleCurve::getStartPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getStartPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: geos::geom::SimpleCurve::hasM
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: geos::geom::SimpleCurve::hasZ
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::SimpleCurve::hasZ
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:284,1
    - Dst: front
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    - Dst: back
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: geos::geom::SimpleCurve::isClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:295,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: geos::geom::SimpleCurve::isCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getSize
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isCoordinate(CoordinateXY& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: geos::geom::SimpleCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 22
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isEmpty() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/SimpleCurve.cpp:315,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: geos::geom::SimpleCurve::isClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:319,1
    - Dst: geos::geom::SimpleCurve::normalizeClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:320,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:323,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 334
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 334
    functionName: geos::geom::SimpleCurve::normalize
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::util::ensureNoCurvedComponents
    - getSize
    - geos::geom::SimpleCurve::isClosed
    - getAt
    - reverse
    - get
    - geos::geom::SimpleCurve::normalizeClosed
    - assert
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:340,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:344,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: auto::add
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: auto::minCoordinate
      Src: /src/geos/src/geom/SimpleCurve.cpp:351,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::closeRing
      Src: /src/geos/src/geom/SimpleCurve.cpp:354,1
    - Dst: auto::size
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:357,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: geos::geom::SimpleCurve::normalizeClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - auto::add
    - auto::minCoordinate
    - geos::geom::SimpleCurve::hasM
    - size
    - auto::size
    - auto::reserve
    - auto::closeRing
    - geos::algorithm::Orientation::isCCW
    - geos::geom::SimpleCurve::isEmpty
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence::scroll
    - geos::geom::SimpleCurve::hasZ
    - auto::get
    - std::move
    - auto::reverse
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalizeClosed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:367,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:368,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: geos::geom::SimpleCurve::releaseCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    - geometryChanged
    - std::make_unique<CoordinateSequence>
    - geos::geom::SimpleCurve::hasZ
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: points::clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SimpleCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - points::clone
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::SimpleCurve(const SimpleCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:45,1
    - Dst: geos::geom::SimpleCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/SimpleCurve.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' newCoords'
    - isLinear
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - bool
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geom::SimpleCurve::SimpleCurve
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::SimpleCurve::computeEnvelopeInternal
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: "void SimpleCurve::SimpleCurve(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                         bool isLinear,\n                         const
      GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:53,1
    - Dst: geos::geom::SimpleCurve::apply_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:60,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/SimpleCurve.cpp:65,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: geos::geom::SimpleCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - isDone
    - filter_ro
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:75,1
    - Dst: geos::geom::SimpleCurve::apply_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(const CoordinateFilter* filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:82,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/SimpleCurve.cpp:87,1
    - Dst: isDone
      Src: /src/geos/src/geom/SimpleCurve.cpp:88,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:92,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: geos::geom::SimpleCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - size
    - filter_rw
    - geometryChanged
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:100,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:103,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:104,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ls
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: geos::geom::SimpleCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - getSize
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: int
    signature: int SimpleCurve::compareToSameClass(const Geometry* ls) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:123,1
    - Dst: Envelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:124,1
    - Dst: getEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:128,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:132,1
    - Dst: geos::algorithm::CircularArcs::expandEnvelope
      Src: /src/geos/src/geom/SimpleCurve.cpp:133,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:135,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - isLinear
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: geos::geom::SimpleCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - size
    - getEnvelope
    - Envelope
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    - geos::algorithm::CircularArcs::expandEnvelope
    linkageType: ''
    returnType: Envelope
    signature: Envelope SimpleCurve::computeEnvelopeInternal(bool isLinear) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:145,1
    - Dst: detail::down_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/SimpleCurve.cpp:149,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:150,1
    - Dst: SimpleCurve*::points::getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:151,1
    - Dst: equal
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    - Dst: SimpleCurve*::points::getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: geos::geom::SimpleCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const SimpleCurve*>
    - equal
    - getSize
    - isEquivalentClass
    - getAt
    - SimpleCurve*::points::getSize
    - SimpleCurve*::points::getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/SimpleCurve.cpp:165,1
    - Dst: static_cast<const SimpleCurve&>
      Src: /src/geos/src/geom/SimpleCurve.cpp:169,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: geos::geom::SimpleCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - isEquivalentClass
    - static_cast<const SimpleCurve&>
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/SimpleCurve.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: geos::geom::SimpleCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> SimpleCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:188,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: geos::geom::SimpleCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - getAt
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      SimpleCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/SimpleCurve.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: geos::geom::SimpleCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - getDimension
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SimpleCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:203,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: '&

      SimpleCurve::getCoordinateN(std::size_t n) const'
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SimpleCurve::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:210,1
    - Dst: clone
      Src: /src/geos/src/geom/SimpleCurve.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::SimpleCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:217,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nullptr != points.get())
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::SimpleCurve::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 7
    functionsReached:
    - assert
    - get
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      SimpleCurve::getCoordinatesRO() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::SimpleCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      SimpleCurve::getCurveN(std::size_t) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:230,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    - Dst: geos::geom::SimpleCurve::getNumPoints
      Src: /src/geos/src/geom/SimpleCurve.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: geos::geom::SimpleCurve::getEndPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    - geos::geom::SimpleCurve::getNumPoints
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getEndPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: geos::geom::SimpleCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:245,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: geos::geom::SimpleCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - assert
    - get
    - getSize
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t SimpleCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:252,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:253,1
    - Dst: applyAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:255,1
    - Dst: getFactory
      Src: /src/geos/src/geom/SimpleCurve.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (getFactory())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    - condition: (points.get())
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: geos::geom::SimpleCurve::getPointN
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 7
    functionsReached:
    - applyAt
    - assert
    - getFactory
    - get
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getPointN(std::size_t n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:263,1
    - Dst: geos::geom::SimpleCurve::getPointN
      Src: /src/geos/src/geom/SimpleCurve.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: geos::geom::SimpleCurve::getStartPoint
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::geom::SimpleCurve::getPointN
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> SimpleCurve::getStartPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: geos::geom::SimpleCurve::hasM
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: geos::geom::SimpleCurve::hasZ
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::SimpleCurve::hasZ
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::hasZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:284,1
    - Dst: front
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    - Dst: back
      Src: /src/geos/src/geom/SimpleCurve.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: geos::geom::SimpleCurve::isClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:294,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:295,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - CoordinateXY
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: geos::geom::SimpleCurve::isCoordinate
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - get
    - getSize
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isCoordinate(CoordinateXY& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:307,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: geos::geom::SimpleCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 30
    functionsReached:
    - assert
    - get
    - geos::geom::SimpleCurve::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool SimpleCurve::isEmpty() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/SimpleCurve.cpp:315,1
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: get
      Src: /src/geos/src/geom/SimpleCurve.cpp:318,1
    - Dst: geos::geom::SimpleCurve::isClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:319,1
    - Dst: geos::geom::SimpleCurve::normalizeClosed
      Src: /src/geos/src/geom/SimpleCurve.cpp:320,1
    - Dst: getSize
      Src: /src/geos/src/geom/SimpleCurve.cpp:323,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:327,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: getAt
      Src: /src/geos/src/geom/SimpleCurve.cpp:328,1
    - Dst: reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/geos/src/geom/SimpleCurve.cpp
    constantsTouched: []
    func_position:
      end: 334
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 334
    functionName: geos::geom::SimpleCurve::normalize
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::isEmpty
    - geos::util::ensureNoCurvedComponents
    - getSize
    - geos::geom::SimpleCurve::isClosed
    - getAt
    - reverse
    - get
    - geos::geom::SimpleCurve::normalizeClosed
    - assert
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::SimpleCurve::isEmpty
      Src: /src/geos/src/geom/SimpleCurve.cpp:340,1
    - Dst: geos::geom::SimpleCurve::getCoordinatesRO
      Src: /src/geos/src/geom/SimpleCurve.cpp:344,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:346,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:347,1
    - Dst: auto::add
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: size
      Src: /src/geos/src/geom/SimpleCurve.cpp:349,1
    - Dst: auto::minCoordinate
      Src: /src/geos/src/geom/SimpleCurve.cpp:351,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:353,1
    - Dst: auto::closeRing
      Src: /src/geos/src/geom/SimpleCurve.cpp:354,1
    - Dst: auto::size
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::get
      Src: /src/geos/src/geom/SimpleCurve.cpp:356,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/SimpleCurve.cpp:357,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: geos::geom::SimpleCurve::normalizeClosed
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::SimpleCurve::getCoordinatesRO
    - auto::add
    - auto::minCoordinate
    - geos::geom::SimpleCurve::hasM
    - size
    - auto::size
    - auto::reserve
    - auto::closeRing
    - geos::algorithm::Orientation::isCCW
    - geos::geom::SimpleCurve::isEmpty
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence::scroll
    - geos::geom::SimpleCurve::hasZ
    - auto::get
    - std::move
    - auto::reverse
    linkageType: ''
    returnType: void
    signature: void SimpleCurve::normalizeClosed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasZ
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: geos::geom::SimpleCurve::hasM
      Src: /src/geos/src/geom/SimpleCurve.cpp:366,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:367,1
    - Dst: std::move
      Src: /src/geos/src/geom/SimpleCurve.cpp:368,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/SimpleCurve.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: geos::geom::SimpleCurve::releaseCoordinates
    functionSourceFile: /src/geos/src/geom/SimpleCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::SimpleCurve::hasM
    - geometryChanged
    - std::make_unique<CoordinateSequence>
    - geos::geom::SimpleCurve::hasZ
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SimpleCurve::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Point>> &&
      newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::geom::MultiPoint::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPoint::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::geom::MultiPoint::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPoint::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: geos::geom::MultiPoint::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPoint::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::geom::MultiPoint::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPoint::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geom/MultiPoint.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::geom::MultiPoint::getCoordinateN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      MultiPoint::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiPoint::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPoint::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::geom::MultiPoint::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - get
    linkageType: ''
    returnType: Point
    signature: 'Point *

      MultiPoint::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Point>> &&
      newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::geom::MultiPoint::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPoint::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::geom::MultiPoint::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPoint::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: geos::geom::MultiPoint::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPoint::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::geom::MultiPoint::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPoint::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geom/MultiPoint.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::geom::MultiPoint::getCoordinateN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      MultiPoint::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiPoint::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPoint::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::geom::MultiPoint::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - get
    linkageType: ''
    returnType: Point
    signature: 'Point *

      MultiPoint::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Point>> &&
      newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::geom::MultiPoint::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPoint::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::geom::MultiPoint::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPoint::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: geos::geom::MultiPoint::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPoint::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::geom::MultiPoint::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPoint::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geom/MultiPoint.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::geom::MultiPoint::getCoordinateN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      MultiPoint::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiPoint::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPoint::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::geom::MultiPoint::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - get
    linkageType: ''
    returnType: Point
    signature: 'Point *

      MultiPoint::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Point>> &&
      newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPoint.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPoints'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPoint::MultiPoint
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPoint::MultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::geom::MultiPoint::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPoint::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::geom::MultiPoint::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPoint::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: geos::geom::MultiPoint::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPoint::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPoint.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: geos::geom::MultiPoint::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPoint::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geom/MultiPoint.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::geom::MultiPoint::getCoordinateN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      MultiPoint::getCoordinateN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiPoint::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPoint::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPoint.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::geom::MultiPoint::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPoint.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - get
    linkageType: ''
    returnType: Point
    signature: 'Point *

      MultiPoint::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::geosversion
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string geosversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::jtsport
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string jtsport()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/Geometry.cpp:119,1
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:121,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:127,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const Geometry& geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geom/Geometry.cpp:137,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geom/Geometry.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::geom::Geometry::hasNullElements
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasNullElements(const CoordinateSequence* list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/src/geom/Geometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - cDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::Geometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::distance::DistanceOp::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isWithinDistance(const Geometry* geom, double cDistance)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:158,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - getFactory
    - geos::geom::Geometry::getCentroid
    - getCoordinateDimension
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getCentroid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::isMixedDimension
      Src: /src/geos/src/geom/Geometry.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Geometry::isMixedDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isCollection
      Src: /src/geos/src/geom/Geometry.cpp:179,1
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/Geometry.cpp:180,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/Geometry.cpp:181,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:188,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - baseDim
    argTypes:
    - Dimension::DimensionType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - getNumGeometries
    - getGeometryN
    - getDimension
    - isCollection
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension(Dimension::DimensionType* baseDim)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:199,1
    - Dst: geos::algorithm::Centroid::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:202,1
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    - geos::algorithm::Centroid::getCentroid
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::getCentroid(CoordinateXY& ret) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/Geometry.cpp:212,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:215,1
    - Dst: InteriorPointPoint::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:218,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: InteriorPointLine::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:224,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: InteriorPointArea::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:230,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: geos::geom::Geometry::getInteriorPoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::ensureNoCurvedComponents
    - InteriorPointLine::getInteriorPoint
    - InteriorPointPoint::getInteriorPoint
    - InteriorPointArea::getInteriorPoint
    - getCoordinateDimension
    - getDimension
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getInteriorPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::apply_rw
      Src: /src/geos/src/geom/Geometry.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: geos::geom::Geometry::geometryChanged
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::apply_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::geometryChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidOp
      Src: /src/geos/src/geom/Geometry.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: geos::geom::Geometry::isValid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: geos::geom::Geometry::getEnvelope
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - getEnvelopeInternal
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::getEnvelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::disjoint
      Src: /src/geos/src/geom/Geometry.cpp:265,1
    - Dst: geos::geom::Geometry::intersects
      Src: /src/geos/src/geom/Geometry.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geom::Geometry::disjoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::disjoint
    - geos::geom::Geometry::intersects
    linkageType: ''
    returnType: bool
    signature: bool Geometry::disjoint(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: geos::operation::relateng::RelateNG::touches
      Src: /src/geos/src/geom/Geometry.cpp:282,1
    - Dst: std::unique_ptr::isTouches
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: geos::geom::Geometry::touches
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::touches
    - Geometry*::getDimension
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isTouches
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::touches(const Geometry* g) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:317,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:318,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:319,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:321,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:322,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:323,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:326,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:327,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:330,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: geos::operation::relateng::RelateNG::intersects
      Src: /src/geos/src/geom/Geometry.cpp:336,1
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:339,1
    - Dst: auto::isIntersects
      Src: /src/geos/src/geom/Geometry.cpp:340,1
    - Dst: prepare
      Src: /src/geos/src/geom/Geometry.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 346
    functionName: geos::geom::Geometry::intersects
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - auto::isIntersects
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - getCoordinate
    - Geometry*::isRectangle
    - detail::down_cast<const Surface*>
    - isRectangle
    - geos::operation::predicate::RectangleIntersects::intersects
    - prepare
    - Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::intersects
    - geos::geom::Geometry::relate
    - Geometry*::getCoordinate
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool Geometry::intersects(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::covers
      Src: /src/geos/src/geom/Geometry.cpp:353,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:374,1
    - Dst: std::unique_ptr::isCovers
      Src: /src/geos/src/geom/Geometry.cpp:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 383
    functionName: geos::geom::Geometry::covers
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getLength
    - Geometry*::getDimension
    - isRectangle
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::covers
    - std::unique_ptr::isCovers
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::covers(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::coveredBy
      Src: /src/geos/src/geom/Geometry.cpp:390,1
    - Dst: geos::geom::Geometry::covers
      Src: /src/geos/src/geom/Geometry.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: geos::geom::Geometry::coveredBy
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::covers
    - geos::operation::relateng::RelateNG::coveredBy
    linkageType: ''
    returnType: bool
    signature: bool Geometry::coveredBy(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::crosses
      Src: /src/geos/src/geom/Geometry.cpp:400,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: std::unique_ptr::isCrosses
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: geos::geom::Geometry::crosses
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - getDimension
    - geos::operation::relateng::RelateNG::crosses
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isCrosses
    linkageType: ''
    returnType: bool
    signature: bool Geometry::crosses(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::within
      Src: /src/geos/src/geom/Geometry.cpp:420,1
    - Dst: Geometry*::contains
      Src: /src/geos/src/geom/Geometry.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: geos::geom::Geometry::within
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::within
    - Geometry*::contains
    linkageType: ''
    returnType: bool
    signature: bool Geometry::within(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::contains
      Src: /src/geos/src/geom/Geometry.cpp:430,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:453,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:454,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/Geometry.cpp:455,1
    - Dst: std::unique_ptr::isContains
      Src: /src/geos/src/geom/Geometry.cpp:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 466
    functionName: geos::geom::Geometry::contains
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - Geometry*::getLength
    - geos::operation::relateng::RelateNG::contains
    - Geometry*::getDimension
    - isRectangle
    - std::unique_ptr::isContains
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::contains(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::overlaps
      Src: /src/geos/src/geom/Geometry.cpp:472,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: std::unique_ptr::isOverlaps
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 486
    functionName: geos::geom::Geometry::overlaps
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::overlaps
    - std::unique_ptr::isOverlaps
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::overlaps(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:492,1
    - Dst: std::unique_ptr::matches
      Src: /src/geos/src/geom/Geometry.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - g
    - ' intersectionPattern'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::matches
    linkageType: ''
    returnType: bool
    signature: bool Geometry::relate(const Geometry* g, const std::string& intersectionPattern)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::equalsTopo
      Src: /src/geos/src/geom/Geometry.cpp:504,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:514,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:515,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:517,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:518,1
    - Dst: std::unique_ptr::isEquals
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 525
    functionName: geos::geom::Geometry::equals
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::equalsTopo
    - Geometry*::isEmpty
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isEquals
    - getDimension
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::equals(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:531,1
    - Dst: geos::operation::relate::RelateOp::relate
      Src: /src/geos/src/geom/Geometry.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - geos::operation::relate::RelateOp::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry*
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Geometry::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry&
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::toText
      Src: /src/geos/src/geom/Geometry.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: geos::geom::Geometry::toString
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::toText
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKBWriter::writeHEX
      Src: /src/geos/src/geom/Geometry.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: '&

      operator<< (std::ostream& os, const Geometry& geom)'
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - io::WKBWriter::writeHEX
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Geometry& geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTWriter::write
      Src: /src/geos/src/geom/Geometry.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: geos::geom::Geometry::toText
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_distance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_distance
    - quadrantSegments
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_distance
    - quadrantSegments
    - endCapStyle
    argTypes:
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments,
      int endCapStyle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConvexHull
      Src: /src/geos/src/geom/Geometry.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: geos::geom::Geometry::convexHull
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - ConvexHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::convexHull() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:602,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:603,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:606,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:608,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:609,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:612,1
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 617
    functionName: geos::geom::Geometry::intersection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isRectangle
    - isRectangle
    - getEnvelopeInternal
    - HeuristicOverlay
    - geos::operation::intersection::RectangleIntersection::clip
    - Geometry*::getEnvelopeInternal
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::intersection(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::Union(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/src/geom/Geometry.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::geounion::UnaryUnionOp::Union
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Geometry::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: geos::geom::Geometry::difference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::difference(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: geos::geom::Geometry::symDifference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::symDifference(const Geometry* other)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:660,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:663,1
    - Dst: compareToSameClass
      Src: /src/geos/src/geom/Geometry.cpp:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: geos::geom::Geometry::compareTo
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isEmpty
    - Geometry*::getSortIndex
    - getSortIndex
    - compareToSameClass
    - isEmpty
    linkageType: ''
    returnType: int
    signature: int Geometry::compareTo(const Geometry* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: geos::geom::Geometry::isEquivalentClass
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isEquivalentClass(const Geometry* other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:685,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Geometry.cpp:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: geos::geom::Geometry::checkNotGeometryCollection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getSortIndex
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Geometry::checkNotGeometryCollection(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::geometryChangedAction
      Src: /src/geos/src/geom/Geometry.cpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::geometryChangedAction
    linkageType: ''
    returnType: void
    signature: void Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/src/geom/Geometry.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: geos::geom::Geometry::distance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::distance::DistanceOp::distance
    linkageType: ''
    returnType: double
    signature: double Geometry::distance(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: geos::geom::Geometry::getArea
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: geos::geom::Geometry::getLength
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropRef
      Src: /src/geos/src/geom/Geometry.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: Geometry::~Geometry()
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - dropRef
    linkageType: ''
    returnType: void
    signature: void Geometry::~Geometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::compareTo
      Src: /src/geos/src/geom/Geometry.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::distance
      Src: /src/geos/src/geom/Geometry.cpp:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - tolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: geos::geom::Geometry::equal
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::distance
    linkageType: ''
    returnType: bool
    signature: "bool Geometry::equal(const CoordinateXY& a, const CoordinateXY& b,\n
      \               double tolerance) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::valid::IsSimpleOp::isSimple
      Src: /src/geos/src/geom/Geometry.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: geos::geom::Geometry::isSimple
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - operation::valid::IsSimpleOp::isSimple
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: geos::geom::Geometry::getPrecisionModel
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      Geometry::getPrecisionModel() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: geos::geom::Geometry::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::geosversion
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string geosversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::jtsport
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string jtsport()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/Geometry.cpp:119,1
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:121,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:127,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const Geometry& geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geom/Geometry.cpp:137,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geom/Geometry.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::geom::Geometry::hasNullElements
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasNullElements(const CoordinateSequence* list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/src/geom/Geometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - cDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::Geometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::distance::DistanceOp::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isWithinDistance(const Geometry* geom, double cDistance)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:158,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - geos::geom::Geometry::getCentroid
    - getCoordinateDimension
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getCentroid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::isMixedDimension
      Src: /src/geos/src/geom/Geometry.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Geometry::isMixedDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isCollection
      Src: /src/geos/src/geom/Geometry.cpp:179,1
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/Geometry.cpp:180,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/Geometry.cpp:181,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:188,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - baseDim
    argTypes:
    - Dimension::DimensionType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - getNumGeometries
    - getGeometryN
    - getDimension
    - isCollection
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension(Dimension::DimensionType* baseDim)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:199,1
    - Dst: geos::algorithm::Centroid::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:202,1
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    - geos::algorithm::Centroid::getCentroid
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::getCentroid(CoordinateXY& ret) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/Geometry.cpp:212,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:215,1
    - Dst: InteriorPointPoint::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:218,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: InteriorPointLine::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:224,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: InteriorPointArea::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:230,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: geos::geom::Geometry::getInteriorPoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::ensureNoCurvedComponents
    - InteriorPointLine::getInteriorPoint
    - InteriorPointPoint::getInteriorPoint
    - InteriorPointArea::getInteriorPoint
    - getCoordinateDimension
    - getDimension
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getInteriorPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::apply_rw
      Src: /src/geos/src/geom/Geometry.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: geos::geom::Geometry::geometryChanged
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::apply_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::geometryChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidOp
      Src: /src/geos/src/geom/Geometry.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: geos::geom::Geometry::isValid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: geos::geom::Geometry::getEnvelope
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - getEnvelopeInternal
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::getEnvelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::disjoint
      Src: /src/geos/src/geom/Geometry.cpp:265,1
    - Dst: geos::geom::Geometry::intersects
      Src: /src/geos/src/geom/Geometry.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geom::Geometry::disjoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::disjoint
    - geos::geom::Geometry::intersects
    linkageType: ''
    returnType: bool
    signature: bool Geometry::disjoint(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: geos::operation::relateng::RelateNG::touches
      Src: /src/geos/src/geom/Geometry.cpp:282,1
    - Dst: std::unique_ptr::isTouches
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: geos::geom::Geometry::touches
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::touches
    - Geometry*::getDimension
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isTouches
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::touches(const Geometry* g) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:317,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:318,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:319,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:321,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:322,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:323,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:326,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:327,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:330,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: geos::operation::relateng::RelateNG::intersects
      Src: /src/geos/src/geom/Geometry.cpp:336,1
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:339,1
    - Dst: auto::isIntersects
      Src: /src/geos/src/geom/Geometry.cpp:340,1
    - Dst: prepare
      Src: /src/geos/src/geom/Geometry.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 346
    functionName: geos::geom::Geometry::intersects
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - auto::isIntersects
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - getCoordinate
    - Geometry*::isRectangle
    - detail::down_cast<const Surface*>
    - isRectangle
    - geos::operation::predicate::RectangleIntersects::intersects
    - prepare
    - Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::intersects
    - geos::geom::Geometry::relate
    - Geometry*::getCoordinate
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool Geometry::intersects(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::covers
      Src: /src/geos/src/geom/Geometry.cpp:353,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:374,1
    - Dst: std::unique_ptr::isCovers
      Src: /src/geos/src/geom/Geometry.cpp:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 383
    functionName: geos::geom::Geometry::covers
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getLength
    - Geometry*::getDimension
    - isRectangle
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::covers
    - std::unique_ptr::isCovers
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::covers(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::coveredBy
      Src: /src/geos/src/geom/Geometry.cpp:390,1
    - Dst: geos::geom::Geometry::covers
      Src: /src/geos/src/geom/Geometry.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: geos::geom::Geometry::coveredBy
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::covers
    - geos::operation::relateng::RelateNG::coveredBy
    linkageType: ''
    returnType: bool
    signature: bool Geometry::coveredBy(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::crosses
      Src: /src/geos/src/geom/Geometry.cpp:400,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: std::unique_ptr::isCrosses
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: geos::geom::Geometry::crosses
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - getDimension
    - geos::operation::relateng::RelateNG::crosses
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isCrosses
    linkageType: ''
    returnType: bool
    signature: bool Geometry::crosses(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::within
      Src: /src/geos/src/geom/Geometry.cpp:420,1
    - Dst: Geometry*::contains
      Src: /src/geos/src/geom/Geometry.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: geos::geom::Geometry::within
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::within
    - Geometry*::contains
    linkageType: ''
    returnType: bool
    signature: bool Geometry::within(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::contains
      Src: /src/geos/src/geom/Geometry.cpp:430,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:453,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:454,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/Geometry.cpp:455,1
    - Dst: std::unique_ptr::isContains
      Src: /src/geos/src/geom/Geometry.cpp:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 466
    functionName: geos::geom::Geometry::contains
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - Geometry*::getLength
    - geos::operation::relateng::RelateNG::contains
    - Geometry*::getDimension
    - isRectangle
    - std::unique_ptr::isContains
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::contains(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::overlaps
      Src: /src/geos/src/geom/Geometry.cpp:472,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: std::unique_ptr::isOverlaps
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 486
    functionName: geos::geom::Geometry::overlaps
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::overlaps
    - std::unique_ptr::isOverlaps
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::overlaps(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:492,1
    - Dst: std::unique_ptr::matches
      Src: /src/geos/src/geom/Geometry.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - g
    - ' intersectionPattern'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::matches
    linkageType: ''
    returnType: bool
    signature: bool Geometry::relate(const Geometry* g, const std::string& intersectionPattern)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::equalsTopo
      Src: /src/geos/src/geom/Geometry.cpp:504,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:514,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:515,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:517,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:518,1
    - Dst: std::unique_ptr::isEquals
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 525
    functionName: geos::geom::Geometry::equals
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::equalsTopo
    - Geometry*::isEmpty
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isEquals
    - getDimension
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::equals(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:531,1
    - Dst: geos::operation::relate::RelateOp::relate
      Src: /src/geos/src/geom/Geometry.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - geos::operation::relate::RelateOp::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry*
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Geometry::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry&
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::toText
      Src: /src/geos/src/geom/Geometry.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: geos::geom::Geometry::toString
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::toText
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKBWriter::writeHEX
      Src: /src/geos/src/geom/Geometry.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: '&

      operator<< (std::ostream& os, const Geometry& geom)'
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - io::WKBWriter::writeHEX
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Geometry& geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTWriter::write
      Src: /src/geos/src/geom/Geometry.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: geos::geom::Geometry::toText
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_distance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_distance
    - quadrantSegments
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_distance
    - quadrantSegments
    - endCapStyle
    argTypes:
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments,
      int endCapStyle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConvexHull
      Src: /src/geos/src/geom/Geometry.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: geos::geom::Geometry::convexHull
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - ConvexHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::convexHull() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:602,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:603,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:606,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:608,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:609,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:612,1
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 617
    functionName: geos::geom::Geometry::intersection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isRectangle
    - isRectangle
    - getEnvelopeInternal
    - HeuristicOverlay
    - geos::operation::intersection::RectangleIntersection::clip
    - Geometry*::getEnvelopeInternal
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::intersection(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::Union(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/src/geom/Geometry.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::geounion::UnaryUnionOp::Union
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Geometry::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: geos::geom::Geometry::difference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::difference(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: geos::geom::Geometry::symDifference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::symDifference(const Geometry* other)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:660,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:663,1
    - Dst: compareToSameClass
      Src: /src/geos/src/geom/Geometry.cpp:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: geos::geom::Geometry::compareTo
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isEmpty
    - Geometry*::getSortIndex
    - getSortIndex
    - compareToSameClass
    - isEmpty
    linkageType: ''
    returnType: int
    signature: int Geometry::compareTo(const Geometry* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: geos::geom::Geometry::isEquivalentClass
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isEquivalentClass(const Geometry* other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:685,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Geometry.cpp:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: geos::geom::Geometry::checkNotGeometryCollection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getSortIndex
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Geometry::checkNotGeometryCollection(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::geometryChangedAction
      Src: /src/geos/src/geom/Geometry.cpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::geometryChangedAction
    linkageType: ''
    returnType: void
    signature: void Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/src/geom/Geometry.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: geos::geom::Geometry::distance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::distance::DistanceOp::distance
    linkageType: ''
    returnType: double
    signature: double Geometry::distance(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: geos::geom::Geometry::getArea
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: geos::geom::Geometry::getLength
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropRef
      Src: /src/geos/src/geom/Geometry.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: Geometry::~Geometry()
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - dropRef
    linkageType: ''
    returnType: void
    signature: void Geometry::~Geometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::compareTo
      Src: /src/geos/src/geom/Geometry.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::distance
      Src: /src/geos/src/geom/Geometry.cpp:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - tolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: geos::geom::Geometry::equal
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::distance
    linkageType: ''
    returnType: bool
    signature: "bool Geometry::equal(const CoordinateXY& a, const CoordinateXY& b,\n
      \               double tolerance) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::valid::IsSimpleOp::isSimple
      Src: /src/geos/src/geom/Geometry.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: geos::geom::Geometry::isSimple
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - operation::valid::IsSimpleOp::isSimple
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: geos::geom::Geometry::getPrecisionModel
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      Geometry::getPrecisionModel() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: geos::geom::Geometry::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::geosversion
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string geosversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::jtsport
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string jtsport()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/Geometry.cpp:119,1
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:121,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:127,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const Geometry& geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geom/Geometry.cpp:137,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geom/Geometry.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::geom::Geometry::hasNullElements
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasNullElements(const CoordinateSequence* list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/src/geom/Geometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - cDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::Geometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::distance::DistanceOp::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isWithinDistance(const Geometry* geom, double cDistance)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:158,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - getFactory
    - geos::geom::Geometry::getCentroid
    - getCoordinateDimension
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getCentroid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::isMixedDimension
      Src: /src/geos/src/geom/Geometry.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Geometry::isMixedDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isCollection
      Src: /src/geos/src/geom/Geometry.cpp:179,1
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/Geometry.cpp:180,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/Geometry.cpp:181,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:188,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - baseDim
    argTypes:
    - Dimension::DimensionType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - getNumGeometries
    - getGeometryN
    - getDimension
    - isCollection
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension(Dimension::DimensionType* baseDim)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:199,1
    - Dst: geos::algorithm::Centroid::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:202,1
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    - geos::algorithm::Centroid::getCentroid
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::getCentroid(CoordinateXY& ret) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/Geometry.cpp:212,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:215,1
    - Dst: InteriorPointPoint::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:218,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: InteriorPointLine::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:224,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: InteriorPointArea::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:230,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: geos::geom::Geometry::getInteriorPoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::ensureNoCurvedComponents
    - InteriorPointLine::getInteriorPoint
    - InteriorPointPoint::getInteriorPoint
    - InteriorPointArea::getInteriorPoint
    - getCoordinateDimension
    - getDimension
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getInteriorPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::apply_rw
      Src: /src/geos/src/geom/Geometry.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: geos::geom::Geometry::geometryChanged
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::apply_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::geometryChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidOp
      Src: /src/geos/src/geom/Geometry.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: geos::geom::Geometry::isValid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: geos::geom::Geometry::getEnvelope
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - getEnvelopeInternal
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::getEnvelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::disjoint
      Src: /src/geos/src/geom/Geometry.cpp:265,1
    - Dst: geos::geom::Geometry::intersects
      Src: /src/geos/src/geom/Geometry.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geom::Geometry::disjoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::disjoint
    - geos::geom::Geometry::intersects
    linkageType: ''
    returnType: bool
    signature: bool Geometry::disjoint(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: geos::operation::relateng::RelateNG::touches
      Src: /src/geos/src/geom/Geometry.cpp:282,1
    - Dst: std::unique_ptr::isTouches
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: geos::geom::Geometry::touches
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::touches
    - Geometry*::getDimension
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isTouches
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::touches(const Geometry* g) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:317,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:318,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:319,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:321,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:322,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:323,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:326,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:327,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:330,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: geos::operation::relateng::RelateNG::intersects
      Src: /src/geos/src/geom/Geometry.cpp:336,1
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:339,1
    - Dst: auto::isIntersects
      Src: /src/geos/src/geom/Geometry.cpp:340,1
    - Dst: prepare
      Src: /src/geos/src/geom/Geometry.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 346
    functionName: geos::geom::Geometry::intersects
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - auto::isIntersects
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - getCoordinate
    - Geometry*::isRectangle
    - detail::down_cast<const Surface*>
    - isRectangle
    - geos::operation::predicate::RectangleIntersects::intersects
    - prepare
    - Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::intersects
    - geos::geom::Geometry::relate
    - Geometry*::getCoordinate
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool Geometry::intersects(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::covers
      Src: /src/geos/src/geom/Geometry.cpp:353,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:374,1
    - Dst: std::unique_ptr::isCovers
      Src: /src/geos/src/geom/Geometry.cpp:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 383
    functionName: geos::geom::Geometry::covers
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getLength
    - Geometry*::getDimension
    - isRectangle
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::covers
    - std::unique_ptr::isCovers
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::covers(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::coveredBy
      Src: /src/geos/src/geom/Geometry.cpp:390,1
    - Dst: geos::geom::Geometry::covers
      Src: /src/geos/src/geom/Geometry.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: geos::geom::Geometry::coveredBy
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::covers
    - geos::operation::relateng::RelateNG::coveredBy
    linkageType: ''
    returnType: bool
    signature: bool Geometry::coveredBy(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::crosses
      Src: /src/geos/src/geom/Geometry.cpp:400,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: std::unique_ptr::isCrosses
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: geos::geom::Geometry::crosses
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - getDimension
    - geos::operation::relateng::RelateNG::crosses
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isCrosses
    linkageType: ''
    returnType: bool
    signature: bool Geometry::crosses(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::within
      Src: /src/geos/src/geom/Geometry.cpp:420,1
    - Dst: Geometry*::contains
      Src: /src/geos/src/geom/Geometry.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: geos::geom::Geometry::within
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::within
    - Geometry*::contains
    linkageType: ''
    returnType: bool
    signature: bool Geometry::within(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::contains
      Src: /src/geos/src/geom/Geometry.cpp:430,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:453,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:454,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/Geometry.cpp:455,1
    - Dst: std::unique_ptr::isContains
      Src: /src/geos/src/geom/Geometry.cpp:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 466
    functionName: geos::geom::Geometry::contains
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - Geometry*::getLength
    - geos::operation::relateng::RelateNG::contains
    - Geometry*::getDimension
    - isRectangle
    - std::unique_ptr::isContains
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::contains(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::overlaps
      Src: /src/geos/src/geom/Geometry.cpp:472,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: std::unique_ptr::isOverlaps
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 486
    functionName: geos::geom::Geometry::overlaps
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::overlaps
    - std::unique_ptr::isOverlaps
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::overlaps(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:492,1
    - Dst: std::unique_ptr::matches
      Src: /src/geos/src/geom/Geometry.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - g
    - ' intersectionPattern'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::matches
    linkageType: ''
    returnType: bool
    signature: bool Geometry::relate(const Geometry* g, const std::string& intersectionPattern)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::equalsTopo
      Src: /src/geos/src/geom/Geometry.cpp:504,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:514,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:515,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:517,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:518,1
    - Dst: std::unique_ptr::isEquals
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 525
    functionName: geos::geom::Geometry::equals
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::equalsTopo
    - Geometry*::isEmpty
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isEquals
    - getDimension
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::equals(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:531,1
    - Dst: geos::operation::relate::RelateOp::relate
      Src: /src/geos/src/geom/Geometry.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - geos::operation::relate::RelateOp::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry*
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::Geometry::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry&
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::toText
      Src: /src/geos/src/geom/Geometry.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: geos::geom::Geometry::toString
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::toText
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKBWriter::writeHEX
      Src: /src/geos/src/geom/Geometry.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: '&

      operator<< (std::ostream& os, const Geometry& geom)'
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - io::WKBWriter::writeHEX
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Geometry& geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTWriter::write
      Src: /src/geos/src/geom/Geometry.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: geos::geom::Geometry::toText
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_distance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_distance
    - quadrantSegments
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_distance
    - quadrantSegments
    - endCapStyle
    argTypes:
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments,
      int endCapStyle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConvexHull
      Src: /src/geos/src/geom/Geometry.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: geos::geom::Geometry::convexHull
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - ConvexHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::convexHull() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:602,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:603,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:606,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:608,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:609,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:612,1
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 617
    functionName: geos::geom::Geometry::intersection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isRectangle
    - isRectangle
    - getEnvelopeInternal
    - HeuristicOverlay
    - geos::operation::intersection::RectangleIntersection::clip
    - Geometry*::getEnvelopeInternal
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::intersection(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::Union(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/src/geom/Geometry.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::geounion::UnaryUnionOp::Union
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Geometry::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: geos::geom::Geometry::difference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::difference(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: geos::geom::Geometry::symDifference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::symDifference(const Geometry* other)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:660,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:663,1
    - Dst: compareToSameClass
      Src: /src/geos/src/geom/Geometry.cpp:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: geos::geom::Geometry::compareTo
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isEmpty
    - Geometry*::getSortIndex
    - getSortIndex
    - compareToSameClass
    - isEmpty
    linkageType: ''
    returnType: int
    signature: int Geometry::compareTo(const Geometry* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: geos::geom::Geometry::isEquivalentClass
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isEquivalentClass(const Geometry* other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:685,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Geometry.cpp:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: geos::geom::Geometry::checkNotGeometryCollection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getSortIndex
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Geometry::checkNotGeometryCollection(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::geometryChangedAction
      Src: /src/geos/src/geom/Geometry.cpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::geometryChangedAction
    linkageType: ''
    returnType: void
    signature: void Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/src/geom/Geometry.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: geos::geom::Geometry::distance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::distance::DistanceOp::distance
    linkageType: ''
    returnType: double
    signature: double Geometry::distance(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: geos::geom::Geometry::getArea
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: geos::geom::Geometry::getLength
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropRef
      Src: /src/geos/src/geom/Geometry.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: Geometry::~Geometry()
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - dropRef
    linkageType: ''
    returnType: void
    signature: void Geometry::~Geometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::compareTo
      Src: /src/geos/src/geom/Geometry.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::distance
      Src: /src/geos/src/geom/Geometry.cpp:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - tolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: geos::geom::Geometry::equal
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::distance
    linkageType: ''
    returnType: bool
    signature: "bool Geometry::equal(const CoordinateXY& a, const CoordinateXY& b,\n
      \               double tolerance) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::valid::IsSimpleOp::isSimple
      Src: /src/geos/src/geom/Geometry.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: geos::geom::Geometry::isSimple
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - operation::valid::IsSimpleOp::isSimple
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: geos::geom::Geometry::getPrecisionModel
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      Geometry::getPrecisionModel() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: geos::geom::Geometry::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::geosversion
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string geosversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::jtsport
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string jtsport()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/Geometry.cpp:119,1
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:121,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSRID
      Src: /src/geos/src/geom/Geometry.cpp:127,1
    - Dst: addRef
      Src: /src/geos/src/geom/Geometry.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: geos::geom::Geometry::Geometry
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getSRID
    - addRef
    linkageType: ''
    returnType: void
    signature: void Geometry::Geometry(const Geometry& geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geom/Geometry.cpp:137,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geom/Geometry.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: geos::geom::Geometry::hasNullElements
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasNullElements(const CoordinateSequence* list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::isWithinDistance
      Src: /src/geos/src/geom/Geometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - cDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::Geometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::distance::DistanceOp::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isWithinDistance(const Geometry* geom, double cDistance)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:158,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:159,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - getFactory
    - geos::geom::Geometry::getCentroid
    - getCoordinateDimension
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getCentroid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::isMixedDimension
      Src: /src/geos/src/geom/Geometry.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Geometry::isMixedDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isCollection
      Src: /src/geos/src/geom/Geometry.cpp:179,1
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/Geometry.cpp:180,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/Geometry.cpp:181,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:188,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - baseDim
    argTypes:
    - Dimension::DimensionType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: geos::geom::Geometry::isMixedDimension
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - getNumGeometries
    - getGeometryN
    - getDimension
    - isCollection
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isMixedDimension(Dimension::DimensionType* baseDim)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:199,1
    - Dst: geos::algorithm::Centroid::getCentroid
      Src: /src/geos/src/geom/Geometry.cpp:202,1
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' ret'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: geos::geom::Geometry::getCentroid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    - geos::algorithm::Centroid::getCentroid
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::getCentroid(CoordinateXY& ret) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/Geometry.cpp:212,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:215,1
    - Dst: InteriorPointPoint::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:218,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:219,1
    - Dst: InteriorPointLine::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:224,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:225,1
    - Dst: InteriorPointArea::getInteriorPoint
      Src: /src/geos/src/geom/Geometry.cpp:230,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/Geometry.cpp:231,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: geos::geom::Geometry::getInteriorPoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::util::ensureNoCurvedComponents
    - InteriorPointLine::getInteriorPoint
    - InteriorPointPoint::getInteriorPoint
    - InteriorPointArea::getInteriorPoint
    - getCoordinateDimension
    - getDimension
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> Geometry::getInteriorPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::apply_rw
      Src: /src/geos/src/geom/Geometry.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: geos::geom::Geometry::geometryChanged
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::apply_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::geometryChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsValidOp
      Src: /src/geos/src/geom/Geometry.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: geos::geom::Geometry::isValid
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - IsValidOp
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: geos::geom::Geometry::getEnvelope
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - getEnvelopeInternal
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::getEnvelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::disjoint
      Src: /src/geos/src/geom/Geometry.cpp:265,1
    - Dst: geos::geom::Geometry::intersects
      Src: /src/geos/src/geom/Geometry.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geom::Geometry::disjoint
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::disjoint
    - geos::geom::Geometry::intersects
    linkageType: ''
    returnType: bool
    signature: bool Geometry::disjoint(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:276,1
    - Dst: geos::operation::relateng::RelateNG::touches
      Src: /src/geos/src/geom/Geometry.cpp:282,1
    - Dst: std::unique_ptr::isTouches
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: geos::geom::Geometry::touches
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::touches
    - Geometry*::getDimension
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isTouches
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::touches(const Geometry* g) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:295,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:317,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:318,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:319,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:321,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:322,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/Geometry.cpp:323,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:326,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:327,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:328,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/Geometry.cpp:330,1
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Geometry.cpp:331,1
    - Dst: geos::operation::relateng::RelateNG::intersects
      Src: /src/geos/src/geom/Geometry.cpp:336,1
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:339,1
    - Dst: auto::isIntersects
      Src: /src/geos/src/geom/Geometry.cpp:340,1
    - Dst: prepare
      Src: /src/geos/src/geom/Geometry.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 346
    functionName: geos::geom::Geometry::intersects
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - auto::isIntersects
    - geos::algorithm::locate::SimplePointInAreaLocator::locatePointInSurface
    - getCoordinate
    - Geometry*::isRectangle
    - detail::down_cast<const Surface*>
    - isRectangle
    - geos::operation::predicate::RectangleIntersects::intersects
    - prepare
    - Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::intersects
    - geos::geom::Geometry::relate
    - Geometry*::getCoordinate
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getGeometryTypeId
    linkageType: ''
    returnType: bool
    signature: bool Geometry::intersects(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::covers
      Src: /src/geos/src/geom/Geometry.cpp:353,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:356,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:362,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:368,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:374,1
    - Dst: std::unique_ptr::isCovers
      Src: /src/geos/src/geom/Geometry.cpp:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 383
    functionName: geos::geom::Geometry::covers
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getLength
    - Geometry*::getDimension
    - isRectangle
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::covers
    - std::unique_ptr::isCovers
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::covers(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::coveredBy
      Src: /src/geos/src/geom/Geometry.cpp:390,1
    - Dst: geos::geom::Geometry::covers
      Src: /src/geos/src/geom/Geometry.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: geos::geom::Geometry::coveredBy
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::covers
    - geos::operation::relateng::RelateNG::coveredBy
    linkageType: ''
    returnType: bool
    signature: bool Geometry::coveredBy(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::crosses
      Src: /src/geos/src/geom/Geometry.cpp:400,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:405,1
    - Dst: std::unique_ptr::isCrosses
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 414
    functionName: geos::geom::Geometry::crosses
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - getDimension
    - geos::operation::relateng::RelateNG::crosses
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isCrosses
    linkageType: ''
    returnType: bool
    signature: bool Geometry::crosses(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::within
      Src: /src/geos/src/geom/Geometry.cpp:420,1
    - Dst: Geometry*::contains
      Src: /src/geos/src/geom/Geometry.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: geos::geom::Geometry::within
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::relateng::RelateNG::within
    - Geometry*::contains
    linkageType: ''
    returnType: bool
    signature: bool Geometry::within(const Geometry* g) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::contains
      Src: /src/geos/src/geom/Geometry.cpp:430,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:434,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/geom/Geometry.cpp:441,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:447,1
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:453,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/Geometry.cpp:454,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/Geometry.cpp:455,1
    - Dst: std::unique_ptr::isContains
      Src: /src/geos/src/geom/Geometry.cpp:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 466
    functionName: geos::geom::Geometry::contains
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - Geometry*::getLength
    - geos::operation::relateng::RelateNG::contains
    - Geometry*::getDimension
    - isRectangle
    - std::unique_ptr::isContains
    - getEnvelopeInternal
    - Geometry*::getEnvelopeInternal
    - detail::down_cast<const Polygon*>
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::contains(const Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::overlaps
      Src: /src/geos/src/geom/Geometry.cpp:472,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:477,1
    - Dst: std::unique_ptr::isOverlaps
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 486
    functionName: geos::geom::Geometry::overlaps
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::overlaps
    - std::unique_ptr::isOverlaps
    - Geometry*::getEnvelopeInternal
    - getDimension
    linkageType: ''
    returnType: bool
    signature: bool Geometry::overlaps(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:492,1
    - Dst: std::unique_ptr::matches
      Src: /src/geos/src/geom/Geometry.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - g
    - ' intersectionPattern'
    argTypes:
    - Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - std::unique_ptr::matches
    linkageType: ''
    returnType: bool
    signature: bool Geometry::relate(const Geometry* g, const std::string& intersectionPattern)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::equalsTopo
      Src: /src/geos/src/geom/Geometry.cpp:504,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:509,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:514,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:515,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:517,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:518,1
    - Dst: std::unique_ptr::isEquals
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/Geometry.cpp:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 525
    functionName: geos::geom::Geometry::equals
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - getEnvelopeInternal
    - geos::operation::relateng::RelateNG::equalsTopo
    - Geometry*::isEmpty
    - Geometry*::getEnvelopeInternal
    - std::unique_ptr::isEquals
    - getDimension
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Geometry::equals(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::relateng::RelateNG::relate
      Src: /src/geos/src/geom/Geometry.cpp:531,1
    - Dst: geos::operation::relate::RelateOp::relate
      Src: /src/geos/src/geom/Geometry.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::relateng::RelateNG::relate
    - geos::operation::relate::RelateOp::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry*
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::relate
      Src: /src/geos/src/geom/Geometry.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: geos::geom::Geometry::relate
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::Geometry::relate
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> Geometry::relate(const Geometry&
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::toText
      Src: /src/geos/src/geom/Geometry.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: geos::geom::Geometry::toString
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::toText
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKBWriter::writeHEX
      Src: /src/geos/src/geom/Geometry.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: '&

      operator<< (std::ostream& os, const Geometry& geom)'
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - io::WKBWriter::writeHEX
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Geometry& geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::WKTWriter::write
      Src: /src/geos/src/geom/Geometry.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: geos::geom::Geometry::toText
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - io::WKTWriter::write
    linkageType: ''
    returnType: std::string
    signature: std::string Geometry::toText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_distance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_distance
    - quadrantSegments
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    - Dst: geos::operation::buffer::BufferOp::bufferOp
      Src: /src/geos/src/geom/Geometry.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_distance
    - quadrantSegments
    - endCapStyle
    argTypes:
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: geos::geom::Geometry::buffer
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::buffer::BufferOp::bufferOp
    - std::unique_ptr<Geometry>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::buffer(double p_distance, int quadrantSegments,
      int endCapStyle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConvexHull
      Src: /src/geos/src/geom/Geometry.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: geos::geom::Geometry::convexHull
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - ConvexHull
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::convexHull() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:602,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:603,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:604,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:605,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:606,1
    - Dst: Geometry*::isRectangle
      Src: /src/geos/src/geom/Geometry.cpp:608,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/Geometry.cpp:609,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/Geometry.cpp:610,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/Geometry.cpp:611,1
    - Dst: geos::operation::intersection::RectangleIntersection::clip
      Src: /src/geos/src/geom/Geometry.cpp:612,1
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 617
    functionName: geos::geom::Geometry::intersection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isRectangle
    - isRectangle
    - getEnvelopeInternal
    - HeuristicOverlay
    - geos::operation::intersection::RectangleIntersection::clip
    - Geometry*::getEnvelopeInternal
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::intersection(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::Union(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::UnaryUnionOp::Union
      Src: /src/geos/src/geom/Geometry.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: geos::geom::Geometry::Union
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::geounion::UnaryUnionOp::Union
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Geometry::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: geos::geom::Geometry::difference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::difference(const Geometry* other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeuristicOverlay
      Src: /src/geos/src/geom/Geometry.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: geos::geom::Geometry::symDifference
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - HeuristicOverlay
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Geometry::symDifference(const Geometry* other)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:653,1
    - Dst: getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:654,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:657,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:660,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Geometry.cpp:663,1
    - Dst: compareToSameClass
      Src: /src/geos/src/geom/Geometry.cpp:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: geos::geom::Geometry::compareTo
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::isEmpty
    - Geometry*::getSortIndex
    - getSortIndex
    - compareToSameClass
    - isEmpty
    linkageType: ''
    returnType: int
    signature: int Geometry::compareTo(const Geometry* geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    - Dst: typeid
      Src: /src/geos/src/geom/Geometry.cpp:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: geos::geom::Geometry::isEquivalentClass
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - typeid
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isEquivalentClass(const Geometry* other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getSortIndex
      Src: /src/geos/src/geom/Geometry.cpp:685,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Geometry.cpp:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: geos::geom::Geometry::checkNotGeometryCollection
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getSortIndex
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Geometry::checkNotGeometryCollection(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::geometryChangedAction
      Src: /src/geos/src/geom/Geometry.cpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::geometryChangedAction
    linkageType: ''
    returnType: void
    signature: void Geometry::GeometryChangedFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::distance::DistanceOp::distance
      Src: /src/geos/src/geom/Geometry.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: geos::geom::Geometry::distance
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::distance::DistanceOp::distance
    linkageType: ''
    returnType: double
    signature: double Geometry::distance(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: geos::geom::Geometry::getArea
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: geos::geom::Geometry::getLength
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Geometry::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropRef
      Src: /src/geos/src/geom/Geometry.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: Geometry::~Geometry()
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - dropRef
    linkageType: ''
    returnType: void
    signature: void Geometry::~Geometry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::compareTo
      Src: /src/geos/src/geom/Geometry.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::compareTo
    linkageType: ''
    returnType: bool
    signature: bool GeometryGreaterThen::operator()(const Geometry* first, const Geometry*
      second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::distance
      Src: /src/geos/src/geom/Geometry.cpp:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - tolerance
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: geos::geom::Geometry::equal
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Geometry::distance
    linkageType: ''
    returnType: bool
    signature: "bool Geometry::equal(const CoordinateXY& a, const CoordinateXY& b,\n
      \               double tolerance) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Geometry.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: geos::geom::Geometry::apply_ro
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Geometry.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: geos::geom::Geometry::apply_rw
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 4
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Geometry::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::valid::IsSimpleOp::isSimple
      Src: /src/geos/src/geom/Geometry.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: geos::geom::Geometry::isSimple
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached:
    - operation::valid::IsSimpleOp::isSimple
    linkageType: ''
    returnType: bool
    signature: bool Geometry::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Geometry::getPrecisionModel
      Src: /src/geos/src/geom/Geometry.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: geos::geom::Geometry::getPrecisionModel
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::Geometry::getPrecisionModel
    linkageType: ''
    returnType: PrecisionModel
    signature: 'PrecisionModel *

      Geometry::getPrecisionModel() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: geos::geom::Geometry::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/Geometry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Geometry::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:26,1
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:33,1
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:40,1
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:47,1
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/geom/Curve.cpp:54,1
    - Dst: isSimple
      Src: /src/geos/src/geom/Curve.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::geom::Curve::isRing
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - isClosed
    - isSimple
    linkageType: ''
    returnType: bool
    signature: bool Curve::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:26,1
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:33,1
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:40,1
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:47,1
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/geom/Curve.cpp:54,1
    - Dst: isSimple
      Src: /src/geos/src/geom/Curve.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::geom::Curve::isRing
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - isClosed
    - isSimple
    linkageType: ''
    returnType: bool
    signature: bool Curve::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:26,1
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:33,1
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:40,1
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:47,1
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/geom/Curve.cpp:54,1
    - Dst: isSimple
      Src: /src/geos/src/geom/Curve.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::geom::Curve::isRing
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - isClosed
    - isSimple
    linkageType: ''
    returnType: bool
    signature: bool Curve::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:26,1
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:33,1
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Curve.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: geos::geom::Curve::apply_ro
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:40,1
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/Curve.cpp:47,1
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Curve.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts:
    - condition: (filter)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/geom/Curve.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: geos::geom::Curve::apply_rw
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    - assert
    linkageType: ''
    returnType: void
    signature: void Curve::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isClosed
      Src: /src/geos/src/geom/Curve.cpp:54,1
    - Dst: isSimple
      Src: /src/geos/src/geom/Curve.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::geom::Curve::isRing
    functionSourceFile: /src/geos/src/geom/Curve.cpp
    functionUses: 0
    functionsReached:
    - isClosed
    - isSimple
    linkageType: ''
    returnType: bool
    signature: bool Curve::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:28,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: geos::geom::GeometryComponentFilter::filter_rw
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:35,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::GeometryComponentFilter::filter_ro
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:28,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: geos::geom::GeometryComponentFilter::filter_rw
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:35,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::GeometryComponentFilter::filter_ro
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:28,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: geos::geom::GeometryComponentFilter::filter_rw
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:35,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::GeometryComponentFilter::filter_ro
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:28,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: geos::geom::GeometryComponentFilter::filter_rw
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_rw(Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:35,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryComponentFilter.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/geos/src/geom/GeometryComponentFilter.cpp
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: geos::geom::GeometryComponentFilter::filter_ro
    functionSourceFile: /src/geos/src/geom/GeometryComponentFilter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void GeometryComponentFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: LineString::~LineString()
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::~LineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::LineString(const LineString& ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:61,1
    - Dst: geos::geom::LineString::validateConstruction
      Src: /src/geos/src/geom/LineString.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::LineString::validateConstruction
    linkageType: ''
    returnType: void
    signature: "void LineString::LineString(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LineString.cpp:69,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:70,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:74,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LineString.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/geom/LineString.cpp
    - condition: (getFactory())
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geom/LineString.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::geom::LineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LineString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:85,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineString.cpp:86,1
    - Dst: size
      Src: /src/geos/src/geom/LineString.cpp:90,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LineString.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::geom::LineString::validateConstruction
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 1
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LineString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::geom::LineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LineString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Length::ofLine
      Src: /src/geos/src/geom/LineString.cpp:106,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: geos::geom::LineString::getLength
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Length::ofLine
    - get
    linkageType: ''
    returnType: double
    signature: double LineString::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: geos::geom::LineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LineString::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: LineString::~LineString()
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::~LineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::LineString(const LineString& ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:61,1
    - Dst: geos::geom::LineString::validateConstruction
      Src: /src/geos/src/geom/LineString.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::LineString::validateConstruction
    linkageType: ''
    returnType: void
    signature: "void LineString::LineString(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LineString.cpp:69,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:70,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:74,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LineString.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/geom/LineString.cpp
    - condition: (getFactory())
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geom/LineString.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::geom::LineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LineString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:85,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineString.cpp:86,1
    - Dst: size
      Src: /src/geos/src/geom/LineString.cpp:90,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LineString.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::geom::LineString::validateConstruction
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LineString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::geom::LineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LineString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Length::ofLine
      Src: /src/geos/src/geom/LineString.cpp:106,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: geos::geom::LineString::getLength
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Length::ofLine
    - get
    linkageType: ''
    returnType: double
    signature: double LineString::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: geos::geom::LineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LineString::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: LineString::~LineString()
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::~LineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::LineString(const LineString& ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:61,1
    - Dst: geos::geom::LineString::validateConstruction
      Src: /src/geos/src/geom/LineString.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::LineString::validateConstruction
    linkageType: ''
    returnType: void
    signature: "void LineString::LineString(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LineString.cpp:69,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:70,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:74,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LineString.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/geom/LineString.cpp
    - condition: (getFactory())
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geom/LineString.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::geom::LineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LineString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:85,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineString.cpp:86,1
    - Dst: size
      Src: /src/geos/src/geom/LineString.cpp:90,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LineString.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::geom::LineString::validateConstruction
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LineString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::geom::LineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LineString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Length::ofLine
      Src: /src/geos/src/geom/LineString.cpp:106,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: geos::geom::LineString::getLength
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Length::ofLine
    - get
    linkageType: ''
    returnType: double
    signature: double LineString::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: geos::geom::LineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LineString::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: LineString::~LineString()
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::~LineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineString::LineString(const LineString& ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:61,1
    - Dst: geos::geom::LineString::validateConstruction
      Src: /src/geos/src/geom/LineString.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::geom::LineString::LineString
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::LineString::validateConstruction
    linkageType: ''
    returnType: void
    signature: "void LineString::LineString(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& factory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LineString.cpp:69,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:70,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:73,1
    - Dst: clone
      Src: /src/geos/src/geom/LineString.cpp:74,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LineString.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:76,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LineString.cpp:77,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineString.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/geom/LineString.cpp
    - condition: (getFactory())
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geom/LineString.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: geos::geom::LineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LineString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:85,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineString.cpp:86,1
    - Dst: size
      Src: /src/geos/src/geom/LineString.cpp:90,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LineString.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::geom::LineString::validateConstruction
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LineString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::geom::LineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LineString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Length::ofLine
      Src: /src/geos/src/geom/LineString.cpp:106,1
    - Dst: get
      Src: /src/geos/src/geom/LineString.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: geos::geom::LineString::getLength
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Length::ofLine
    - get
    linkageType: ''
    returnType: double
    signature: double LineString::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: geos::geom::LineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LineString::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::geom::CoordinateSequence::CoordinateSequence
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::CoordinateSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::geom::CoordinateSequence::CoordinateSequence
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::CoordinateSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::geom::CoordinateSequence::CoordinateSequence
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::CoordinateSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::geom::CoordinateSequence::CoordinateSequence
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::CoordinateSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/geom/CoordinateSequence.cpp:94,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:94,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:95,1
    - Dst: begin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:95,1
    - Dst: end
      Src: /src/geos/src/geom/CoordinateSequence.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' list'
    argTypes:
    - std::initializer_list<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: CoordinateSequence::CoordinateSequence
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 110
    functionsReached:
    - reserve
    - CoordinateSequence::add
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::CoordinateSequence(const std::initializer_list<Coordinate>&
      list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/geos/src/geom/CoordinateSequence.cpp:132,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:132,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:133,1
    - Dst: begin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:133,1
    - Dst: end
      Src: /src/geos/src/geom/CoordinateSequence.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' list'
    argTypes:
    - std::initializer_list<CoordinateXYZM>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: CoordinateSequence::CoordinateSequence
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 110
    functionsReached:
    - reserve
    - CoordinateSequence::add
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::CoordinateSequence(const std::initializer_list<CoordinateXYZM>&
      list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:140,1
    - Dst: data
      Src: /src/geos/src/geom/CoordinateSequence.cpp:140,1
    - Dst: reinterpret_cast<T*>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:141,1
    - Dst: data
      Src: /src/geos/src/geom/CoordinateSequence.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:141,1
    - Dst: std::fill
      Src: /src/geos/src/geom/CoordinateSequence.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: fillVector
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - std::fill
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void fillVector(std::vector<double> & v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:148,1
    - Dst: fillVector
      Src: /src/geos/src/geom/CoordinateSequence.cpp:149,1
    - Dst: fillVector
      Src: /src/geos/src/geom/CoordinateSequence.cpp:150,1
    - Dst: fillVector
      Src: /src/geos/src/geom/CoordinateSequence.cpp:151,1
    - Dst: fillVector
      Src: /src/geos/src/geom/CoordinateSequence.cpp:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: CoordinateSequence::initialize
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateType
    - fillVector
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::initialize()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:159,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:159,1
    - Dst: hasM
      Src: /src/geos/src/geom/CoordinateSequence.cpp:159,1
    - Dst: hasM
      Src: /src/geos/src/geom/CoordinateSequence.cpp:159,1
    - Dst: insert
      Src: /src/geos/src/geom/CoordinateSequence.cpp:160,1
    - Dst: end
      Src: /src/geos/src/geom/CoordinateSequence.cpp:160,1
    - Dst: std::next
      Src: /src/geos/src/geom/CoordinateSequence.cpp:161,1
    - Dst: m_vect::cbegin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:161,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:161,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:161,1
    - Dst: std::next
      Src: /src/geos/src/geom/CoordinateSequence.cpp:162,1
    - Dst: m_vect::cbegin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:162,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:162,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:162,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:164,1
    - Dst: make_space
      Src: /src/geos/src/geom/CoordinateSequence.cpp:165,1
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:167,1
    - Dst: forEach
      Src: /src/geos/src/geom/CoordinateSequence.cpp:168,1
    - Dst: setAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:168,1
    - Dst: forEach
      Src: /src/geos/src/geom/CoordinateSequence.cpp:169,1
    - Dst: setAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:169,1
    - Dst: forEach
      Src: /src/geos/src/geom/CoordinateSequence.cpp:170,1
    - Dst: setAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:170,1
    - Dst: forEach
      Src: /src/geos/src/geom/CoordinateSequence.cpp:171,1
    - Dst: setAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ' cs'
    - from
    - to
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: CoordinateSequence::add
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 102
    functionsReached:
    - forEach
    - make_space
    - insert
    - size
    - m_vect::cbegin
    - static_cast<std::ptrdiff_t>
    - stride
    - setAt
    - std::next
    - hasM
    - getCoordinateType
    - end
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::add(const CoordinateSequence& cs, std::size_t
      from, std::size_t to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:179,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cs'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: CoordinateSequence::add
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 103
    functionsReached:
    - CoordinateSequence::add
    - size
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::add(const CoordinateSequence& cs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:186,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/CoordinateSequence.cpp:193,1
    - Dst: getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:194,1
    - Dst: back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:194,1
    - Dst: getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:205,1
    - Dst: getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:207,1
    - Dst: CoordinateXY*::equals2D
      Src: /src/geos/src/geom/CoordinateSequence.cpp:208,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:210,1
    - Dst: getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:213,1
    - Dst: getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:217,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:227,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - ' cs'
    - from
    - to
    - allowRepeated
    argTypes:
    - CoordinateSequence
    - std::size_t
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 229
    functionName: CoordinateSequence::add
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 104
    functionsReached:
    - CoordinateSequence::add
    - getAt
    - CoordinateXY*::equals2D
    - back
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::add(const CoordinateSequence& cs, std::size_t
      from, std::size_t to, bool allowRepeated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CoordinateSequence.cpp:233,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:234,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' cs'
    - allowRepeated
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: CoordinateSequence::add
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 105
    functionsReached:
    - CoordinateSequence::add
    - size
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::add(const CoordinateSequence& cs, bool allowRepeated)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:242,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/src/geom/CoordinateSequence.cpp:245,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/CoordinateSequence.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' cl'
    - allowRepeated
    - forwardDirection
    argTypes:
    - CoordinateSequence
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: CoordinateSequence::add
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 106
    functionsReached:
    - CoordinateSequence::add
    - CoordinateSequence::reverse
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::add(const CoordinateSequence& cl, bool allowRepeated,
      bool forwardDirection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: CoordinateSequence::clone
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 4
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CoordinateSequence::clone() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CoordinateSequence.cpp:263,1
    - Dst: front
      Src: /src/geos/src/geom/CoordinateSequence.cpp:263,1
    - Dst: back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:263,1
    - Dst: insert
      Src: /src/geos/src/geom/CoordinateSequence.cpp:264,1
    - Dst: end
      Src: /src/geos/src/geom/CoordinateSequence.cpp:264,1
    - Dst: begin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:265,1
    - Dst: std::next
      Src: /src/geos/src/geom/CoordinateSequence.cpp:266,1
    - Dst: begin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:266,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - allowRepeated
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: CoordinateSequence::closeRing
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 10
    functionsReached:
    - insert
    - stride
    - back
    - front
    - isEmpty
    - begin
    - std::next
    - end
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::closeRing(bool allowRepeated)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:274,1
    - Dst: hasM
      Src: /src/geos/src/geom/CoordinateSequence.cpp:274,1
    - Dst: hasZ
      Src: /src/geos/src/geom/CoordinateSequence.cpp:274,1
    - Dst: empty
      Src: /src/geos/src/geom/CoordinateSequence.cpp:277,1
    - Dst: assert
      Src: /src/geos/src/geom/CoordinateSequence.cpp:281,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:281,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/CoordinateSequence.cpp:283,1
    - Dst: getAt<Coordinate>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:283,1
    - Dst: CoordinateSequence::getDimension
      Src: /src/geos/src/geom/CoordinateSequence.cpp:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (stride() >= 3)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/geos/src/geom/CoordinateSequence.cpp
    constantsTouched: []
    func_position:
      end: 288
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 288
    functionName: CoordinateSequence::getDimension
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 27
    functionsReached:
    - CoordinateSequence::getDimension
    - getAt<Coordinate>
    - hasZ
    - stride
    - std::isnan
    - static_cast<std::size_t>
    - assert
    - hasM
    - empty
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CoordinateSequence::getDimension() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getAt<CoordinateXY>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:296,1
    - Dst: getAt<CoordinateXY>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:298,1
    - Dst: hasZ
      Src: /src/geos/src/geom/CoordinateSequence.cpp:300,1
    - Dst: getAt<Coordinate>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:300,1
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:302,1
    - Dst: getAt<CoordinateXYZM>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:302,1
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:303,1
    - Dst: getAt<CoordinateXYM>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - index
    - ordinateIndex
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: CoordinateSequence::getOrdinate
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - getAt<CoordinateXY>
    - getAt<Coordinate>
    - getAt<CoordinateXYM>
    - hasZ
    - getAt<CoordinateXYZM>
    - getCoordinateType
    linkageType: ''
    returnType: double
    signature: double CoordinateSequence::getOrdinate(std::size_t index, std::size_t
      ordinateIndex) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:315,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:315,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:315,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:316,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: CoordinateSequence::hasRepeatedPoints
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 8
    functionsReached:
    - size
    - stride
    linkageType: ''
    returnType: bool
    signature: bool CoordinateSequence::hasRepeatedPoints() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/geos/src/geom/CoordinateSequence.cpp:327,1
    - Dst: std::isfinite
      Src: /src/geos/src/geom/CoordinateSequence.cpp:327,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:332,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:332,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:332,1
    - Dst: std::isfinite
      Src: /src/geos/src/geom/CoordinateSequence.cpp:333,1
    - Dst: std::isfinite
      Src: /src/geos/src/geom/CoordinateSequence.cpp:333,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:336,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 341
    functionName: CoordinateSequence::hasRepeatedOrInvalidPoints
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - size
    - stride
    linkageType: ''
    returnType: bool
    signature: bool CoordinateSequence::hasRepeatedOrInvalidPoints() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geom/CoordinateSequence.cpp:352,1
    - Dst: CoordinateSequence*::getDimension
      Src: /src/geos/src/geom/CoordinateSequence.cpp:357,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geom/CoordinateSequence.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - std::size_t
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 359
    functionName: CoordinateSequence::atLeastNCoordinatesOrNothing
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - CoordinateSequence*::getDimension
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: CoordinateSequence
    signature: "CoordinateSequence *\nCoordinateSequence::atLeastNCoordinatesOrNothing(std::size_t
      n,\n        CoordinateSequence* c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/geom/CoordinateSequence.cpp:365,1
    - Dst: CoordinateXY*::compareTo
      Src: /src/geos/src/geom/CoordinateSequence.cpp:367,1
    - Dst: getAt<CoordinateXY>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:367,1
    - Dst: getAt<CoordinateXY>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: CoordinateSequence::minCoordinate
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY*::compareTo
    - getSize
    - getAt<CoordinateXY>
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      CoordinateSequence::minCoordinate() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:378,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coordinate
    - cl
    argTypes:
    - CoordinateXY*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: CoordinateSequence::indexOf
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: "size_t CoordinateSequence::indexOf(const CoordinateXY* coordinate,\n
      \                           const CoordinateSequence* cl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/geom/CoordinateSequence.cpp:391,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/CoordinateSequence.cpp:392,1
    - Dst: std::rotate
      Src: /src/geos/src/geom/CoordinateSequence.cpp:396,1
    - Dst: CoordinateSequence*::m_vect::begin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:396,1
    - Dst: std::next
      Src: /src/geos/src/geom/CoordinateSequence.cpp:397,1
    - Dst: CoordinateSequence*::m_vect::begin
      Src: /src/geos/src/geom/CoordinateSequence.cpp:397,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:397,1
    - Dst: CoordinateSequence*::stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:397,1
    - Dst: CoordinateSequence*::m_vect::end
      Src: /src/geos/src/geom/CoordinateSequence.cpp:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cl
    - firstCoordinate
    argTypes:
    - CoordinateSequence*
    - CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 399
    functionName: CoordinateSequence::scroll
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::m_vect::end
    - static_cast<std::ptrdiff_t>
    - CoordinateSequence*::m_vect::begin
    - CoordinateSequence::indexOf
    - std::rotate
    - std::next
    - CoordinateSequence*::stride
    - geos::operation::intersection::xmax
    linkageType: ''
    returnType: void
    signature: "void CoordinateSequence::scroll(CoordinateSequence* cl,\n                           const
      CoordinateXY* firstCoordinate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:404,1
    - Dst: compareTo
      Src: /src/geos/src/geom/CoordinateSequence.cpp:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: CoordinateSequence::increasingDirection
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - size
    - compareTo
    linkageType: ''
    returnType: int
    signature: int CoordinateSequence::increasingDirection(const CoordinateSequence&
      pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:421,1
    - Dst: front
      Src: /src/geos/src/geom/CoordinateSequence.cpp:424,1
    - Dst: back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: CoordinateSequence::isRing
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - size
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool CoordinateSequence::isRing() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:433,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:434,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:434,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:435,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:436,1
    - Dst: swap
      Src: /src/geos/src/geom/CoordinateSequence.cpp:437,1
    - Dst: swap
      Src: /src/geos/src/geom/CoordinateSequence.cpp:438,1
    - Dst: swap
      Src: /src/geos/src/geom/CoordinateSequence.cpp:439,1
    - Dst: swap
      Src: /src/geos/src/geom/CoordinateSequence.cpp:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 444
    functionName: CoordinateSequence::reverse
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 3
    functionsReached:
    - swap
    - size
    - stride
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::reverse()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:449,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/src/geom/CoordinateSequence.cpp:450,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:450,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:450,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/src/geom/CoordinateSequence.cpp:451,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:451,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:451,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/src/geom/CoordinateSequence.cpp:452,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:452,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:452,1
    - Dst: CoordinateSequence::sort
      Src: /src/geos/src/geom/CoordinateSequence.cpp:453,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:453,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: CoordinateSequence::sort
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence::sort
    - items
    - getCoordinateType
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::sort()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geom/CoordinateSequence.cpp:469,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geom/CoordinateSequence.cpp:470,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:474,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geom/CoordinateSequence.cpp:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 479
    functionName: CoordinateSequence::equals
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool CoordinateSequence::equals(const CoordinateSequence* cl1,\n                           const
      CoordinateSequence* cl2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:488,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:488,1
    - Dst: hasZ
      Src: /src/geos/src/geom/CoordinateSequence.cpp:492,1
    - Dst: hasZ
      Src: /src/geos/src/geom/CoordinateSequence.cpp:492,1
    - Dst: hasM
      Src: /src/geos/src/geom/CoordinateSequence.cpp:496,1
    - Dst: hasM
      Src: /src/geos/src/geom/CoordinateSequence.cpp:496,1
    - Dst: assert
      Src: /src/geos/src/geom/CoordinateSequence.cpp:500,1
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:500,1
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:500,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:502,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/CoordinateSequence.cpp:505,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/CoordinateSequence.cpp:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CoordinateSequence
    assertStmts:
    - condition: (getCoordinateType() == other.getCoordinateType())
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/geos/src/geom/CoordinateSequence.cpp
    constantsTouched: []
    func_position:
      end: 511
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 511
    functionName: CoordinateSequence::equalsIdentical
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - size
    - hasZ
    - std::isnan
    - assert
    - hasM
    - getCoordinateType
    linkageType: ''
    returnType: bool
    signature: bool CoordinateSequence::equalsIdentical(const CoordinateSequence&
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/geom/CoordinateSequence.cpp:516,1
    - Dst: expandToInclude
      Src: /src/geos/src/geom/CoordinateSequence.cpp:518,1
    - Dst: getAt<CoordinateXY>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' env'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: CoordinateSequence::expandEnvelope
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getAt<CoordinateXY>
    - getSize
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::expandEnvelope(Envelope& env) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CoordinateSequence.cpp:524,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/CoordinateSequence.cpp:528,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/CoordinateSequence.cpp:529,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/CoordinateSequence.cpp:530,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/CoordinateSequence.cpp:531,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:533,1
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:533,1
    - Dst: std::min
      Src: /src/geos/src/geom/CoordinateSequence.cpp:534,1
    - Dst: std::max
      Src: /src/geos/src/geom/CoordinateSequence.cpp:535,1
    - Dst: std::min
      Src: /src/geos/src/geom/CoordinateSequence.cpp:536,1
    - Dst: std::max
      Src: /src/geos/src/geom/CoordinateSequence.cpp:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 541
    functionName: CoordinateSequence::getEnvelope
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::infinity
    - size
    - stride
    - std::max
    - std::min
    - isEmpty
    linkageType: ''
    returnType: Envelope
    signature: Envelope CoordinateSequence::getEnvelope() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getAt<CoordinateXY>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:549,1
    - Dst: getAt<CoordinateXY>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:552,1
    - Dst: hasZ
      Src: /src/geos/src/geom/CoordinateSequence.cpp:556,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CoordinateSequence.cpp:557,1
    - Dst: getAt<Coordinate>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:559,1
    - Dst: hasM
      Src: /src/geos/src/geom/CoordinateSequence.cpp:564,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CoordinateSequence.cpp:565,1
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:567,1
    - Dst: getAt<CoordinateXYZM>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:568,1
    - Dst: getAt<CoordinateXYM>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:570,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CoordinateSequence.cpp:577,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geom/CoordinateSequence.cpp:577,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - index
    - ordinateIndex
    - value
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 581
    functionName: CoordinateSequence::setOrdinate
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 8
    functionsReached:
    - std::stringstream::str
    - getAt<CoordinateXY>
    - getAt<Coordinate>
    - getAt<CoordinateXYM>
    - hasZ
    - getAt<CoordinateXYZM>
    - geos::util::IllegalArgumentException
    - hasM
    - getCoordinateType
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::setOrdinate(std::size_t index, std::size_t
      ordinateIndex, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/CoordinateSequence.cpp:591,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:591,1
    - Dst: reinterpret_cast<const double*>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:592,1
    - Dst: data
      Src: /src/geos/src/geom/CoordinateSequence.cpp:592,1
    - Dst: assign
      Src: /src/geos/src/geom/CoordinateSequence.cpp:593,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: CoordinateSequence::setPoints
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - size
    - assign
    - resize
    - data
    - reinterpret_cast<const double*>
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::setPoints(const std::vector<Coordinate>& v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateType
      Src: /src/geos/src/geom/CoordinateSequence.cpp:599,1
    - Dst: reinterpret_cast<const Coordinate*>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:600,1
    - Dst: data
      Src: /src/geos/src/geom/CoordinateSequence.cpp:600,1
    - Dst: insert
      Src: /src/geos/src/geom/CoordinateSequence.cpp:601,1
    - Dst: end
      Src: /src/geos/src/geom/CoordinateSequence.cpp:601,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:601,1
    - Dst: hasZ
      Src: /src/geos/src/geom/CoordinateSequence.cpp:602,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:603,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:604,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:607,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 611
    functionName: CoordinateSequence::toVector
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - insert
    - size
    - items
    - hasZ
    - reinterpret_cast<const Coordinate*>
    - data
    - emplace_back
    - getCoordinateType
    - end
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::toVector(std::vector<Coordinate>& out) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:616,1
    - Dst: reinterpret_cast<const CoordinateXY*>
      Src: /src/geos/src/geom/CoordinateSequence.cpp:617,1
    - Dst: data
      Src: /src/geos/src/geom/CoordinateSequence.cpp:617,1
    - Dst: insert
      Src: /src/geos/src/geom/CoordinateSequence.cpp:618,1
    - Dst: end
      Src: /src/geos/src/geom/CoordinateSequence.cpp:618,1
    - Dst: size
      Src: /src/geos/src/geom/CoordinateSequence.cpp:618,1
    - Dst: items
      Src: /src/geos/src/geom/CoordinateSequence.cpp:620,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' out'
    argTypes:
    - std::vector<CoordinateXY>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: CoordinateSequence::toVector
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 2
    functionsReached:
    - insert
    - size
    - items
    - stride
    - emplace_back
    - data
    - reinterpret_cast<const CoordinateXY*>
    - end
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::toVector(std::vector<CoordinateXY>& out) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stride
      Src: /src/geos/src/geom/CoordinateSequence.cpp:629,1
    - Dst: CoordinateSequence::pop_back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:630,1
    - Dst: CoordinateSequence::pop_back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:631,1
    - Dst: CoordinateSequence::pop_back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:632,1
    - Dst: CoordinateSequence::pop_back
      Src: /src/geos/src/geom/CoordinateSequence.cpp:633,1
    - Dst: assert
      Src: /src/geos/src/geom/CoordinateSequence.cpp:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/geos/src/geom/CoordinateSequence.cpp
    constantsTouched: []
    func_position:
      end: 638
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 638
    functionName: CoordinateSequence::pop_back
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 3
    functionsReached:
    - assert
    - CoordinateSequence::pop_back
    - stride
    linkageType: ''
    returnType: void
    signature: void CoordinateSequence::pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forEach
      Src: /src/geos/src/geom/CoordinateSequence.cpp:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' os'
    - ' cs'
    argTypes:
    - std::ostream
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 660
    functionName: '&

      operator<< (std::ostream& os, const CoordinateSequence& cs)'
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - forEach
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateSequence& cs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/CoordinateSequence.cpp:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 668
    functionName: CoordinateSequence::toString
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 4
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateSequence::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::equals
      Src: /src/geos/src/geom/CoordinateSequence.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: operator== (const CoordinateSequence& s1, const CoordinateSequence&
      s2)
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::equals
    linkageType: ''
    returnType: bool
    signature: bool operator== (const CoordinateSequence& s1, const CoordinateSequence&
      s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::equals
      Src: /src/geos/src/geom/CoordinateSequence.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - CoordinateSequence
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: operator!= (const CoordinateSequence& s1, const CoordinateSequence&
      s2)
    functionSourceFile: /src/geos/src/geom/CoordinateSequence.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::equals
    linkageType: ''
    returnType: bool
    signature: bool operator!= (const CoordinateSequence& s1, const CoordinateSequence&
      s2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: geos::geom::Dimension::toDimensionSymbol
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: char
    signature: char Dimension::toDimensionSymbol(int dimensionValue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - dimensionSymbol
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: geos::geom::Dimension::toDimensionValue
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: int
    signature: int Dimension::toDimensionValue(char dimensionSymbol)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: geos::geom::Dimension::toDimensionSymbol
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: char
    signature: char Dimension::toDimensionSymbol(int dimensionValue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - dimensionSymbol
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: geos::geom::Dimension::toDimensionValue
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: int
    signature: int Dimension::toDimensionValue(char dimensionSymbol)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: geos::geom::Dimension::toDimensionSymbol
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: char
    signature: char Dimension::toDimensionSymbol(int dimensionValue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - dimensionSymbol
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: geos::geom::Dimension::toDimensionValue
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: int
    signature: int Dimension::toDimensionValue(char dimensionSymbol)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: geos::geom::Dimension::toDimensionSymbol
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: char
    signature: char Dimension::toDimensionSymbol(int dimensionValue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Dimension.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - dimensionSymbol
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: geos::geom::Dimension::toDimensionValue
    functionSourceFile: /src/geos/src/geom/Dimension.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    linkageType: ''
    returnType: int
    signature: int Dimension::toDimensionValue(char dimensionSymbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '&

      CoordinateXY::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY &

      CoordinateXY::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      Coordinate::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Coordinate::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '&

      CoordinateXYM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYM
    signature: 'CoordinateXYM &

      CoordinateXYM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '&

      CoordinateXYZM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYZM
    signature: 'CoordinateXYZM &

      CoordinateXYZM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:60,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::Coordinate::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string Coordinate::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:68,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geom::CoordinateXY::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXY::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:76,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::geom::CoordinateXYM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYM::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:84,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::geom::CoordinateXYZM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYZM::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - typ
    argTypes:
    - std::ostream
    - CoordinateType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: '&

      operator<< (std::ostream& os, const CoordinateType typ)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateType typ)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXY& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXY& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: '&

      operator<< (std::ostream& os, const Coordinate& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Coordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYM& c)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '&

      CoordinateXY::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY &

      CoordinateXY::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      Coordinate::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Coordinate::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '&

      CoordinateXYM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYM
    signature: 'CoordinateXYM &

      CoordinateXYM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '&

      CoordinateXYZM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYZM
    signature: 'CoordinateXYZM &

      CoordinateXYZM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:60,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::Coordinate::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string Coordinate::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:68,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geom::CoordinateXY::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXY::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:76,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::geom::CoordinateXYM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYM::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:84,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::geom::CoordinateXYZM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYZM::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - typ
    argTypes:
    - std::ostream
    - CoordinateType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: '&

      operator<< (std::ostream& os, const CoordinateType typ)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateType typ)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXY& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXY& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: '&

      operator<< (std::ostream& os, const Coordinate& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Coordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYM& c)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '&

      CoordinateXY::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY &

      CoordinateXY::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      Coordinate::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Coordinate::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '&

      CoordinateXYM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYM
    signature: 'CoordinateXYM &

      CoordinateXYM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '&

      CoordinateXYZM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYZM
    signature: 'CoordinateXYZM &

      CoordinateXYZM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:60,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::Coordinate::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string Coordinate::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:68,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geom::CoordinateXY::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXY::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:76,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::geom::CoordinateXYM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYM::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:84,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::geom::CoordinateXYZM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYZM::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - typ
    argTypes:
    - std::ostream
    - CoordinateType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: '&

      operator<< (std::ostream& os, const CoordinateType typ)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateType typ)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXY& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXY& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: '&

      operator<< (std::ostream& os, const Coordinate& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Coordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYM& c)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '&

      CoordinateXY::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY &

      CoordinateXY::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      Coordinate::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Coordinate::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '&

      CoordinateXYM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYM
    signature: 'CoordinateXYM &

      CoordinateXYM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '&

      CoordinateXYZM::getNull()'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoordinateXYZM
    signature: 'CoordinateXYZM &

      CoordinateXYZM::getNull()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:60,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::Coordinate::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string Coordinate::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:68,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geom::CoordinateXY::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXY::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:76,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: geos::geom::CoordinateXYM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYM::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/geos/src/geom/Coordinate.cpp:84,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Coordinate.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: geos::geom::CoordinateXYZM::toString
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string CoordinateXYZM::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - typ
    argTypes:
    - std::ostream
    - CoordinateType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: '&

      operator<< (std::ostream& os, const CoordinateType typ)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateType typ)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXY& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXY& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: '&

      operator<< (std::ostream& os, const Coordinate& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Coordinate& c)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYM& c)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:132,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Coordinate.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' c'
    argTypes:
    - std::ostream
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: '&

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
    functionSourceFile: /src/geos/src/geom/Coordinate.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const CoordinateXYZM& c)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:33,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:34,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:42,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - isDone
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:52,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:53,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:68,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:69,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(const CoordinateFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:77,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:80,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Surface.cpp:83,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Surface.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - geometryChanged
    - getExteriorRing
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:91,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:92,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryFilter* filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:107,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:113,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:114,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:123,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: geos::geom::Surface::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Surface*::getNumInteriorRing
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: int
    signature: int Surface::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: geos::geom::Surface::convexHull
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::convexHull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLinearRing
      Src: /src/geos/src/geom/Surface.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' factory'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::geom::Surface::createEmptyRing
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::createEmptyRing(const GeometryFactory&
      factory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:148,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:152,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:165,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:166,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:167,1
    - Dst: Curve*::equalsExact
      Src: /src/geos/src/geom/Surface.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: geos::geom::Surface::equalsExact
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Curve*::equalsExact
    - Surface*::getNumInteriorRing
    - isEquivalentClass
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:179,1
    - Dst: static_cast<const Surface&>
      Src: /src/geos/src/geom/Surface.cpp:183,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:193,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 200
    functionName: geos::geom::Surface::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - isEquivalentClass
    - static_cast<const Surface&>
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: geos::geom::Surface::getCoordinate
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      Surface::getCoordinate() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:213,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:217,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:218,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: geos::geom::Surface::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - std::max
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Surface::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: geos::geom::Surface::getEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Surface::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:234,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:235,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: geos::geom::Surface::getLength
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: double
    signature: double Surface::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:244,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:245,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: geos::geom::Surface::getNumPoints
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: size_t
    signature: size_t Surface::getNumPoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:254,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:257,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: geos::geom::Surface::hasM
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasM() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:268,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:271,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: geos::geom::Surface::hasZ
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: geos::geom::Surface::isEmpty
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:33,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:34,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:42,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - isDone
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:52,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:53,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:68,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:69,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(const CoordinateFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:77,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:80,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Surface.cpp:83,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Surface.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - geometryChanged
    - getExteriorRing
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:91,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:92,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryFilter* filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:107,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:113,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:114,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:123,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: geos::geom::Surface::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Surface*::getNumInteriorRing
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: int
    signature: int Surface::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: geos::geom::Surface::convexHull
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::convexHull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLinearRing
      Src: /src/geos/src/geom/Surface.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' factory'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::geom::Surface::createEmptyRing
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::createEmptyRing(const GeometryFactory&
      factory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:148,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:152,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:165,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:166,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:167,1
    - Dst: Curve*::equalsExact
      Src: /src/geos/src/geom/Surface.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: geos::geom::Surface::equalsExact
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Curve*::equalsExact
    - Surface*::getNumInteriorRing
    - isEquivalentClass
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:179,1
    - Dst: static_cast<const Surface&>
      Src: /src/geos/src/geom/Surface.cpp:183,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:193,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 200
    functionName: geos::geom::Surface::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - isEquivalentClass
    - static_cast<const Surface&>
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: geos::geom::Surface::getCoordinate
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      Surface::getCoordinate() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:213,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:217,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:218,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: geos::geom::Surface::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - std::max
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Surface::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: geos::geom::Surface::getEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Surface::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:234,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:235,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: geos::geom::Surface::getLength
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: double
    signature: double Surface::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:244,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:245,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: geos::geom::Surface::getNumPoints
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: size_t
    signature: size_t Surface::getNumPoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:254,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:257,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: geos::geom::Surface::hasM
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasM() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:268,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:271,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: geos::geom::Surface::hasZ
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: geos::geom::Surface::isEmpty
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:33,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:34,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:42,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - isDone
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:52,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:53,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:68,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:69,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(const CoordinateFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:77,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:80,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Surface.cpp:83,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Surface.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - geometryChanged
    - getExteriorRing
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:91,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:92,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryFilter* filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:107,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:113,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:114,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:123,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: geos::geom::Surface::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Surface*::getNumInteriorRing
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: int
    signature: int Surface::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: geos::geom::Surface::convexHull
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::convexHull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLinearRing
      Src: /src/geos/src/geom/Surface.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' factory'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::geom::Surface::createEmptyRing
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::createEmptyRing(const GeometryFactory&
      factory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:148,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:152,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:165,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:166,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:167,1
    - Dst: Curve*::equalsExact
      Src: /src/geos/src/geom/Surface.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: geos::geom::Surface::equalsExact
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Curve*::equalsExact
    - Surface*::getNumInteriorRing
    - isEquivalentClass
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:179,1
    - Dst: static_cast<const Surface&>
      Src: /src/geos/src/geom/Surface.cpp:183,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:193,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 200
    functionName: geos::geom::Surface::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - isEquivalentClass
    - static_cast<const Surface&>
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: geos::geom::Surface::getCoordinate
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      Surface::getCoordinate() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:213,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:217,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:218,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: geos::geom::Surface::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - std::max
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Surface::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: geos::geom::Surface::getEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Surface::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:234,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:235,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: geos::geom::Surface::getLength
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: double
    signature: double Surface::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:244,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:245,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: geos::geom::Surface::getNumPoints
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: size_t
    signature: size_t Surface::getNumPoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:254,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:257,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: geos::geom::Surface::hasM
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasM() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:268,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:271,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: geos::geom::Surface::hasZ
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: geos::geom::Surface::isEmpty
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:33,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:34,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:42,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:44,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - isDone
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:52,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:53,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:54,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Surface.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: geos::geom::Surface::apply_ro
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Surface::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:68,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:69,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(const CoordinateFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:77,1
    - Dst: isDone
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:79,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:80,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Surface.cpp:83,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Surface.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - geometryChanged
    - getExteriorRing
    - isDone
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:91,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:92,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:93,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    - getInteriorRingN
    - getNumInteriorRing
    - GeometryComponentFilter*::isDone
    - getExteriorRing
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Surface.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: geos::geom::Surface::apply_rw
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Surface::apply_rw(GeometryFilter* filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:107,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:108,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:113,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:114,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:123,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: geos::geom::Surface::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Surface*::getNumInteriorRing
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: int
    signature: int Surface::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: geos::geom::Surface::convexHull
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::convexHull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createLinearRing
      Src: /src/geos/src/geom/Surface.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' factory'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: geos::geom::Surface::createEmptyRing
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Surface::createEmptyRing(const GeometryFactory&
      factory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:148,1
    - Dst: detail::down_cast<const Surface*>
      Src: /src/geos/src/geom/Surface.cpp:152,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: Surface*::getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:157,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: Surface*::getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:161,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:165,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:166,1
    - Dst: Surface*::getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:167,1
    - Dst: Curve*::equalsExact
      Src: /src/geos/src/geom/Surface.cpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: geos::geom::Surface::equalsExact
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getInteriorRingN
    - Curve*::equalsExact
    - Surface*::getNumInteriorRing
    - isEquivalentClass
    - Surface*::getExteriorRing
    - getExteriorRing
    - Surface*::getInteriorRingN
    - detail::down_cast<const Surface*>
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Surface.cpp:179,1
    - Dst: static_cast<const Surface&>
      Src: /src/geos/src/geom/Surface.cpp:183,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:185,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:189,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:193,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 200
    functionName: geos::geom::Surface::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getNumInteriorRing
    - isEquivalentClass
    - static_cast<const Surface&>
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: geos::geom::Surface::getCoordinate
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      Surface::getCoordinate() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:213,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:214,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:217,1
    - Dst: std::max
      Src: /src/geos/src/geom/Surface.cpp:218,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: geos::geom::Surface::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - std::max
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Surface::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: geos::geom::Surface::getEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Surface::getEnvelopeInternal() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:234,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:235,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: geos::geom::Surface::getLength
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: double
    signature: double Surface::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:244,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:245,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: geos::geom::Surface::getNumPoints
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: size_t
    signature: size_t Surface::getNumPoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:254,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:257,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: geos::geom::Surface::hasM
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasM() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:268,1
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Surface.cpp:271,1
    - Dst: getInteriorRingN
      Src: /src/geos/src/geom/Surface.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: geos::geom::Surface::hasZ
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getInteriorRingN
    - getExteriorRing
    - getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExteriorRing
      Src: /src/geos/src/geom/Surface.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: geos::geom::Surface::isEmpty
    functionSourceFile: /src/geos/src/geom/Surface.cpp
    functionUses: 0
    functionsReached:
    - getExteriorRing
    linkageType: ''
    returnType: bool
    signature: bool Surface::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' lr'
    argTypes:
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearRing::LinearRing(const LinearRing& lr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:42,1
    - Dst: geos::geom::LinearRing::validateConstruction
      Src: /src/geos/src/geom/LinearRing.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' newFactory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LinearRing::LinearRing(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& newFactory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:51,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:56,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:61,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:64,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::geom::LinearRing::validateConstruction
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - getSize
    - geos::util::IllegalArgumentException
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::LinearRing::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearRing::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:78,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::geom::LinearRing::isClosed
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool LinearRing::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::geom::LinearRing::getGeometryType
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LinearRing::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/LinearRing.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cl
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::LinearRing::setPoints
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::clone
    linkageType: ''
    returnType: void
    signature: void LinearRing::setPoints(const CoordinateSequence* cl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: geos::geom::LinearRing::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LinearRing::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:106,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: reverse
      Src: /src/geos/src/geom/LinearRing.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - isCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::geom::LinearRing::orient
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - get
    - geos::algorithm::Orientation::isCCW
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::orient(bool isCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:119,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:120,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:124,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LinearRing.cpp:125,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/geos/src/geom/LinearRing.cpp
    - condition: (getFactory())
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geom/LinearRing.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: geos::geom::LinearRing::reverseImpl
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      LinearRing::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' lr'
    argTypes:
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearRing::LinearRing(const LinearRing& lr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:42,1
    - Dst: geos::geom::LinearRing::validateConstruction
      Src: /src/geos/src/geom/LinearRing.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' newFactory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LinearRing::LinearRing(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& newFactory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:51,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:56,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:61,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:64,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::geom::LinearRing::validateConstruction
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - getSize
    - geos::util::IllegalArgumentException
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::LinearRing::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearRing::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:78,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::geom::LinearRing::isClosed
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool LinearRing::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::geom::LinearRing::getGeometryType
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LinearRing::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/LinearRing.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cl
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::LinearRing::setPoints
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::clone
    linkageType: ''
    returnType: void
    signature: void LinearRing::setPoints(const CoordinateSequence* cl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: geos::geom::LinearRing::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LinearRing::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:106,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: reverse
      Src: /src/geos/src/geom/LinearRing.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - isCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::geom::LinearRing::orient
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - get
    - geos::algorithm::Orientation::isCCW
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::orient(bool isCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:119,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:120,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:124,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LinearRing.cpp:125,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/geos/src/geom/LinearRing.cpp
    - condition: (getFactory())
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geom/LinearRing.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: geos::geom::LinearRing::reverseImpl
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      LinearRing::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' lr'
    argTypes:
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearRing::LinearRing(const LinearRing& lr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:42,1
    - Dst: geos::geom::LinearRing::validateConstruction
      Src: /src/geos/src/geom/LinearRing.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' newFactory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LinearRing::LinearRing(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& newFactory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:51,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:56,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:61,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:64,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::geom::LinearRing::validateConstruction
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 3
    functionsReached:
    - std::ostringstream::str
    - getSize
    - geos::util::IllegalArgumentException
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::LinearRing::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearRing::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:78,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::geom::LinearRing::isClosed
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool LinearRing::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::geom::LinearRing::getGeometryType
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LinearRing::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/LinearRing.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cl
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::LinearRing::setPoints
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::clone
    linkageType: ''
    returnType: void
    signature: void LinearRing::setPoints(const CoordinateSequence* cl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: geos::geom::LinearRing::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LinearRing::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:106,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: reverse
      Src: /src/geos/src/geom/LinearRing.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - isCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::geom::LinearRing::orient
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - get
    - geos::algorithm::Orientation::isCCW
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::orient(bool isCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:119,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:120,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:124,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LinearRing.cpp:125,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/geos/src/geom/LinearRing.cpp
    - condition: (getFactory())
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geom/LinearRing.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: geos::geom::LinearRing::reverseImpl
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      LinearRing::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' lr'
    argTypes:
    - LinearRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearRing::LinearRing(const LinearRing& lr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:42,1
    - Dst: geos::geom::LinearRing::validateConstruction
      Src: /src/geos/src/geom/LinearRing.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' newFactory'
    argTypes:
    - CoordinateSequence::Ptr
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: geos::geom::LinearRing::LinearRing
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LinearRing::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LinearRing::LinearRing(CoordinateSequence::Ptr && newCoords,\n
      \                      const GeometryFactory& newFactory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:51,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:55,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:56,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:61,1
    - Dst: getSize
      Src: /src/geos/src/geom/LinearRing.cpp:64,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/LinearRing.cpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: geos::geom::LinearRing::validateConstruction
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 4
    functionsReached:
    - std::ostringstream::str
    - getSize
    - geos::util::IllegalArgumentException
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::LinearRing::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearRing::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:78,1
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/LinearRing.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: geos::geom::LinearRing::isClosed
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool LinearRing::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::geom::LinearRing::getGeometryType
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LinearRing::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/LinearRing.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cl
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::LinearRing::setPoints
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::clone
    linkageType: ''
    returnType: void
    signature: void LinearRing::setPoints(const CoordinateSequence* cl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: geos::geom::LinearRing::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId LinearRing::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:106,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:110,1
    - Dst: reverse
      Src: /src/geos/src/geom/LinearRing.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - isCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geos::geom::LinearRing::orient
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - reverse
    - get
    - geos::algorithm::Orientation::isCCW
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearRing::orient(bool isCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/LinearRing.cpp:119,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:120,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: get
      Src: /src/geos/src/geom/LinearRing.cpp:123,1
    - Dst: clone
      Src: /src/geos/src/geom/LinearRing.cpp:124,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/LinearRing.cpp:125,1
    - Dst: assert
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:126,1
    - Dst: getFactory
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    - Dst: std::move
      Src: /src/geos/src/geom/LinearRing.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/geos/src/geom/LinearRing.cpp
    - condition: (getFactory())
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geom/LinearRing.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: geos::geom::LinearRing::reverseImpl
    functionSourceFile: /src/geos/src/geom/LinearRing.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - isEmpty
    - assert
    - auto::reverse
    - clone
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      LinearRing::reverseImpl() const'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - quad1
    - quad2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: geos::geom::Quadrant::commonHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Quadrant::commonHalfPlane(int quad1, int quad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - quad
    - halfPlane
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::Quadrant::isInHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Quadrant::isInHalfPlane(int quad, int halfPlane)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - quad1
    - quad2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: geos::geom::Quadrant::commonHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Quadrant::commonHalfPlane(int quad1, int quad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - quad
    - halfPlane
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::Quadrant::isInHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Quadrant::isInHalfPlane(int quad, int halfPlane)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - quad1
    - quad2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: geos::geom::Quadrant::commonHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Quadrant::commonHalfPlane(int quad1, int quad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - quad
    - halfPlane
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::Quadrant::isInHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Quadrant::isInHalfPlane(int quad, int halfPlane)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - quad1
    - quad2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: geos::geom::Quadrant::commonHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Quadrant::commonHalfPlane(int quad1, int quad2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - quad
    - halfPlane
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::Quadrant::isInHalfPlane
    functionSourceFile: /src/geos/src/geom/Quadrant.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Quadrant::isInHalfPlane(int quad, int halfPlane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: MultiPolygon::~MultiPolygon()
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::~MultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiPolygon::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPolygon::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: geos::geom::MultiPolygon::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPolygon::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::geom::MultiPolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPolygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:69,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: geos::geom::MultiPolygon::getBoundary
      Src: /src/geos/src/geom/MultiPolygon.cpp:75,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:77,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: geos::geom::MultiPolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 1
    functionsReached:
    - auto::getGeometryN
    - getFactory
    - geos::geom::MultiPolygon::getBoundary
    - std::move
    - std::unique_ptr<Geometry>
    - auto::getNumGeometries
    - std::vector::push_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiPolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPolygon::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiPolygon.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiPolygon.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiPolygon.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiPolygon.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiPolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiPolygon
    signature: 'MultiPolygon *

      MultiPolygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: geos::geom::MultiPolygon::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - get
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      MultiPolygon::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: MultiPolygon::~MultiPolygon()
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::~MultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiPolygon::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPolygon::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: geos::geom::MultiPolygon::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPolygon::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::geom::MultiPolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPolygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:69,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: geos::geom::MultiPolygon::getBoundary
      Src: /src/geos/src/geom/MultiPolygon.cpp:75,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:77,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: geos::geom::MultiPolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 2
    functionsReached:
    - auto::getGeometryN
    - getFactory
    - geos::geom::MultiPolygon::getBoundary
    - std::move
    - std::unique_ptr<Geometry>
    - auto::getNumGeometries
    - std::vector::push_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiPolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPolygon::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiPolygon.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiPolygon.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiPolygon.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiPolygon.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiPolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiPolygon
    signature: 'MultiPolygon *

      MultiPolygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: geos::geom::MultiPolygon::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - get
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      MultiPolygon::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: MultiPolygon::~MultiPolygon()
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::~MultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiPolygon::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPolygon::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: geos::geom::MultiPolygon::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPolygon::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::geom::MultiPolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPolygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:69,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: geos::geom::MultiPolygon::getBoundary
      Src: /src/geos/src/geom/MultiPolygon.cpp:75,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:77,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: geos::geom::MultiPolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 3
    functionsReached:
    - auto::getGeometryN
    - getFactory
    - geos::geom::MultiPolygon::getBoundary
    - std::move
    - std::unique_ptr<Geometry>
    - auto::getNumGeometries
    - std::vector::push_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiPolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPolygon::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiPolygon.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiPolygon.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiPolygon.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiPolygon.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiPolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiPolygon
    signature: 'MultiPolygon *

      MultiPolygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: geos::geom::MultiPolygon::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - get
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      MultiPolygon::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::MultiPolygon::MultiPolygon
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::MultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: MultiPolygon::~MultiPolygon()
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiPolygon::~MultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiPolygon::getDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiPolygon::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: geos::geom::MultiPolygon::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiPolygon::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: geos::geom::MultiPolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiPolygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:69,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:70,1
    - Dst: geos::geom::MultiPolygon::getBoundary
      Src: /src/geos/src/geom/MultiPolygon.cpp:75,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:77,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:78,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiPolygon.cpp:80,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/MultiPolygon.cpp:82,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: geos::geom::MultiPolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 4
    functionsReached:
    - auto::getGeometryN
    - getFactory
    - geos::geom::MultiPolygon::getBoundary
    - std::move
    - std::unique_ptr<Geometry>
    - auto::getNumGeometries
    - std::vector::push_back
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiPolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiPolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiPolygon::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiPolygon.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiPolygon.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiPolygon.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiPolygon.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiPolygon.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiPolygon.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiPolygon.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiPolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiPolygon
    signature: 'MultiPolygon *

      MultiPolygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    - Dst: get
      Src: /src/geos/src/geom/MultiPolygon.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: geos::geom::MultiPolygon::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiPolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - get
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      MultiPolygon::getGeometryN(std::size_t i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:25,1
    - Dst: dynamic_cast<const Surface*>
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: get
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiSurface.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::move
    - dynamic_cast<const Surface*>
    - get
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Geometry>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Surface>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: MultiSurface::~MultiSurface()
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiSurface::~MultiSurface()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:44,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: geos::geom::MultiSurface::getBoundary
      Src: /src/geos/src/geom/MultiSurface.cpp:50,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: static_cast<GeometryCollection&>
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: releaseGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: geos::geom::MultiSurface::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 1
    functionsReached:
    - getFactory
    - std::move
    - std::unique_ptr<Geometry>
    - releaseGeometries
    - static_cast<GeometryCollection&>
    - auto::getNumGeometries
    - std::vector::push_back
    - geos::geom::MultiSurface::getBoundary
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiSurface::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::geom::MultiSurface::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiSurface::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::geom::MultiSurface::getDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiSurface::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::geom::MultiSurface::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiSurface::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::MultiSurface::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiSurface::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:92,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiSurface.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/MultiSurface.cpp:96,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: end
      Src: /src/geos/src/geom/MultiSurface.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiSurface.cpp:100,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiSurface.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: geos::geom::MultiSurface::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiSurface
    signature: 'MultiSurface *

      MultiSurface::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:25,1
    - Dst: dynamic_cast<const Surface*>
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: get
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiSurface.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::move
    - dynamic_cast<const Surface*>
    - get
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Geometry>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Surface>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: MultiSurface::~MultiSurface()
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiSurface::~MultiSurface()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:44,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: geos::geom::MultiSurface::getBoundary
      Src: /src/geos/src/geom/MultiSurface.cpp:50,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: static_cast<GeometryCollection&>
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: releaseGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: geos::geom::MultiSurface::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - std::move
    - std::unique_ptr<Geometry>
    - releaseGeometries
    - static_cast<GeometryCollection&>
    - auto::getNumGeometries
    - std::vector::push_back
    - geos::geom::MultiSurface::getBoundary
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiSurface::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::geom::MultiSurface::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiSurface::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::geom::MultiSurface::getDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiSurface::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::geom::MultiSurface::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiSurface::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::MultiSurface::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiSurface::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:92,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiSurface.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/MultiSurface.cpp:96,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: end
      Src: /src/geos/src/geom/MultiSurface.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiSurface.cpp:100,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiSurface.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: geos::geom::MultiSurface::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiSurface
    signature: 'MultiSurface *

      MultiSurface::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:25,1
    - Dst: dynamic_cast<const Surface*>
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: get
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiSurface.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::move
    - dynamic_cast<const Surface*>
    - get
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Geometry>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Surface>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: MultiSurface::~MultiSurface()
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiSurface::~MultiSurface()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:44,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: geos::geom::MultiSurface::getBoundary
      Src: /src/geos/src/geom/MultiSurface.cpp:50,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: static_cast<GeometryCollection&>
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: releaseGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: geos::geom::MultiSurface::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 3
    functionsReached:
    - getFactory
    - std::move
    - std::unique_ptr<Geometry>
    - releaseGeometries
    - static_cast<GeometryCollection&>
    - auto::getNumGeometries
    - std::vector::push_back
    - geos::geom::MultiSurface::getBoundary
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiSurface::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::geom::MultiSurface::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiSurface::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::geom::MultiSurface::getDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiSurface::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::geom::MultiSurface::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiSurface::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::MultiSurface::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiSurface::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:92,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiSurface.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/MultiSurface.cpp:96,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: end
      Src: /src/geos/src/geom/MultiSurface.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiSurface.cpp:100,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiSurface.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: geos::geom::MultiSurface::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiSurface
    signature: 'MultiSurface *

      MultiSurface::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:25,1
    - Dst: dynamic_cast<const Surface*>
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: get
      Src: /src/geos/src/geom/MultiSurface.cpp:28,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiSurface.cpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::move
    - dynamic_cast<const Surface*>
    - get
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Geometry>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newPolys'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: geos::geom::MultiSurface::MultiSurface
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MultiSurface::MultiSurface(std::vector<std::unique_ptr<Surface>>&&
      newPolys, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: MultiSurface::~MultiSurface()
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultiSurface::~MultiSurface()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:44,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:45,1
    - Dst: geos::geom::MultiSurface::getBoundary
      Src: /src/geos/src/geom/MultiSurface.cpp:50,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:53,1
    - Dst: static_cast<GeometryCollection&>
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: releaseGeometries
      Src: /src/geos/src/geom/MultiSurface.cpp:56,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:57,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: geos::geom::MultiSurface::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 4
    functionsReached:
    - getFactory
    - std::move
    - std::unique_ptr<Geometry>
    - releaseGeometries
    - static_cast<GeometryCollection&>
    - auto::getNumGeometries
    - std::vector::push_back
    - geos::geom::MultiSurface::getBoundary
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiSurface::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::geom::MultiSurface::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MultiSurface::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: geos::geom::MultiSurface::getDimension
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiSurface::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geos::geom::MultiSurface::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiSurface::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::MultiSurface::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiSurface::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiSurface.cpp:92,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiSurface.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/MultiSurface.cpp:96,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiSurface.cpp:98,1
    - Dst: end
      Src: /src/geos/src/geom/MultiSurface.cpp:99,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiSurface.cpp:100,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiSurface.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiSurface.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: geos::geom::MultiSurface::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiSurface.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiSurface
    signature: 'MultiSurface *

      MultiSurface::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:28,1
    - Dst: geos::geom::CircularString::validateConstruction
      Src: /src/geos/src/geom/CircularString.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::CircularString::CircularString
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CircularString::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CircularString::CircularString(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                               const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CircularString::~CircularString()
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CircularString::~CircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    - Dst: cloneImpl
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::CircularString::clone
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<CircularString>
    - cloneImpl
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> CircularString::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::geom::CircularString::getGeometryType
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CircularString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::geom::CircularString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CircularString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:56,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CircularString.cpp:60,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:63,1
    - Dst: CircularArc
      Src: /src/geos/src/geom/CircularString.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: geos::geom::CircularString::getLength
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - CircularArc
    - size
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double CircularString::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:73,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:78,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/CircularString.cpp:79,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/geom/CircularString.cpp
    - condition: (getFactory())
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geom/CircularString.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: geos::geom::CircularString::reverseImpl
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - assert
    - auto::reverse
    - geos::geom::CircularString::clone
    - isEmpty
    linkageType: ''
    returnType: CircularString
    signature: 'CircularString *

      CircularString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:87,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CircularString.cpp:88,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:92,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CircularString.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: geos::geom::CircularString::validateConstruction
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 1
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void CircularString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:28,1
    - Dst: geos::geom::CircularString::validateConstruction
      Src: /src/geos/src/geom/CircularString.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::CircularString::CircularString
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CircularString::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CircularString::CircularString(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                               const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CircularString::~CircularString()
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CircularString::~CircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    - Dst: cloneImpl
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::CircularString::clone
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<CircularString>
    - cloneImpl
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> CircularString::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::geom::CircularString::getGeometryType
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CircularString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::geom::CircularString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CircularString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:56,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CircularString.cpp:60,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:63,1
    - Dst: CircularArc
      Src: /src/geos/src/geom/CircularString.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: geos::geom::CircularString::getLength
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - CircularArc
    - size
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double CircularString::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:73,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:78,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/CircularString.cpp:79,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/geom/CircularString.cpp
    - condition: (getFactory())
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geom/CircularString.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: geos::geom::CircularString::reverseImpl
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - assert
    - auto::reverse
    - geos::geom::CircularString::clone
    - isEmpty
    linkageType: ''
    returnType: CircularString
    signature: 'CircularString *

      CircularString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:87,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CircularString.cpp:88,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:92,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CircularString.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: geos::geom::CircularString::validateConstruction
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void CircularString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:28,1
    - Dst: geos::geom::CircularString::validateConstruction
      Src: /src/geos/src/geom/CircularString.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::CircularString::CircularString
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CircularString::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CircularString::CircularString(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                               const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CircularString::~CircularString()
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CircularString::~CircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    - Dst: cloneImpl
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::CircularString::clone
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<CircularString>
    - cloneImpl
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> CircularString::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::geom::CircularString::getGeometryType
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CircularString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::geom::CircularString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CircularString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:56,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CircularString.cpp:60,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:63,1
    - Dst: CircularArc
      Src: /src/geos/src/geom/CircularString.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: geos::geom::CircularString::getLength
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - CircularArc
    - size
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double CircularString::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:73,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:78,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/CircularString.cpp:79,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/geom/CircularString.cpp
    - condition: (getFactory())
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geom/CircularString.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: geos::geom::CircularString::reverseImpl
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - assert
    - auto::reverse
    - geos::geom::CircularString::clone
    - isEmpty
    linkageType: ''
    returnType: CircularString
    signature: 'CircularString *

      CircularString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:87,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CircularString.cpp:88,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:92,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CircularString.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: geos::geom::CircularString::validateConstruction
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void CircularString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:28,1
    - Dst: geos::geom::CircularString::validateConstruction
      Src: /src/geos/src/geom/CircularString.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' newCoords'
    - ' factory'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::CircularString::CircularString
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CircularString::validateConstruction
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CircularString::CircularString(std::unique_ptr<CoordinateSequence>&&
      newCoords,\n                               const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CircularString::~CircularString()
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CircularString::~CircularString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    - Dst: cloneImpl
      Src: /src/geos/src/geom/CircularString.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::CircularString::clone
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<CircularString>
    - cloneImpl
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> CircularString::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: geos::geom::CircularString::getGeometryType
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CircularString::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: geos::geom::CircularString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CircularString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:56,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CircularString.cpp:60,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:63,1
    - Dst: CircularArc
      Src: /src/geos/src/geom/CircularString.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: geos::geom::CircularString::getLength
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - CircularArc
    - size
    - isEmpty
    linkageType: ''
    returnType: double
    signature: double CircularString::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/CircularString.cpp:73,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:77,1
    - Dst: geos::geom::CircularString::clone
      Src: /src/geos/src/geom/CircularString.cpp:78,1
    - Dst: auto::reverse
      Src: /src/geos/src/geom/CircularString.cpp:79,1
    - Dst: assert
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:80,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    - Dst: std::move
      Src: /src/geos/src/geom/CircularString.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (points.get())
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/geom/CircularString.cpp
    - condition: (getFactory())
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geom/CircularString.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: geos::geom::CircularString::reverseImpl
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - get
    - assert
    - auto::reverse
    - geos::geom::CircularString::clone
    - isEmpty
    linkageType: ''
    returnType: CircularString
    signature: 'CircularString *

      CircularString::reverseImpl() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CircularString.cpp:87,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CircularString.cpp:88,1
    - Dst: size
      Src: /src/geos/src/geom/CircularString.cpp:92,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CircularString.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: geos::geom::CircularString::validateConstruction
    functionSourceFile: /src/geos/src/geom/CircularString.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - get
    - size
    - std::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void CircularString::validateConstruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:41,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:45,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - geometries::size
    - clone
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(const GeometryCollection&
      gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:57,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '&

      GeometryCollection::operator=(const GeometryCollection& gc)'
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - resize
    - geometries::size
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection &

      GeometryCollection::operator=(const GeometryCollection& gc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:66,1
    - Dst: geos::geom::GeometryCollection::computeEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:68,1
    - Dst: hasNullElements
      Src: /src/geos/src/geom/GeometryCollection.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:72,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    - Dst: getSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' newGeoms'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::computeEnvelopeInternal
    - getSRID
    - geos::util::IllegalArgumentException
    - hasNullElements
    - std::move
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(std::vector<std::unique_ptr<Geometry>>
      && newGeoms, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:81,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newSRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::geom::GeometryCollection::setSRID
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setSRID(int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getCoordinates
      Src: /src/geos/src/geom/GeometryCollection.cpp:100,1
    - Dst: auto::getSize
      Src: /src/geos/src/geom/GeometryCollection.cpp:101,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryCollection::getCoordinates
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    - detail::make_unique<CoordinateSequence>
    - auto::getAt
    - geos::geom::GeometryCollection::getCoordinates
    - auto::getSize
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> GeometryCollection::getCoordinates()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: geos::geom::GeometryCollection::isEmpty
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:128,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:129,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:130,1
    - Dst: geos::geom::GeometryCollection::hasM
      Src: /src/geos/src/geom/GeometryCollection.cpp:131,1
    - Dst: geos::geom::GeometryCollection::hasZ
      Src: /src/geos/src/geom/GeometryCollection.cpp:132,1
    - Dst: geos::geom::GeometryCollection::hasCurvedComponents
      Src: /src/geos/src/geom/GeometryCollection.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: geos::geom::GeometryCollection::setFlags
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::hasZ
    - geos::geom::GeometryCollection::hasM
    - geos::geom::GeometryCollection::hasDimension
    - geos::geom::GeometryCollection::hasCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setFlags() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: geos::geom::GeometryCollection::getDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType GeometryCollection::getDimension() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:158,1
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: geos::geom::GeometryCollection::isDimensionStrict
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isDimensionStrict(Dimension::DimensionType
      d) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: geos::geom::GeometryCollection::hasDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasDimension(Dimension::DimensionType d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    - Dst: geos::geom::GeometryCollection::getBoundaryDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: geos::geom::GeometryCollection::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - geos::geom::GeometryCollection::getBoundaryDimension
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    - Dst: geos::geom::GeometryCollection::getCoordinateDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: geos::geom::GeometryCollection::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinateDimension
    - std::max
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GeometryCollection::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::GeometryCollection::hasM
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::GeometryCollection::hasZ
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::GeometryCollection::getNumGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumGeometries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::GeometryCollection::getGeometryN
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryCollection::getGeometryN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:236,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: geos::geom::GeometryCollection::releaseGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geometryChanged
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryCollection::releaseGeometries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryCollection::getNumPoints
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: geos::geom::GeometryCollection::getGeometryType
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GeometryCollection::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: geos::geom::GeometryCollection::getBoundary
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCollection::getBoundary() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:267,1
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:271,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: GeometryCollection*::geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:275,1
    - Dst: geos::geom::GeometryCollection::equalsExact
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: geos::geom::GeometryCollection::equalsExact
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::equalsExact
    - size
    - GeometryCollection*::geometries::size
    - isEquivalentClass
    - get
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsExact(const Geometry* other, double
      tolerance) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:286,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/geom/GeometryCollection.cpp:290,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:299,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 306
    functionName: geos::geom::GeometryCollection::equalsIdentical
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::getNumGeometries
    - geos::geom::GeometryCollection::getGeometryN
    - isEquivalentClass
    - static_cast<const GeometryCollection&>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:327,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - GeometryFilter*::filter_ro
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:336,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - GeometryFilter*::filter_rw
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::normalize
      Src: /src/geos/src/geom/GeometryCollection.cpp:346,1
    - Dst: std::sort
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: compareTo
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: geos::geom::GeometryCollection::normalize
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:358,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/GeometryCollection.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: geos::geom::GeometryCollection::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope GeometryCollection::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:367,1
    - Dst: compare
      Src: /src/geos/src/geom/GeometryCollection.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: geos::geom::GeometryCollection::compareToSameClass
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - compare
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: geos::geom::GeometryCollection::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:380,1
    - Dst: geos::geom::GeometryCollection::getCoordinate
      Src: /src/geos/src/geom/GeometryCollection.cpp:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryCollection::getCoordinate
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinate
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      GeometryCollection::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getArea
      Src: /src/geos/src/geom/GeometryCollection.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: geos::geom::GeometryCollection::getArea
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::getArea
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getLength
      Src: /src/geos/src/geom/GeometryCollection.cpp:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: geos::geom::GeometryCollection::getLength
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryCollection::getLength
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:416,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:418,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:428,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:430,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryComponentFilter* filter)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:441,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:442,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:446,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_rw
    - geometryChanged
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:455,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:456,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts:
    - condition: (!filter.isGeometryChanged())
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/geos/src/geom/GeometryCollection.cpp
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_ro
    - assert
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateSequenceFilter& filter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: geos::geom::GeometryCollection::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId GeometryCollection::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:474,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:475,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:478,1
    - Dst: std::transform
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:481,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:482,1
    - Dst: reverse
      Src: /src/geos/src/geom/GeometryCollection.cpp:484,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: geos::geom::GeometryCollection::reverseImpl
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - geos::geom::GeometryCollection::isEmpty
    - reverse
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection *

      GeometryCollection::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:41,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:45,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - geometries::size
    - clone
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(const GeometryCollection&
      gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:57,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '&

      GeometryCollection::operator=(const GeometryCollection& gc)'
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - resize
    - geometries::size
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection &

      GeometryCollection::operator=(const GeometryCollection& gc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:66,1
    - Dst: geos::geom::GeometryCollection::computeEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:68,1
    - Dst: hasNullElements
      Src: /src/geos/src/geom/GeometryCollection.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:72,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    - Dst: getSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' newGeoms'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::computeEnvelopeInternal
    - getSRID
    - geos::util::IllegalArgumentException
    - hasNullElements
    - std::move
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(std::vector<std::unique_ptr<Geometry>>
      && newGeoms, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:81,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newSRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::geom::GeometryCollection::setSRID
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setSRID(int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getCoordinates
      Src: /src/geos/src/geom/GeometryCollection.cpp:100,1
    - Dst: auto::getSize
      Src: /src/geos/src/geom/GeometryCollection.cpp:101,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryCollection::getCoordinates
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    - detail::make_unique<CoordinateSequence>
    - auto::getAt
    - geos::geom::GeometryCollection::getCoordinates
    - auto::getSize
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> GeometryCollection::getCoordinates()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: geos::geom::GeometryCollection::isEmpty
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:128,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:129,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:130,1
    - Dst: geos::geom::GeometryCollection::hasM
      Src: /src/geos/src/geom/GeometryCollection.cpp:131,1
    - Dst: geos::geom::GeometryCollection::hasZ
      Src: /src/geos/src/geom/GeometryCollection.cpp:132,1
    - Dst: geos::geom::GeometryCollection::hasCurvedComponents
      Src: /src/geos/src/geom/GeometryCollection.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: geos::geom::GeometryCollection::setFlags
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryCollection::hasZ
    - geos::geom::GeometryCollection::hasM
    - geos::geom::GeometryCollection::hasDimension
    - geos::geom::GeometryCollection::hasCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setFlags() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: geos::geom::GeometryCollection::getDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType GeometryCollection::getDimension() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:158,1
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: geos::geom::GeometryCollection::isDimensionStrict
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isDimensionStrict(Dimension::DimensionType
      d) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: geos::geom::GeometryCollection::hasDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasDimension(Dimension::DimensionType d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    - Dst: geos::geom::GeometryCollection::getBoundaryDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: geos::geom::GeometryCollection::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - std::max
    - geos::geom::GeometryCollection::getBoundaryDimension
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    - Dst: geos::geom::GeometryCollection::getCoordinateDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: geos::geom::GeometryCollection::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinateDimension
    - std::max
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GeometryCollection::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::GeometryCollection::hasM
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::GeometryCollection::hasZ
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::GeometryCollection::getNumGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumGeometries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::GeometryCollection::getGeometryN
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryCollection::getGeometryN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:236,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: geos::geom::GeometryCollection::releaseGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geometryChanged
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryCollection::releaseGeometries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryCollection::getNumPoints
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: geos::geom::GeometryCollection::getGeometryType
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GeometryCollection::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: geos::geom::GeometryCollection::getBoundary
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCollection::getBoundary() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:267,1
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:271,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: GeometryCollection*::geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:275,1
    - Dst: geos::geom::GeometryCollection::equalsExact
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: geos::geom::GeometryCollection::equalsExact
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::equalsExact
    - size
    - GeometryCollection*::geometries::size
    - isEquivalentClass
    - get
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsExact(const Geometry* other, double
      tolerance) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:286,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/geom/GeometryCollection.cpp:290,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:299,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 306
    functionName: geos::geom::GeometryCollection::equalsIdentical
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::getNumGeometries
    - geos::geom::GeometryCollection::getGeometryN
    - isEquivalentClass
    - static_cast<const GeometryCollection&>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:327,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 6
    functionsReached:
    - GeometryFilter*::filter_ro
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:336,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 6
    functionsReached:
    - GeometryFilter*::filter_rw
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::normalize
      Src: /src/geos/src/geom/GeometryCollection.cpp:346,1
    - Dst: std::sort
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: compareTo
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: geos::geom::GeometryCollection::normalize
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:358,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/GeometryCollection.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: geos::geom::GeometryCollection::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope GeometryCollection::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:367,1
    - Dst: compare
      Src: /src/geos/src/geom/GeometryCollection.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: geos::geom::GeometryCollection::compareToSameClass
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - compare
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: geos::geom::GeometryCollection::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:380,1
    - Dst: geos::geom::GeometryCollection::getCoordinate
      Src: /src/geos/src/geom/GeometryCollection.cpp:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryCollection::getCoordinate
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinate
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      GeometryCollection::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getArea
      Src: /src/geos/src/geom/GeometryCollection.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: geos::geom::GeometryCollection::getArea
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::getArea
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getLength
      Src: /src/geos/src/geom/GeometryCollection.cpp:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: geos::geom::GeometryCollection::getLength
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryCollection::getLength
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:416,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:418,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:428,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:430,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryComponentFilter* filter)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:441,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:442,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:446,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 8
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_rw
    - geometryChanged
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:455,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:456,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts:
    - condition: (!filter.isGeometryChanged())
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/geos/src/geom/GeometryCollection.cpp
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 8
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_ro
    - assert
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateSequenceFilter& filter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: geos::geom::GeometryCollection::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId GeometryCollection::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:474,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:475,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:478,1
    - Dst: std::transform
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:481,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:482,1
    - Dst: reverse
      Src: /src/geos/src/geom/GeometryCollection.cpp:484,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: geos::geom::GeometryCollection::reverseImpl
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - geos::geom::GeometryCollection::isEmpty
    - reverse
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection *

      GeometryCollection::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:41,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:45,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - geometries::size
    - clone
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(const GeometryCollection&
      gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:57,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '&

      GeometryCollection::operator=(const GeometryCollection& gc)'
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - resize
    - geometries::size
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection &

      GeometryCollection::operator=(const GeometryCollection& gc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:66,1
    - Dst: geos::geom::GeometryCollection::computeEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:68,1
    - Dst: hasNullElements
      Src: /src/geos/src/geom/GeometryCollection.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:72,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    - Dst: getSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' newGeoms'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::computeEnvelopeInternal
    - getSRID
    - geos::util::IllegalArgumentException
    - hasNullElements
    - std::move
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(std::vector<std::unique_ptr<Geometry>>
      && newGeoms, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:81,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newSRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::geom::GeometryCollection::setSRID
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setSRID(int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getCoordinates
      Src: /src/geos/src/geom/GeometryCollection.cpp:100,1
    - Dst: auto::getSize
      Src: /src/geos/src/geom/GeometryCollection.cpp:101,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryCollection::getCoordinates
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    - detail::make_unique<CoordinateSequence>
    - auto::getAt
    - geos::geom::GeometryCollection::getCoordinates
    - auto::getSize
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> GeometryCollection::getCoordinates()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: geos::geom::GeometryCollection::isEmpty
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:128,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:129,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:130,1
    - Dst: geos::geom::GeometryCollection::hasM
      Src: /src/geos/src/geom/GeometryCollection.cpp:131,1
    - Dst: geos::geom::GeometryCollection::hasZ
      Src: /src/geos/src/geom/GeometryCollection.cpp:132,1
    - Dst: geos::geom::GeometryCollection::hasCurvedComponents
      Src: /src/geos/src/geom/GeometryCollection.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: geos::geom::GeometryCollection::setFlags
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::GeometryCollection::hasZ
    - geos::geom::GeometryCollection::hasM
    - geos::geom::GeometryCollection::hasDimension
    - geos::geom::GeometryCollection::hasCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setFlags() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: geos::geom::GeometryCollection::getDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType GeometryCollection::getDimension() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:158,1
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: geos::geom::GeometryCollection::isDimensionStrict
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isDimensionStrict(Dimension::DimensionType
      d) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: geos::geom::GeometryCollection::hasDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasDimension(Dimension::DimensionType d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    - Dst: geos::geom::GeometryCollection::getBoundaryDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: geos::geom::GeometryCollection::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - std::max
    - geos::geom::GeometryCollection::getBoundaryDimension
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    - Dst: geos::geom::GeometryCollection::getCoordinateDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: geos::geom::GeometryCollection::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinateDimension
    - std::max
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GeometryCollection::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::GeometryCollection::hasM
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::GeometryCollection::hasZ
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::GeometryCollection::getNumGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumGeometries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::GeometryCollection::getGeometryN
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryCollection::getGeometryN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:236,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: geos::geom::GeometryCollection::releaseGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geometryChanged
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryCollection::releaseGeometries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryCollection::getNumPoints
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: geos::geom::GeometryCollection::getGeometryType
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GeometryCollection::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: geos::geom::GeometryCollection::getBoundary
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCollection::getBoundary() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:267,1
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:271,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: GeometryCollection*::geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:275,1
    - Dst: geos::geom::GeometryCollection::equalsExact
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: geos::geom::GeometryCollection::equalsExact
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::equalsExact
    - size
    - GeometryCollection*::geometries::size
    - isEquivalentClass
    - get
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsExact(const Geometry* other, double
      tolerance) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:286,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/geom/GeometryCollection.cpp:290,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:299,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 306
    functionName: geos::geom::GeometryCollection::equalsIdentical
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::getNumGeometries
    - geos::geom::GeometryCollection::getGeometryN
    - isEquivalentClass
    - static_cast<const GeometryCollection&>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:327,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 10
    functionsReached:
    - GeometryFilter*::filter_ro
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:336,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 10
    functionsReached:
    - GeometryFilter*::filter_rw
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::normalize
      Src: /src/geos/src/geom/GeometryCollection.cpp:346,1
    - Dst: std::sort
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: compareTo
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: geos::geom::GeometryCollection::normalize
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:358,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/GeometryCollection.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: geos::geom::GeometryCollection::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope GeometryCollection::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:367,1
    - Dst: compare
      Src: /src/geos/src/geom/GeometryCollection.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: geos::geom::GeometryCollection::compareToSameClass
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - compare
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: geos::geom::GeometryCollection::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:380,1
    - Dst: geos::geom::GeometryCollection::getCoordinate
      Src: /src/geos/src/geom/GeometryCollection.cpp:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryCollection::getCoordinate
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinate
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      GeometryCollection::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getArea
      Src: /src/geos/src/geom/GeometryCollection.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: geos::geom::GeometryCollection::getArea
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::getArea
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getLength
      Src: /src/geos/src/geom/GeometryCollection.cpp:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: geos::geom::GeometryCollection::getLength
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryCollection::getLength
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:416,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:418,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:428,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:430,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryComponentFilter* filter)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:441,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:442,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:446,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 12
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_rw
    - geometryChanged
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:455,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:456,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts:
    - condition: (!filter.isGeometryChanged())
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/geos/src/geom/GeometryCollection.cpp
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 12
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_ro
    - assert
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateSequenceFilter& filter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: geos::geom::GeometryCollection::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId GeometryCollection::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:474,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:475,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:478,1
    - Dst: std::transform
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:481,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:482,1
    - Dst: reverse
      Src: /src/geos/src/geom/GeometryCollection.cpp:484,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: geos::geom::GeometryCollection::reverseImpl
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - geos::geom::GeometryCollection::isEmpty
    - reverse
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection *

      GeometryCollection::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:41,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:45,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - geometries::size
    - clone
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(const GeometryCollection&
      gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:53,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:57,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' gc'
    argTypes:
    - GeometryCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '&

      GeometryCollection::operator=(const GeometryCollection& gc)'
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - size
    - resize
    - geometries::size
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection &

      GeometryCollection::operator=(const GeometryCollection& gc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:66,1
    - Dst: geos::geom::GeometryCollection::computeEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:68,1
    - Dst: hasNullElements
      Src: /src/geos/src/geom/GeometryCollection.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:72,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    - Dst: getSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' newGeoms'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: geos::geom::GeometryCollection::GeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::computeEnvelopeInternal
    - getSRID
    - geos::util::IllegalArgumentException
    - hasNullElements
    - std::move
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::GeometryCollection(std::vector<std::unique_ptr<Geometry>>
      && newGeoms, const GeometryFactory& factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:81,1
    - Dst: geos::geom::GeometryCollection::setSRID
      Src: /src/geos/src/geom/GeometryCollection.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newSRID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: geos::geom::GeometryCollection::setSRID
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::GeometryCollection::setSRID
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setSRID(int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:96,1
    - Dst: geos::geom::GeometryCollection::getCoordinates
      Src: /src/geos/src/geom/GeometryCollection.cpp:100,1
    - Dst: auto::getSize
      Src: /src/geos/src/geom/GeometryCollection.cpp:101,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/GeometryCollection.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryCollection::getCoordinates
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    - detail::make_unique<CoordinateSequence>
    - auto::getAt
    - geos::geom::GeometryCollection::getCoordinates
    - auto::getSize
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> GeometryCollection::getCoordinates()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: geos::geom::GeometryCollection::isEmpty
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:128,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:129,1
    - Dst: geos::geom::GeometryCollection::hasDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:130,1
    - Dst: geos::geom::GeometryCollection::hasM
      Src: /src/geos/src/geom/GeometryCollection.cpp:131,1
    - Dst: geos::geom::GeometryCollection::hasZ
      Src: /src/geos/src/geom/GeometryCollection.cpp:132,1
    - Dst: geos::geom::GeometryCollection::hasCurvedComponents
      Src: /src/geos/src/geom/GeometryCollection.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: geos::geom::GeometryCollection::setFlags
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 18
    functionsReached:
    - geos::geom::GeometryCollection::hasZ
    - geos::geom::GeometryCollection::hasM
    - geos::geom::GeometryCollection::hasDimension
    - geos::geom::GeometryCollection::hasCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::setFlags() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: geos::geom::GeometryCollection::getDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType GeometryCollection::getDimension() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:158,1
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: geos::geom::GeometryCollection::isDimensionStrict
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::isEmpty
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::isDimensionStrict(Dimension::DimensionType
      d) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: geos::geom::GeometryCollection::hasDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasDimension(Dimension::DimensionType d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    - Dst: geos::geom::GeometryCollection::getBoundaryDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: geos::geom::GeometryCollection::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - std::max
    - geos::geom::GeometryCollection::getBoundaryDimension
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    - Dst: geos::geom::GeometryCollection::getCoordinateDimension
      Src: /src/geos/src/geom/GeometryCollection.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: geos::geom::GeometryCollection::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinateDimension
    - std::max
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GeometryCollection::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: geos::geom::GeometryCollection::hasM
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: geos::geom::GeometryCollection::hasZ
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: geos::geom::GeometryCollection::getNumGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumGeometries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::GeometryCollection::getGeometryN
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 3
    functionsReached:
    - get
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryCollection::getGeometryN(std::size_t n) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:236,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: geos::geom::GeometryCollection::releaseGeometries
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geometryChanged
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryCollection::releaseGeometries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getNumPoints
      Src: /src/geos/src/geom/GeometryCollection.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryCollection::getNumPoints
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::GeometryCollection::getNumPoints
    linkageType: ''
    returnType: size_t
    signature: size_t GeometryCollection::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: geos::geom::GeometryCollection::getGeometryType
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GeometryCollection::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryCollection.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: geos::geom::GeometryCollection::getBoundary
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCollection::getBoundary() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:267,1
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:271,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: GeometryCollection*::geometries::size
      Src: /src/geos/src/geom/GeometryCollection.cpp:272,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:275,1
    - Dst: geos::geom::GeometryCollection::equalsExact
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: geos::geom::GeometryCollection::equalsExact
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::equalsExact
    - size
    - GeometryCollection*::geometries::size
    - isEquivalentClass
    - get
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsExact(const Geometry* other, double
      tolerance) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/GeometryCollection.cpp:286,1
    - Dst: static_cast<const GeometryCollection&>
      Src: /src/geos/src/geom/GeometryCollection.cpp:290,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:291,1
    - Dst: geos::geom::GeometryCollection::getNumGeometries
      Src: /src/geos/src/geom/GeometryCollection.cpp:299,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    - Dst: geos::geom::GeometryCollection::getGeometryN
      Src: /src/geos/src/geom/GeometryCollection.cpp:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - other_g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 306
    functionName: geos::geom::GeometryCollection::equalsIdentical
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryCollection::getNumGeometries
    - geos::geom::GeometryCollection::getGeometryN
    - isEquivalentClass
    - static_cast<const GeometryCollection&>
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::equalsIdentical(const Geometry* other_g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:327,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 14
    functionsReached:
    - GeometryFilter*::filter_ro
    - geos::geom::GeometryCollection::apply_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:336,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 14
    functionsReached:
    - GeometryFilter*::filter_rw
    - geos::geom::GeometryCollection::apply_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::normalize
      Src: /src/geos/src/geom/GeometryCollection.cpp:346,1
    - Dst: std::sort
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:348,1
    - Dst: compareTo
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/GeometryCollection.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: geos::geom::GeometryCollection::normalize
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/GeometryCollection.cpp:358,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/GeometryCollection.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: geos::geom::GeometryCollection::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope GeometryCollection::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/GeometryCollection.cpp:367,1
    - Dst: compare
      Src: /src/geos/src/geom/GeometryCollection.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: geos::geom::GeometryCollection::compareToSameClass
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - compare
    - detail::down_cast<const GeometryCollection*>
    linkageType: ''
    returnType: int
    signature: int GeometryCollection::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::setFlags
      Src: /src/geos/src/geom/GeometryCollection.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: geos::geom::GeometryCollection::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::setFlags
    linkageType: ''
    returnType: bool
    signature: bool GeometryCollection::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:380,1
    - Dst: geos::geom::GeometryCollection::getCoordinate
      Src: /src/geos/src/geom/GeometryCollection.cpp:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryCollection::getCoordinate
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::getCoordinate
    - geos::geom::GeometryCollection::isEmpty
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      GeometryCollection::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getArea
      Src: /src/geos/src/geom/GeometryCollection.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: geos::geom::GeometryCollection::getArea
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::getArea
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::getLength
      Src: /src/geos/src/geom/GeometryCollection.cpp:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: geos::geom::GeometryCollection::getLength
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryCollection::getLength
    linkageType: ''
    returnType: double
    signature: double GeometryCollection::getLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:416,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:418,1
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::GeometryCollection::apply_rw
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:428,1
    - Dst: GeometryComponentFilter*::isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:430,1
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::GeometryCollection::apply_ro
    - GeometryComponentFilter*::isDone
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(GeometryComponentFilter* filter)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_rw
      Src: /src/geos/src/geom/GeometryCollection.cpp:441,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:442,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:446,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: geos::geom::GeometryCollection::apply_rw
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 16
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_rw
    - geometryChanged
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::apply_ro
      Src: /src/geos/src/geom/GeometryCollection.cpp:455,1
    - Dst: isDone
      Src: /src/geos/src/geom/GeometryCollection.cpp:456,1
    - Dst: assert
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/GeometryCollection.cpp:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts:
    - condition: (!filter.isGeometryChanged())
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/geos/src/geom/GeometryCollection.cpp
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: geos::geom::GeometryCollection::apply_ro
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 16
    functionsReached:
    - isDone
    - geos::geom::GeometryCollection::apply_ro
    - assert
    - isGeometryChanged
    linkageType: ''
    returnType: void
    signature: void GeometryCollection::apply_ro(CoordinateSequenceFilter& filter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: geos::geom::GeometryCollection::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId GeometryCollection::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryCollection::isEmpty
      Src: /src/geos/src/geom/GeometryCollection.cpp:474,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryCollection.cpp:475,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryCollection.cpp:478,1
    - Dst: std::transform
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:480,1
    - Dst: end
      Src: /src/geos/src/geom/GeometryCollection.cpp:481,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/GeometryCollection.cpp:482,1
    - Dst: reverse
      Src: /src/geos/src/geom/GeometryCollection.cpp:484,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryCollection.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: geos::geom::GeometryCollection::reverseImpl
    functionSourceFile: /src/geos/src/geom/GeometryCollection.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - geos::geom::GeometryCollection::isEmpty
    - reverse
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: GeometryCollection
    signature: 'GeometryCollection *

      GeometryCollection::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::computeEnvelopeInternal
      Src: /src/geos/src/geom/Point.cpp:48,1
    - Dst: getSize
      Src: /src/geos/src/geom/Point.cpp:50,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Point.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' newCoords'
    - factory
    argTypes:
    - CoordinateSequence
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::computeEnvelopeInternal
    - geos::util::IllegalArgumentException
    - getSize
    linkageType: ''
    returnType: void
    signature: void Point::Point(CoordinateSequence&& newCoords, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - Coordinate
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Coordinate & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXY & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYM & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: setAt
      Src: /src/geos/src/geom/Point.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYZM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - setAt
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYZM & c, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Point& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::Point::getCoordinates
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Point::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/Point.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::Point::getNumPoints
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t Point::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Point::isEmpty
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Point::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::Point::isSimple
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Point::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::Point::getDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType Point::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::Point::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Point::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::Point::hasM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.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: geos::geom::Point::hasZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::Point::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Point::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:150,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:151,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: geos::geom::Point::getX
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:159,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: geos::geom::Point::getY
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getY() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:168,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:169,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: geos::geom::Point::getZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:177,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:178,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: geos::geom::Point::getM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::Point::getGeometryType
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Point::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Point.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Point::getBoundary
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Point::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:198,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:199,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:202,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: geos::geom::Point::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - Envelope
    - geos::geom::Point::isEmpty
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Point::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_ro
      Src: /src/geos/src/geom/Point.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Point::apply_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_rw
      Src: /src/geos/src/geom/Point.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Point::apply_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:244,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/Point.cpp:247,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Point.cpp:248,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Point.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - isGeometryChanged
    - geometryChanged
    - geos::geom::Point::isEmpty
    - filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:256,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/Point.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 1
    functionsReached:
    - filter_ro
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:265,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:273,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:274,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:276,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:280,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:281,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:284,1
    - Dst: equal
      Src: /src/geos/src/geom/Point.cpp:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts:
    - condition: (dynamic_cast<const Point*>(other))
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/geom/Point.cpp
    - condition: (this_coord && other_coord)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geom/Point.cpp
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: geos::geom::Point::equalsExact
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - geos::geom::Point::isEmpty
    - getCoordinate
    - isEquivalentClass
    - equal
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsExact(const Geometry* other, double tolerance) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:292,1
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:296,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: geos::geom::Point::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - geos::geom::Point::getCoordinatesRO
    - isEquivalentClass
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:303,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: geos::geom::Point::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - Point*::getCoordinate
    - getCoordinate
    - detail::down_cast<const Point*>
    linkageType: ''
    returnType: int
    signature: int Point::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::Point::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Point::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: geos::geom::Point::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      Point::getCoordinatesRO() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::computeEnvelopeInternal
      Src: /src/geos/src/geom/Point.cpp:48,1
    - Dst: getSize
      Src: /src/geos/src/geom/Point.cpp:50,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Point.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' newCoords'
    - factory
    argTypes:
    - CoordinateSequence
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::computeEnvelopeInternal
    - geos::util::IllegalArgumentException
    - getSize
    linkageType: ''
    returnType: void
    signature: void Point::Point(CoordinateSequence&& newCoords, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - Coordinate
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Coordinate & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXY & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYM & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: setAt
      Src: /src/geos/src/geom/Point.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYZM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - setAt
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYZM & c, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Point& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::Point::getCoordinates
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Point::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/Point.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::Point::getNumPoints
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t Point::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Point::isEmpty
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Point::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::Point::isSimple
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Point::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::Point::getDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType Point::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::Point::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Point::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::Point::hasM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.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: geos::geom::Point::hasZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::Point::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Point::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:150,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:151,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: geos::geom::Point::getX
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:159,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: geos::geom::Point::getY
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getY() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:168,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:169,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: geos::geom::Point::getZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:177,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:178,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: geos::geom::Point::getM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::Point::getGeometryType
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Point::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Point.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Point::getBoundary
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Point::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:198,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:199,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:202,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: geos::geom::Point::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - Envelope
    - geos::geom::Point::isEmpty
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Point::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_ro
      Src: /src/geos/src/geom/Point.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Point::apply_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_rw
      Src: /src/geos/src/geom/Point.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Point::apply_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:244,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/Point.cpp:247,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Point.cpp:248,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Point.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - isGeometryChanged
    - geometryChanged
    - geos::geom::Point::isEmpty
    - filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:256,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/Point.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 2
    functionsReached:
    - filter_ro
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:265,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:273,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:274,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:276,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:280,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:281,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:284,1
    - Dst: equal
      Src: /src/geos/src/geom/Point.cpp:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts:
    - condition: (dynamic_cast<const Point*>(other))
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/geom/Point.cpp
    - condition: (this_coord && other_coord)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geom/Point.cpp
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: geos::geom::Point::equalsExact
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - geos::geom::Point::isEmpty
    - getCoordinate
    - isEquivalentClass
    - equal
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsExact(const Geometry* other, double tolerance) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:292,1
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:296,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: geos::geom::Point::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - geos::geom::Point::getCoordinatesRO
    - isEquivalentClass
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:303,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: geos::geom::Point::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - Point*::getCoordinate
    - getCoordinate
    - detail::down_cast<const Point*>
    linkageType: ''
    returnType: int
    signature: int Point::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::Point::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Point::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: geos::geom::Point::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      Point::getCoordinatesRO() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::computeEnvelopeInternal
      Src: /src/geos/src/geom/Point.cpp:48,1
    - Dst: getSize
      Src: /src/geos/src/geom/Point.cpp:50,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Point.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' newCoords'
    - factory
    argTypes:
    - CoordinateSequence
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::computeEnvelopeInternal
    - geos::util::IllegalArgumentException
    - getSize
    linkageType: ''
    returnType: void
    signature: void Point::Point(CoordinateSequence&& newCoords, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - Coordinate
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Coordinate & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXY & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYM & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: setAt
      Src: /src/geos/src/geom/Point.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYZM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - setAt
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYZM & c, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Point& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::Point::getCoordinates
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Point::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/Point.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::Point::getNumPoints
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t Point::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Point::isEmpty
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 19
    functionsReached:
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Point::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::Point::isSimple
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Point::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::Point::getDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType Point::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::Point::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Point::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::Point::hasM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.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: geos::geom::Point::hasZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::Point::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Point::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:150,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:151,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: geos::geom::Point::getX
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:159,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: geos::geom::Point::getY
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getY() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:168,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:169,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: geos::geom::Point::getZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:177,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:178,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: geos::geom::Point::getM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::Point::getGeometryType
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Point::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Point.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Point::getBoundary
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Point::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:198,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:199,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:202,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: geos::geom::Point::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - Envelope
    - geos::geom::Point::isEmpty
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Point::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_ro
      Src: /src/geos/src/geom/Point.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Point::apply_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_rw
      Src: /src/geos/src/geom/Point.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Point::apply_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:244,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/Point.cpp:247,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Point.cpp:248,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Point.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - isGeometryChanged
    - geometryChanged
    - geos::geom::Point::isEmpty
    - filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:256,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/Point.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 3
    functionsReached:
    - filter_ro
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:265,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:273,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:274,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:276,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:280,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:281,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:284,1
    - Dst: equal
      Src: /src/geos/src/geom/Point.cpp:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts:
    - condition: (dynamic_cast<const Point*>(other))
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/geom/Point.cpp
    - condition: (this_coord && other_coord)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geom/Point.cpp
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: geos::geom::Point::equalsExact
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - geos::geom::Point::isEmpty
    - getCoordinate
    - isEquivalentClass
    - equal
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsExact(const Geometry* other, double tolerance) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:292,1
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:296,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: geos::geom::Point::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - geos::geom::Point::getCoordinatesRO
    - isEquivalentClass
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:303,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: geos::geom::Point::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - Point*::getCoordinate
    - getCoordinate
    - detail::down_cast<const Point*>
    linkageType: ''
    returnType: int
    signature: int Point::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::Point::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Point::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: geos::geom::Point::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      Point::getCoordinatesRO() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::computeEnvelopeInternal
      Src: /src/geos/src/geom/Point.cpp:48,1
    - Dst: getSize
      Src: /src/geos/src/geom/Point.cpp:50,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/Point.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ' newCoords'
    - factory
    argTypes:
    - CoordinateSequence
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::computeEnvelopeInternal
    - geos::util::IllegalArgumentException
    - getSize
    linkageType: ''
    returnType: void
    signature: void Point::Point(CoordinateSequence&& newCoords, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - Coordinate
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Coordinate & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXY
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXY & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYM & c, const GeometryFactory* factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: std::isnan
      Src: /src/geos/src/geom/Point.cpp:80,1
    - Dst: setAt
      Src: /src/geos/src/geom/Point.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' c'
    - factory
    argTypes:
    - CoordinateXYZM
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - setAt
    - std::isnan
    linkageType: ''
    returnType: void
    signature: void Point::Point(const CoordinateXYZM & c, const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::Point::Point
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Point::Point(const Point& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::Point::getCoordinates
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Point::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/Point.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::Point::getNumPoints
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t Point::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Point::isEmpty
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 28
    functionsReached:
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool Point::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::Point::isSimple
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Point::isSimple() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::Point::getDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType Point::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::Point::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Point::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::Point::hasM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.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: geos::geom::Point::hasZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::getCoordinatesRO
    linkageType: ''
    returnType: bool
    signature: bool Point::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::Point::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Point::getBoundaryDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:150,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:151,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: geos::geom::Point::getX
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getX() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:159,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: geos::geom::Point::getY
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getCoordinate
    linkageType: ''
    returnType: double
    signature: double Point::getY() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:168,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:169,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: geos::geom::Point::getZ
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getZ() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:177,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/Point.cpp:178,1
    - Dst: getOrdinate
      Src: /src/geos/src/geom/Point.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: geos::geom::Point::getM
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Point::isEmpty
    - geos::util::UnsupportedOperationException
    - getOrdinate
    linkageType: ''
    returnType: double
    signature: double Point::getM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::Point::getGeometryType
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Point::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Point.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Point::getBoundary
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Point::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:198,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:199,1
    - Dst: Envelope
      Src: /src/geos/src/geom/Point.cpp:202,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: geos::geom::Point::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - Envelope
    - geos::geom::Point::isEmpty
    - getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: Envelope Point::computeEnvelopeInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_ro
      Src: /src/geos/src/geom/Point.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Point::apply_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::apply_rw
      Src: /src/geos/src/geom/Point.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Point::apply_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(const CoordinateFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - GeometryFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - GeometryFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryFilter* filter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_rw
      Src: /src/geos/src/geom/Point.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - GeometryComponentFilter*::filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(GeometryComponentFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryComponentFilter*::filter_ro
      Src: /src/geos/src/geom/Point.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeometryComponentFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - GeometryComponentFilter*::filter_ro
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(GeometryComponentFilter* filter) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:244,1
    - Dst: filter_rw
      Src: /src/geos/src/geom/Point.cpp:247,1
    - Dst: isGeometryChanged
      Src: /src/geos/src/geom/Point.cpp:248,1
    - Dst: geometryChanged
      Src: /src/geos/src/geom/Point.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: geos::geom::Point::apply_rw
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - isGeometryChanged
    - geometryChanged
    - geos::geom::Point::isEmpty
    - filter_rw
    linkageType: ''
    returnType: void
    signature: void Point::apply_rw(CoordinateSequenceFilter& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:256,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/Point.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: geos::geom::Point::apply_ro
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 4
    functionsReached:
    - filter_ro
    - geos::geom::Point::isEmpty
    linkageType: ''
    returnType: void
    signature: void Point::apply_ro(CoordinateSequenceFilter& filter) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:265,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:271,1
    - Dst: geos::geom::Point::isEmpty
      Src: /src/geos/src/geom/Point.cpp:273,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:274,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/Point.cpp:276,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:280,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:281,1
    - Dst: assert
      Src: /src/geos/src/geom/Point.cpp:284,1
    - Dst: equal
      Src: /src/geos/src/geom/Point.cpp:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts:
    - condition: (dynamic_cast<const Point*>(other))
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/geos/src/geom/Point.cpp
    - condition: (this_coord && other_coord)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geom/Point.cpp
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: geos::geom::Point::equalsExact
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - geos::geom::Point::isEmpty
    - getCoordinate
    - isEquivalentClass
    - equal
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsExact(const Geometry* other, double tolerance) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/Point.cpp:292,1
    - Dst: geos::geom::Point::getCoordinatesRO
      Src: /src/geos/src/geom/Point.cpp:296,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: geos::geom::Point::equalsIdentical
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - geos::geom::Point::getCoordinatesRO
    - isEquivalentClass
    linkageType: ''
    returnType: bool
    signature: bool Point::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const Point*>
      Src: /src/geos/src/geom/Point.cpp:303,1
    - Dst: getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/Point.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: geos::geom::Point::compareToSameClass
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached:
    - Point*::getCoordinate
    - getCoordinate
    - detail::down_cast<const Point*>
    linkageType: ''
    returnType: int
    signature: int Point::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::Point::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Point::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: geos::geom::Point::getCoordinatesRO
    functionSourceFile: /src/geos/src/geom/Point.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      Point::getCoordinatesRO() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Envelope::intersects(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                     const CoordinateXY& q)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:61,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:66,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:71,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 12
    functionsReached:
    - std::isgreaterequal
    - std::isless
    - std::isgreater
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersects(const CoordinateXY& a, const CoordinateXY&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geom/Envelope.cpp:90,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: size
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: geos::geom::Envelope::split
      Src: /src/geos/src/geom/Envelope.cpp:94,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: geos::geom::Envelope::Envelope
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 12
    functionsReached:
    - find
    - size
    - strtod
    - geos::geom::Envelope::split
    - substr
    - c_str
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::Envelope(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:108,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:109,1
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:110,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::geom::Envelope::covers
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::isgreaterequal
    - std::islessequal
    linkageType: ''
    returnType: bool
    signature: bool Envelope::covers(const Envelope& other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:118,1
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/Envelope.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::geom::Envelope::equals
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - Envelope*::isNull
    linkageType: ''
    returnType: bool
    signature: bool Envelope::equals(const Envelope* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::geom::Envelope::isfinite
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Envelope::isfinite
    linkageType: ''
    returnType: bool
    signature: bool Envelope::isfinite() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' o'
    argTypes:
    - std::ostream
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: '&

      operator<< (std::ostream& os, const Envelope& o)'
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Envelope& o)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Envelope.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: geos::geom::Envelope::toString
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Envelope::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: find_first_not_of
      Src: /src/geos/src/geom/Envelope.cpp:168,1
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - ' delimiters'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: geos::geom::Envelope::split
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 1
    functionsReached:
    - substr
    - std::vector::push_back
    - find_first_not_of
    - find_first_of
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Envelope::split(const std::string& str, const
      std::string& delimiters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:181,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' p_centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: geos::geom::Envelope::centre
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Envelope::centre(CoordinateXY& p_centre) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' env'
    - ' result'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: geos::geom::Envelope::intersection
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - init
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersection(const Envelope& env, Envelope& result)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:209,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - transX
    - transY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: geos::geom::Envelope::translate
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::translate(double transX, double transY)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: setToNull
      Src: /src/geos/src/geom/Envelope.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - deltaX
    - deltaY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::geom::Envelope::expandBy
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - std::isgreater
    linkageType: ''
    returnType: void
    signature: void Envelope::expandBy(double deltaX, double deltaY)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::isNull
      Src: /src/geos/src/geom/Envelope.cpp:242,1
    - Dst: geos::geom::isNull
      Src: /src/geos/src/geom/Envelope.cpp:244,1
    - Dst: geos::geom::isNull
      Src: /src/geos/src/geom/Envelope.cpp:251,1
    - Dst: geos::geom::getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: geos::geom::getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: geos::geom::getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: geos::geom::getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: geos::geom::getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: geos::geom::getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: geos::geom::getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: geos::geom::getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: geos::geom::getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: geos::geom::getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: geos::geom::getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: geos::geom::getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: geos::geom::getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: geos::geom::getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: geos::geom::getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    - Dst: geos::geom::getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 264
    functionName: operator< (const Envelope& a, const Envelope& b)
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isNull
    - geos::geom::getMaxY
    - geos::geom::getMinX
    - geos::geom::getMinY
    - geos::geom::getMaxX
    linkageType: ''
    returnType: bool
    signature: bool operator< (const Envelope& a, const Envelope& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Envelope::intersects(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                     const CoordinateXY& q)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:61,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:66,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:71,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 13
    functionsReached:
    - std::isgreaterequal
    - std::isless
    - std::isgreater
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersects(const CoordinateXY& a, const CoordinateXY&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geom/Envelope.cpp:90,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: size
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: geos::geom::Envelope::split
      Src: /src/geos/src/geom/Envelope.cpp:94,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: geos::geom::Envelope::Envelope
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 12
    functionsReached:
    - find
    - size
    - strtod
    - geos::geom::Envelope::split
    - substr
    - c_str
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::Envelope(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:108,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:109,1
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:110,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::geom::Envelope::covers
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::isgreaterequal
    - std::islessequal
    linkageType: ''
    returnType: bool
    signature: bool Envelope::covers(const Envelope& other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:118,1
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/Envelope.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::geom::Envelope::equals
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - Envelope*::isNull
    linkageType: ''
    returnType: bool
    signature: bool Envelope::equals(const Envelope* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::geom::Envelope::isfinite
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Envelope::isfinite
    linkageType: ''
    returnType: bool
    signature: bool Envelope::isfinite() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' o'
    argTypes:
    - std::ostream
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: '&

      operator<< (std::ostream& os, const Envelope& o)'
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Envelope& o)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Envelope.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: geos::geom::Envelope::toString
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Envelope::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: find_first_not_of
      Src: /src/geos/src/geom/Envelope.cpp:168,1
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - ' delimiters'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: geos::geom::Envelope::split
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 2
    functionsReached:
    - substr
    - std::vector::push_back
    - find_first_not_of
    - find_first_of
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Envelope::split(const std::string& str, const
      std::string& delimiters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:181,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' p_centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: geos::geom::Envelope::centre
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Envelope::centre(CoordinateXY& p_centre) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' env'
    - ' result'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: geos::geom::Envelope::intersection
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - init
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersection(const Envelope& env, Envelope& result)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:209,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - transX
    - transY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: geos::geom::Envelope::translate
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::translate(double transX, double transY)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: setToNull
      Src: /src/geos/src/geom/Envelope.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - deltaX
    - deltaY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::geom::Envelope::expandBy
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - std::isgreater
    linkageType: ''
    returnType: void
    signature: void Envelope::expandBy(double deltaX, double deltaY)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:242,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:244,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:251,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 264
    functionName: operator< (const Envelope& a, const Envelope& b)
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool operator< (const Envelope& a, const Envelope& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Envelope::intersects(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                     const CoordinateXY& q)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:61,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:66,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:71,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 14
    functionsReached:
    - std::isgreaterequal
    - std::isless
    - std::isgreater
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersects(const CoordinateXY& a, const CoordinateXY&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geom/Envelope.cpp:90,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: size
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: geos::geom::Envelope::split
      Src: /src/geos/src/geom/Envelope.cpp:94,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: geos::geom::Envelope::Envelope
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 12
    functionsReached:
    - find
    - size
    - strtod
    - geos::geom::Envelope::split
    - substr
    - c_str
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::Envelope(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:108,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:109,1
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:110,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::geom::Envelope::covers
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::isgreaterequal
    - std::islessequal
    linkageType: ''
    returnType: bool
    signature: bool Envelope::covers(const Envelope& other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:118,1
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/Envelope.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::geom::Envelope::equals
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - Envelope*::isNull
    linkageType: ''
    returnType: bool
    signature: bool Envelope::equals(const Envelope* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::geom::Envelope::isfinite
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::Envelope::isfinite
    linkageType: ''
    returnType: bool
    signature: bool Envelope::isfinite() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' o'
    argTypes:
    - std::ostream
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: '&

      operator<< (std::ostream& os, const Envelope& o)'
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Envelope& o)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Envelope.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: geos::geom::Envelope::toString
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Envelope::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: find_first_not_of
      Src: /src/geos/src/geom/Envelope.cpp:168,1
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - ' delimiters'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: geos::geom::Envelope::split
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 3
    functionsReached:
    - substr
    - std::vector::push_back
    - find_first_not_of
    - find_first_of
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Envelope::split(const std::string& str, const
      std::string& delimiters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:181,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' p_centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: geos::geom::Envelope::centre
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Envelope::centre(CoordinateXY& p_centre) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' env'
    - ' result'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: geos::geom::Envelope::intersection
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - init
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersection(const Envelope& env, Envelope& result)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:209,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - transX
    - transY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: geos::geom::Envelope::translate
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::translate(double transX, double transY)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: setToNull
      Src: /src/geos/src/geom/Envelope.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - deltaX
    - deltaY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::geom::Envelope::expandBy
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - std::isgreater
    linkageType: ''
    returnType: void
    signature: void Envelope::expandBy(double deltaX, double deltaY)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:242,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:244,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:251,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 264
    functionName: operator< (const Envelope& a, const Envelope& b)
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool operator< (const Envelope& a, const Envelope& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ' p1'
    - ' p2'
    - ' q'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Envelope::intersects(const CoordinateXY& p1, const CoordinateXY&
      p2,\n                     const CoordinateXY& q)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:61,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:66,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:71,1
    - Dst: std::isless
      Src: /src/geos/src/geom/Envelope.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: geos::geom::Envelope::intersects
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 15
    functionsReached:
    - std::isgreaterequal
    - std::isless
    - std::isgreater
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersects(const CoordinateXY& a, const CoordinateXY&
      b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geom/Envelope.cpp:90,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: size
      Src: /src/geos/src/geom/Envelope.cpp:91,1
    - Dst: geos::geom::Envelope::split
      Src: /src/geos/src/geom/Envelope.cpp:94,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:97,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:98,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:99,1
    - Dst: strtod
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    - Dst: c_str
      Src: /src/geos/src/geom/Envelope.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: geos::geom::Envelope::Envelope
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 12
    functionsReached:
    - find
    - size
    - strtod
    - geos::geom::Envelope::split
    - substr
    - c_str
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::Envelope(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:108,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:109,1
    - Dst: std::isgreaterequal
      Src: /src/geos/src/geom/Envelope.cpp:110,1
    - Dst: std::islessequal
      Src: /src/geos/src/geom/Envelope.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: geos::geom::Envelope::covers
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::isgreaterequal
    - std::islessequal
    linkageType: ''
    returnType: bool
    signature: bool Envelope::covers(const Envelope& other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:118,1
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/Envelope.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: geos::geom::Envelope::equals
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - Envelope*::isNull
    linkageType: ''
    returnType: bool
    signature: bool Envelope::equals(const Envelope* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:130,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    - Dst: geos::geom::Envelope::isfinite
      Src: /src/geos/src/geom/Envelope.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: geos::geom::Envelope::isfinite
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::Envelope::isfinite
    linkageType: ''
    returnType: bool
    signature: bool Envelope::isfinite() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' o'
    argTypes:
    - std::ostream
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: '&

      operator<< (std::ostream& os, const Envelope& o)'
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Envelope& o)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/Envelope.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: geos::geom::Envelope::toString
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Envelope::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: substr
      Src: /src/geos/src/geom/Envelope.cpp:165,1
    - Dst: find_first_not_of
      Src: /src/geos/src/geom/Envelope.cpp:168,1
    - Dst: find_first_of
      Src: /src/geos/src/geom/Envelope.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' str'
    - ' delimiters'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: geos::geom::Envelope::split
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 4
    functionsReached:
    - substr
    - std::vector::push_back
    - find_first_not_of
    - find_first_of
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Envelope::split(const std::string& str, const
      std::string& delimiters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:181,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:184,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' p_centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: geos::geom::Envelope::centre
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Envelope::centre(CoordinateXY& p_centre) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geom/Envelope.cpp:193,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' env'
    - ' result'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: geos::geom::Envelope::intersection
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - init
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: bool
    signature: bool Envelope::intersection(const Envelope& env, Envelope& result)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:209,1
    - Dst: init
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:212,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - transX
    - transY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: geos::geom::Envelope::translate
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    - init
    linkageType: ''
    returnType: void
    signature: void Envelope::translate(double transX, double transY)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: std::isgreater
      Src: /src/geos/src/geom/Envelope.cpp:227,1
    - Dst: setToNull
      Src: /src/geos/src/geom/Envelope.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - deltaX
    - deltaY
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::geom::Envelope::expandBy
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - setToNull
    - std::isgreater
    linkageType: ''
    returnType: void
    signature: void Envelope::expandBy(double deltaX, double deltaY)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:242,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:244,1
    - Dst: isNull
      Src: /src/geos/src/geom/Envelope.cpp:251,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:255,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Envelope.cpp:256,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:257,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Envelope.cpp:258,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:259,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Envelope.cpp:260,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:261,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Envelope.cpp:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - Envelope
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 264
    functionName: operator< (const Envelope& a, const Envelope& b)
    functionSourceFile: /src/geos/src/geom/Envelope.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool operator< (const Envelope& a, const Envelope& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:51,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: geos::geom::Polygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - hasZ
    - std::make_unique<CoordinateSequence>
    - getNumPoints
    - getCoordinatesRO
    - hasM
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Polygon::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::Polygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Polygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:86,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:88,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: empty
      Src: /src/geos/src/geom/Polygon.cpp:92,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:96,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:98,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:99,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:100,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:101,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geom::Polygon::getBoundary
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<Geometry>
    - GeometryFactory*::createMultiLineString
    - get
    - isEmpty
    - GeometryFactory*::createLineString
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Polygon::getBoundary() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:116,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:120,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: CoordinateSequence::reserve
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: CoordinateSequence::minCoordinate
      Src: /src/geos/src/geom/Polygon.cpp:127,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/Polygon.cpp:129,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/geom/Polygon.cpp:130,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/Polygon.cpp:132,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/src/geom/Polygon.cpp:133,1
    - Dst: LinearRing*::setPoints
      Src: /src/geos/src/geom/Polygon.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ring
    - clockwise
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::add
    - size
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::setPoints
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence::reserve
    - CoordinateSequence::reverse
    - hasZ
    - CoordinateSequence::scroll
    - LinearRing*::isEmpty
    - CoordinateSequence::minCoordinate
    - CoordinateSequence::closeRing
    - hasM
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize(LinearRing* ring, bool clockwise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:150,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::Polygon::getArea
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double Polygon::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::geom::Polygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Polygon::getGeometryTypeId() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Polygon.cpp:165,1
    - Dst: assert
      Src: /src/geos/src/geom/Polygon.cpp:168,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:169,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:173,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Polygon.cpp:176,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:178,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:182,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:189,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:190,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:192,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shell != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geom/Polygon.cpp
    constantsTouched: []
    func_position:
      end: 203
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 203
    functionName: geos::geom::Polygon::isRectangle
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getMinX
    - getEnvelopeInternal
    - getMaxX
    - getX
    - getMinY
    - getY
    - getNumPoints
    - assert
    - getCoordinatesRO
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Polygon::isRectangle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:208,1
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - exteriorCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: geos::geom::Polygon::orientRings
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - orient
    linkageType: ''
    returnType: void
    signature: void Polygon::orientRings(bool exteriorCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:218,1
    - Dst: clone
      Src: /src/geos/src/geom/Polygon.cpp:219,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:222,1
    - Dst: std::transform
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:225,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/Polygon.cpp:226,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:228,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: geos::geom::Polygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      Polygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: std::sort
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: compareTo
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::Polygon::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:51,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: geos::geom::Polygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - hasZ
    - std::make_unique<CoordinateSequence>
    - getNumPoints
    - getCoordinatesRO
    - hasM
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Polygon::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::Polygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Polygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:86,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:88,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: empty
      Src: /src/geos/src/geom/Polygon.cpp:92,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:96,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:98,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:99,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:100,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:101,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geom::Polygon::getBoundary
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<Geometry>
    - GeometryFactory*::createMultiLineString
    - get
    - isEmpty
    - GeometryFactory*::createLineString
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Polygon::getBoundary() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:116,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:120,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: CoordinateSequence::reserve
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: CoordinateSequence::minCoordinate
      Src: /src/geos/src/geom/Polygon.cpp:127,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/Polygon.cpp:129,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/geom/Polygon.cpp:130,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/Polygon.cpp:132,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/src/geom/Polygon.cpp:133,1
    - Dst: LinearRing*::setPoints
      Src: /src/geos/src/geom/Polygon.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ring
    - clockwise
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence::add
    - size
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::setPoints
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence::reserve
    - CoordinateSequence::reverse
    - hasZ
    - CoordinateSequence::scroll
    - LinearRing*::isEmpty
    - CoordinateSequence::minCoordinate
    - CoordinateSequence::closeRing
    - hasM
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize(LinearRing* ring, bool clockwise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:150,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::Polygon::getArea
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double Polygon::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::geom::Polygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Polygon::getGeometryTypeId() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Polygon.cpp:165,1
    - Dst: assert
      Src: /src/geos/src/geom/Polygon.cpp:168,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:169,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:173,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Polygon.cpp:176,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:178,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:182,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:189,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:190,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:192,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shell != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geom/Polygon.cpp
    constantsTouched: []
    func_position:
      end: 203
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 203
    functionName: geos::geom::Polygon::isRectangle
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getMinX
    - getEnvelopeInternal
    - getMaxX
    - getX
    - getMinY
    - getY
    - getNumPoints
    - assert
    - getCoordinatesRO
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Polygon::isRectangle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:208,1
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - exteriorCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: geos::geom::Polygon::orientRings
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - orient
    linkageType: ''
    returnType: void
    signature: void Polygon::orientRings(bool exteriorCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:218,1
    - Dst: clone
      Src: /src/geos/src/geom/Polygon.cpp:219,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:222,1
    - Dst: std::transform
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:225,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/Polygon.cpp:226,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:228,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: geos::geom::Polygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      Polygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: std::sort
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: compareTo
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::Polygon::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:51,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: geos::geom::Polygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - hasZ
    - std::make_unique<CoordinateSequence>
    - getNumPoints
    - getCoordinatesRO
    - hasM
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Polygon::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::Polygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Polygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:86,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:88,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: empty
      Src: /src/geos/src/geom/Polygon.cpp:92,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:96,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:98,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:99,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:100,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:101,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geom::Polygon::getBoundary
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<Geometry>
    - GeometryFactory*::createMultiLineString
    - get
    - isEmpty
    - GeometryFactory*::createLineString
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Polygon::getBoundary() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:116,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:120,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: CoordinateSequence::reserve
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: CoordinateSequence::minCoordinate
      Src: /src/geos/src/geom/Polygon.cpp:127,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/Polygon.cpp:129,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/geom/Polygon.cpp:130,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/Polygon.cpp:132,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/src/geom/Polygon.cpp:133,1
    - Dst: LinearRing*::setPoints
      Src: /src/geos/src/geom/Polygon.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ring
    - clockwise
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence::add
    - size
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::setPoints
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence::reserve
    - CoordinateSequence::reverse
    - hasZ
    - CoordinateSequence::scroll
    - LinearRing*::isEmpty
    - CoordinateSequence::minCoordinate
    - CoordinateSequence::closeRing
    - hasM
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize(LinearRing* ring, bool clockwise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:150,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::Polygon::getArea
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double Polygon::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::geom::Polygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Polygon::getGeometryTypeId() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Polygon.cpp:165,1
    - Dst: assert
      Src: /src/geos/src/geom/Polygon.cpp:168,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:169,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:173,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Polygon.cpp:176,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:178,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:182,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:189,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:190,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:192,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shell != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geom/Polygon.cpp
    constantsTouched: []
    func_position:
      end: 203
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 203
    functionName: geos::geom::Polygon::isRectangle
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getMinX
    - getEnvelopeInternal
    - getMaxX
    - getX
    - getMinY
    - getY
    - getNumPoints
    - assert
    - getCoordinatesRO
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Polygon::isRectangle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:208,1
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - exteriorCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: geos::geom::Polygon::orientRings
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - orient
    linkageType: ''
    returnType: void
    signature: void Polygon::orientRings(bool exteriorCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:218,1
    - Dst: clone
      Src: /src/geos/src/geom/Polygon.cpp:219,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:222,1
    - Dst: std::transform
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:225,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/Polygon.cpp:226,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:228,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: geos::geom::Polygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      Polygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: std::sort
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: compareTo
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Polygon::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:51,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:52,1
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:55,1
    - Dst: auto::reserve
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:56,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:59,1
    - Dst: auto::add
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: geos::geom::Polygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - hasZ
    - std::make_unique<CoordinateSequence>
    - getNumPoints
    - getCoordinatesRO
    - hasM
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Polygon::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::Polygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Polygon::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:86,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:88,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/Polygon.cpp:89,1
    - Dst: empty
      Src: /src/geos/src/geom/Polygon.cpp:92,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:93,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:96,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:98,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:99,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:100,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/Polygon.cpp:101,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:102,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geom::Polygon::getBoundary
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<Geometry>
    - GeometryFactory*::createMultiLineString
    - get
    - isEmpty
    - GeometryFactory*::createLineString
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Polygon::getBoundary() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:116,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:120,1
    - Dst: hasZ
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: hasM
      Src: /src/geos/src/geom/Polygon.cpp:121,1
    - Dst: CoordinateSequence::reserve
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:122,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:125,1
    - Dst: CoordinateSequence::minCoordinate
      Src: /src/geos/src/geom/Polygon.cpp:127,1
    - Dst: CoordinateSequence::scroll
      Src: /src/geos/src/geom/Polygon.cpp:129,1
    - Dst: CoordinateSequence::closeRing
      Src: /src/geos/src/geom/Polygon.cpp:130,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geom/Polygon.cpp:132,1
    - Dst: CoordinateSequence::reverse
      Src: /src/geos/src/geom/Polygon.cpp:133,1
    - Dst: LinearRing*::setPoints
      Src: /src/geos/src/geom/Polygon.cpp:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ring
    - clockwise
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence::add
    - size
    - geos::algorithm::Orientation::isCCW
    - LinearRing*::setPoints
    - LinearRing*::getCoordinatesRO
    - CoordinateSequence::reserve
    - CoordinateSequence::reverse
    - hasZ
    - CoordinateSequence::scroll
    - LinearRing*::isEmpty
    - CoordinateSequence::minCoordinate
    - CoordinateSequence::closeRing
    - hasM
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize(LinearRing* ring, bool clockwise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:148,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:150,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/geom/Polygon.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::Polygon::getArea
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getCoordinatesRO
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double Polygon::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::geom::Polygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId Polygon::getGeometryTypeId() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getNumInteriorRing
      Src: /src/geos/src/geom/Polygon.cpp:165,1
    - Dst: assert
      Src: /src/geos/src/geom/Polygon.cpp:168,1
    - Dst: getNumPoints
      Src: /src/geos/src/geom/Polygon.cpp:169,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/Polygon.cpp:173,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/Polygon.cpp:176,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:178,1
    - Dst: getMinX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getMaxX
      Src: /src/geos/src/geom/Polygon.cpp:179,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:182,1
    - Dst: getMinY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getMaxY
      Src: /src/geos/src/geom/Polygon.cpp:183,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:189,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:190,1
    - Dst: getX
      Src: /src/geos/src/geom/Polygon.cpp:192,1
    - Dst: getY
      Src: /src/geos/src/geom/Polygon.cpp:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shell != nullptr)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geom/Polygon.cpp
    constantsTouched: []
    func_position:
      end: 203
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 203
    functionName: geos::geom::Polygon::isRectangle
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getNumInteriorRing
    - getMinX
    - getEnvelopeInternal
    - getMaxX
    - getX
    - getMinY
    - getY
    - getNumPoints
    - assert
    - getCoordinatesRO
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool Polygon::isRectangle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:208,1
    - Dst: orient
      Src: /src/geos/src/geom/Polygon.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - exteriorCW
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: geos::geom::Polygon::orientRings
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - orient
    linkageType: ''
    returnType: void
    signature: void Polygon::orientRings(bool exteriorCW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/Polygon.cpp:218,1
    - Dst: clone
      Src: /src/geos/src/geom/Polygon.cpp:219,1
    - Dst: size
      Src: /src/geos/src/geom/Polygon.cpp:222,1
    - Dst: std::transform
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:224,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:225,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/Polygon.cpp:226,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:228,1
    - Dst: getFactory
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: reverse
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    - Dst: std::move
      Src: /src/geos/src/geom/Polygon.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: geos::geom::Polygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      Polygon::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:237,1
    - Dst: geos::geom::Polygon::normalize
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:239,1
    - Dst: std::sort
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: begin
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: end
      Src: /src/geos/src/geom/Polygon.cpp:241,1
    - Dst: compareTo
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    - Dst: get
      Src: /src/geos/src/geom/Polygon.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: geos::geom::Polygon::normalize
    functionSourceFile: /src/geos/src/geom/Polygon.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::Polygon::normalize
    - compareTo
    - get
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void Polygon::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:114,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm, int
      newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:138,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm, int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const GeometryFactory& gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:155,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const GeometryFactory&
      gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: GeometryFactory::~GeometryFactory()
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::~GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:173,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/GeometryFactory.cpp:175,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coord
    - exemplar
    argTypes:
    - Coordinate*
    - Geometry*
    assertStmts:
    - condition: (coord)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: geos::geom::GeometryFactory::createPointFromInternalCoord
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: "std::unique_ptr<Point> GeometryFactory::createPointFromInternalCoord(const
      Coordinate* coord,\n        const Geometry* exemplar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/GeometryFactory.cpp:186,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:187,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:190,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:191,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:195,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:197,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:198,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:199,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:201,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:202,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:203,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:205,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:206,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:207,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:209,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:210,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:211,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:213,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:214,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:215,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - envelope
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 218
    functionName: geos::geom::GeometryFactory::toGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    - geos::geom::GeometryFactory::createPoint
    - Envelope*::isNull
    - geos::geom::GeometryFactory::createLinearRing
    - std::move
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::toGeometry(const Envelope*
      envelope) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::size_t coordinateDimension)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(bool hasZ, bool
      hasM) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:241,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    - geos::geom::GeometryFactory::createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::unique_ptr<CoordinateSequence>&&
      coords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXY&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const Coordinate&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYZM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateSequence&
      fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:292,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:294,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/GeometryFactory.cpp:295,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:298,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - reset
    - LineString::LineString
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: 'std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(const
      std::vector<const Geometry*>& fromLines)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<LineString>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<Geometry>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    - Dst: std::vector<std::unique_ptr<Curve>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::vector<std::unique_ptr<Curve>>
    - geos::geom::GeometryFactory::createMultiCurve
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Curve>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Geometry>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection()
      const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:348,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:349,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:350,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:351,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:352,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:353,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:354,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:355,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:356,1
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:357,1
    - Dst: geos::geom::GeometryFactory::createCurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:358,1
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:359,1
    - Dst: geos::geom::GeometryFactory::createMultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:360,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - type
    - hasZ
    - hasM
    argTypes:
    - GeometryTypeId
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 365
    functionName: geos::geom::GeometryFactory::createEmptyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createCircularString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createCurvePolygon
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createCompoundCurve
    - geos::geom::GeometryFactory::createMultiCurve
    - geos::geom::GeometryFactory::createLinearRing
    - geos::geom::GeometryFactory::createMultiSurface
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmptyGeometry(GeometryTypeId
      type, bool hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:371,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:373,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:374,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection(const
      std::vector<const Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    - Dst: std::vector<std::unique_ptr<Polygon>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::vector<std::unique_ptr<Polygon>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:406,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:408,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:409,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPolys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - size
    - geos::geom::GeometryFactory::createMultiPolygon
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(const
      std::vector<const Geometry*>& fromPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: std::vector<std::unique_ptr<Surface>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - MultiSurface::MultiSurface
    - std::unique_ptr<MultiSurface>
    - std::vector<std::unique_ptr<Surface>>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Geometry>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Surface>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:441,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:450,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(CoordinateSequence::Ptr
      && newCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - clone
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Point>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:485,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:486,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:487,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPoints'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPoint
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      std::vector<const Geometry*>& fromPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/geom/GeometryFactory.cpp:504,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/GeometryFactory.cpp:506,1
    - Dst: forEach
      Src: /src/geos/src/geom/GeometryFactory.cpp:508,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 513
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - forEach
    - std::move
    - std::vector::reserve
    - geos::geom::GeometryFactory::createMultiPoint
    - getSize
    - geos::geom::GeometryFactory::createPoint
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:519,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:528,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(bool hasZ,
      bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<LinearRing>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(CoordinateSequence
      && coords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<LinearRing>
    - std::vector<std::unique_ptr<LinearRing>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell, std::vector<std::unique_ptr<LinearRing>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:566,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:568,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:570,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - LinearRing
    - std::vector<LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 575
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - size
    - LinearRing::LinearRing
    - Polygon::Polygon
    - reset
    - std::move
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      GeometryFactory::createPolygon(const LinearRing& shell, const std::vector<LinearRing*>&
      holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(bool
      hasZ, bool hasM)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<Curve>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<Curve>
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell, std::vector<std::unique_ptr<Curve>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:608,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 610
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:616,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:624,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createCircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(const
      LineString& ls) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - CircularString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CircularString& ls) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:650,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<LineString>
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:661,1
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::unique_ptr<CircularString>
    - geos::geom::GeometryFactory::createCircularString
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve()

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' curves'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - CompoundCurve::CompoundCurve
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      curves)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:706,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:707,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:708,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:709,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - dimension
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 713
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(int dimension)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:720,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:721,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:722,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:723,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:724,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:725,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:726,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - typeId
    argTypes:
    - GeometryTypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 730
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(GeometryTypeId
      typeId) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:736,1
    - Dst: isCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:739,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:740,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/GeometryFactory.cpp:742,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: geos::geom::multiTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:747,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: GeometryFactory*::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: GeometryFactory*::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 759
    functionName: geos::geom::GeometryFactory::createMulti
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - GeometryFactory*::createMultiPoint
    - std::vector::push_back
    - GeometryFactory*::createMultiLineString
    - geos::util::IllegalArgumentException
    - GeometryFactory*::createMultiPolygon
    - isCollection
    - std::move
    - geos::geom::multiTypeId
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createMulti(std::unique_ptr<Geometry>
      && geom) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:763,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:767,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:768,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:771,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:772,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:773,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 785
    functionName: geos::geom::commonType
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::size
    - geos::geom::empty
    - getGeometryTypeId
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId commonType(const T& geoms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:790,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:791,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:794,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:795,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:798,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 806
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Geometry>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:811,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:812,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:815,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:816,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 820
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Point>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:825,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:826,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:829,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:830,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 834
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<LineString>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:839,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:840,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:843,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:844,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 848
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Polygon>>
      && geoms) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:854,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:855,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:858,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:859,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:862,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:865,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:866,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:867,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 870
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(const std::vector<const
      Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::GeometryEditor::edit
      Src: /src/geos/src/geom/GeometryFactory.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 881
    functionName: geos::geom::GeometryFactory::createGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - util::GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createGeometry(const Geometry*
      g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: geos::geom::GeometryFactory::destroyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroyGeometry(Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: geos::geom::GeometryFactory::getDefaultInstance
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: GeometryFactory
    signature: 'GeometryFactory *

      GeometryFactory::getDefaultInstance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: geos::geom::GeometryFactory::addRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::addRef() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 914
    functionName: geos::geom::GeometryFactory::dropRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::dropRef() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!_autoDestroy)
      pos:
        line_end: 918
        line_start: 918
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: geos::geom::GeometryFactory::destroy
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:114,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm, int
      newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:138,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm, int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const GeometryFactory& gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:155,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const GeometryFactory&
      gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: GeometryFactory::~GeometryFactory()
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::~GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:173,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/GeometryFactory.cpp:175,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coord
    - exemplar
    argTypes:
    - Coordinate*
    - Geometry*
    assertStmts:
    - condition: (coord)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: geos::geom::GeometryFactory::createPointFromInternalCoord
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: "std::unique_ptr<Point> GeometryFactory::createPointFromInternalCoord(const
      Coordinate* coord,\n        const Geometry* exemplar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/GeometryFactory.cpp:186,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:187,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:190,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:191,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:195,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:197,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:198,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:199,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:201,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:202,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:203,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:205,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:206,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:207,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:209,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:210,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:211,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:213,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:214,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:215,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - envelope
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 218
    functionName: geos::geom::GeometryFactory::toGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    - geos::geom::GeometryFactory::createPoint
    - Envelope*::isNull
    - geos::geom::GeometryFactory::createLinearRing
    - std::move
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::toGeometry(const Envelope*
      envelope) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 7
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::size_t coordinateDimension)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 7
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(bool hasZ, bool
      hasM) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:241,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    - geos::geom::GeometryFactory::createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::unique_ptr<CoordinateSequence>&&
      coords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXY&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const Coordinate&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYZM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateSequence&
      fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:292,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:294,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/GeometryFactory.cpp:295,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:298,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - reset
    - LineString::LineString
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: 'std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(const
      std::vector<const Geometry*>& fromLines)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<LineString>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<Geometry>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    - Dst: std::vector<std::unique_ptr<Curve>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::vector<std::unique_ptr<Curve>>
    - geos::geom::GeometryFactory::createMultiCurve
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Curve>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Geometry>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection()
      const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:348,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:349,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:350,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:351,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:352,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:353,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:354,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:355,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:356,1
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:357,1
    - Dst: geos::geom::GeometryFactory::createCurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:358,1
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:359,1
    - Dst: geos::geom::GeometryFactory::createMultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:360,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - type
    - hasZ
    - hasM
    argTypes:
    - GeometryTypeId
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 365
    functionName: geos::geom::GeometryFactory::createEmptyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createCircularString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createCurvePolygon
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createCompoundCurve
    - geos::geom::GeometryFactory::createMultiCurve
    - geos::geom::GeometryFactory::createLinearRing
    - geos::geom::GeometryFactory::createMultiSurface
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmptyGeometry(GeometryTypeId
      type, bool hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:371,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:373,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:374,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection(const
      std::vector<const Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    - Dst: std::vector<std::unique_ptr<Polygon>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::vector<std::unique_ptr<Polygon>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:406,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:408,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:409,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPolys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 10
    functionsReached:
    - std::move
    - size
    - geos::geom::GeometryFactory::createMultiPolygon
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(const
      std::vector<const Geometry*>& fromPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: std::vector<std::unique_ptr<Surface>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - MultiSurface::MultiSurface
    - std::unique_ptr<MultiSurface>
    - std::vector<std::unique_ptr<Surface>>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Geometry>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Surface>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:441,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:450,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(CoordinateSequence::Ptr
      && newCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 10
    functionsReached:
    - clone
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Point>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:485,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:486,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:487,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPoints'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPoint
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      std::vector<const Geometry*>& fromPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/geom/GeometryFactory.cpp:504,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/GeometryFactory.cpp:506,1
    - Dst: forEach
      Src: /src/geos/src/geom/GeometryFactory.cpp:508,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 513
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 10
    functionsReached:
    - forEach
    - std::move
    - std::vector::reserve
    - geos::geom::GeometryFactory::createMultiPoint
    - getSize
    - geos::geom::GeometryFactory::createPoint
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:519,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:528,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(bool hasZ,
      bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<LinearRing>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 11
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(CoordinateSequence
      && coords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<LinearRing>
    - std::vector<std::unique_ptr<LinearRing>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 12
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell, std::vector<std::unique_ptr<LinearRing>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:566,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:568,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:570,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - LinearRing
    - std::vector<LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 575
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 12
    functionsReached:
    - size
    - LinearRing::LinearRing
    - Polygon::Polygon
    - reset
    - std::move
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      GeometryFactory::createPolygon(const LinearRing& shell, const std::vector<LinearRing*>&
      holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(bool
      hasZ, bool hasM)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<Curve>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<Curve>
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell, std::vector<std::unique_ptr<Curve>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:608,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 610
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:616,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:624,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createCircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(const
      LineString& ls) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - CircularString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CircularString& ls) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:650,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 10
    functionsReached:
    - std::unique_ptr<LineString>
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:661,1
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - std::unique_ptr<CircularString>
    - geos::geom::GeometryFactory::createCircularString
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve()

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' curves'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - CompoundCurve::CompoundCurve
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      curves)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 10
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:706,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:707,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:708,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:709,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - dimension
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 713
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(int dimension)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:720,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:721,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:722,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:723,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:724,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:725,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:726,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - typeId
    argTypes:
    - GeometryTypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 730
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(GeometryTypeId
      typeId) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:736,1
    - Dst: isCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:739,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:740,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/GeometryFactory.cpp:742,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: geos::geom::multiTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:747,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: GeometryFactory*::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: GeometryFactory*::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 759
    functionName: geos::geom::GeometryFactory::createMulti
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - GeometryFactory*::createMultiPoint
    - std::vector::push_back
    - GeometryFactory*::createMultiLineString
    - geos::util::IllegalArgumentException
    - GeometryFactory*::createMultiPolygon
    - isCollection
    - std::move
    - geos::geom::multiTypeId
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createMulti(std::unique_ptr<Geometry>
      && geom) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:763,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:767,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:768,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:771,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:772,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:773,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 785
    functionName: geos::geom::commonType
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::size
    - geos::geom::empty
    - getGeometryTypeId
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId commonType(const T& geoms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:790,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:791,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:794,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:795,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:798,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 806
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Geometry>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:811,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:812,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:815,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:816,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 820
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Point>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:825,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:826,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:829,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:830,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 834
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<LineString>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:839,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:840,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:843,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:844,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 848
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Polygon>>
      && geoms) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:854,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:855,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:858,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:859,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:862,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:865,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:866,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:867,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 870
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(const std::vector<const
      Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::GeometryEditor::edit
      Src: /src/geos/src/geom/GeometryFactory.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 881
    functionName: geos::geom::GeometryFactory::createGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - util::GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createGeometry(const Geometry*
      g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: geos::geom::GeometryFactory::destroyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroyGeometry(Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: geos::geom::GeometryFactory::getDefaultInstance
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: GeometryFactory
    signature: 'GeometryFactory *

      GeometryFactory::getDefaultInstance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: geos::geom::GeometryFactory::addRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::addRef() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 914
    functionName: geos::geom::GeometryFactory::dropRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::dropRef() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!_autoDestroy)
      pos:
        line_end: 918
        line_start: 918
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: geos::geom::GeometryFactory::destroy
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:114,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm, int
      newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:138,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm, int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const GeometryFactory& gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:155,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const GeometryFactory&
      gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: GeometryFactory::~GeometryFactory()
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::~GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:173,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/GeometryFactory.cpp:175,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coord
    - exemplar
    argTypes:
    - Coordinate*
    - Geometry*
    assertStmts:
    - condition: (coord)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: geos::geom::GeometryFactory::createPointFromInternalCoord
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: "std::unique_ptr<Point> GeometryFactory::createPointFromInternalCoord(const
      Coordinate* coord,\n        const Geometry* exemplar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/GeometryFactory.cpp:186,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:187,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:190,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:191,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:195,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:197,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:198,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:199,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:201,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:202,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:203,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:205,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:206,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:207,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:209,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:210,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:211,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:213,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:214,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:215,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - envelope
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 218
    functionName: geos::geom::GeometryFactory::toGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    - geos::geom::GeometryFactory::createPoint
    - Envelope*::isNull
    - geos::geom::GeometryFactory::createLinearRing
    - std::move
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::toGeometry(const Envelope*
      envelope) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 13
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::size_t coordinateDimension)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 13
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(bool hasZ, bool
      hasM) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:241,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 14
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    - geos::geom::GeometryFactory::createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::unique_ptr<CoordinateSequence>&&
      coords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 14
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXY&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 14
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const Coordinate&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 14
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 14
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYZM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 14
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateSequence&
      fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:292,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:294,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/GeometryFactory.cpp:295,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:298,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - reset
    - LineString::LineString
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: 'std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(const
      std::vector<const Geometry*>& fromLines)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<LineString>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<Geometry>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    - Dst: std::vector<std::unique_ptr<Curve>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - std::vector<std::unique_ptr<Curve>>
    - geos::geom::GeometryFactory::createMultiCurve
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Curve>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Geometry>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 21
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection()
      const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:348,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:349,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:350,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:351,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:352,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:353,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:354,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:355,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:356,1
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:357,1
    - Dst: geos::geom::GeometryFactory::createCurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:358,1
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:359,1
    - Dst: geos::geom::GeometryFactory::createMultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:360,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - type
    - hasZ
    - hasM
    argTypes:
    - GeometryTypeId
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 365
    functionName: geos::geom::GeometryFactory::createEmptyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createCircularString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createCurvePolygon
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createCompoundCurve
    - geos::geom::GeometryFactory::createMultiCurve
    - geos::geom::GeometryFactory::createLinearRing
    - geos::geom::GeometryFactory::createMultiSurface
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmptyGeometry(GeometryTypeId
      type, bool hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:371,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:373,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:374,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection(const
      std::vector<const Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    - Dst: std::vector<std::unique_ptr<Polygon>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::vector<std::unique_ptr<Polygon>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:406,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:408,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:409,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPolys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 17
    functionsReached:
    - std::move
    - size
    - geos::geom::GeometryFactory::createMultiPolygon
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(const
      std::vector<const Geometry*>& fromPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: std::vector<std::unique_ptr<Surface>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - MultiSurface::MultiSurface
    - std::unique_ptr<MultiSurface>
    - std::vector<std::unique_ptr<Surface>>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Geometry>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Surface>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:441,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:450,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(CoordinateSequence::Ptr
      && newCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 17
    functionsReached:
    - clone
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 15
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Point>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 15
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:485,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:486,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:487,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPoints'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPoint
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      std::vector<const Geometry*>& fromPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/geom/GeometryFactory.cpp:504,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/GeometryFactory.cpp:506,1
    - Dst: forEach
      Src: /src/geos/src/geom/GeometryFactory.cpp:508,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 513
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 17
    functionsReached:
    - forEach
    - std::move
    - std::vector::reserve
    - geos::geom::GeometryFactory::createMultiPoint
    - getSize
    - geos::geom::GeometryFactory::createPoint
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:519,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 17
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:528,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 18
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(bool hasZ,
      bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<LinearRing>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 18
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 19
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(CoordinateSequence
      && coords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<LinearRing>
    - std::vector<std::unique_ptr<LinearRing>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 19
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell, std::vector<std::unique_ptr<LinearRing>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:566,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:568,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:570,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - LinearRing
    - std::vector<LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 575
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 19
    functionsReached:
    - size
    - LinearRing::LinearRing
    - Polygon::Polygon
    - reset
    - std::move
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      GeometryFactory::createPolygon(const LinearRing& shell, const std::vector<LinearRing*>&
      holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(bool
      hasZ, bool hasM)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<Curve>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<Curve>
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell, std::vector<std::unique_ptr<Curve>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:608,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 610
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 14
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:616,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 15
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:624,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createCircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 15
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(const
      LineString& ls) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - CircularString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CircularString& ls) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:650,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::unique_ptr<LineString>
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:661,1
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - std::unique_ptr<CircularString>
    - geos::geom::GeometryFactory::createCircularString
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve()

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' curves'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - CompoundCurve::CompoundCurve
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      curves)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 16
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 9
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:706,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:707,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:708,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:709,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - dimension
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 713
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(int dimension)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:720,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:721,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:722,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:723,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:724,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:725,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:726,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - typeId
    argTypes:
    - GeometryTypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 730
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(GeometryTypeId
      typeId) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:736,1
    - Dst: isCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:739,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:740,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/GeometryFactory.cpp:742,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: geos::geom::multiTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:747,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: GeometryFactory*::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: GeometryFactory*::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 759
    functionName: geos::geom::GeometryFactory::createMulti
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - GeometryFactory*::createMultiPoint
    - std::vector::push_back
    - GeometryFactory*::createMultiLineString
    - geos::util::IllegalArgumentException
    - GeometryFactory*::createMultiPolygon
    - isCollection
    - std::move
    - geos::geom::multiTypeId
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createMulti(std::unique_ptr<Geometry>
      && geom) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:763,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:767,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:768,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:771,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:772,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:773,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 785
    functionName: geos::geom::commonType
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::size
    - geos::geom::empty
    - getGeometryTypeId
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId commonType(const T& geoms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:790,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:791,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:794,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:795,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:798,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 806
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Geometry>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:811,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:812,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:815,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:816,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 820
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Point>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:825,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:826,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:829,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:830,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 834
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<LineString>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:839,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:840,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:843,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:844,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 848
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Polygon>>
      && geoms) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:854,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:855,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:858,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:859,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:862,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:865,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:866,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:867,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 870
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(const std::vector<const
      Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::GeometryEditor::edit
      Src: /src/geos/src/geom/GeometryFactory.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 881
    functionName: geos::geom::GeometryFactory::createGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - util::GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createGeometry(const Geometry*
      g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: geos::geom::GeometryFactory::destroyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroyGeometry(Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: geos::geom::GeometryFactory::getDefaultInstance
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: GeometryFactory
    signature: 'GeometryFactory *

      GeometryFactory::getDefaultInstance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: geos::geom::GeometryFactory::addRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::addRef() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 914
    functionName: geos::geom::GeometryFactory::dropRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::dropRef() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!_autoDestroy)
      pos:
        line_end: 918
        line_start: 918
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: geos::geom::GeometryFactory::destroy
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordSeq
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: geos::geom::gfCoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> edit(const CoordinateSequence*
      coordSeq,\n         const Geometry*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:114,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const PrecisionModel* pm, int
      newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:138,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pm
    - newSRID
    argTypes:
    - PrecisionModel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const PrecisionModel*
      pm, int newSRID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: geos::geom::GeometryFactory::GeometryFactory
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::GeometryFactory(const GeometryFactory& gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/GeometryFactory.cpp:155,1
    - Dst: GeometryFactory::GeometryFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: geos::geom::GeometryFactory::create
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 179
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - GeometryFactory::GeometryFactory
    linkageType: ''
    returnType: GeometryFactory::Ptr
    signature: GeometryFactory::Ptr GeometryFactory::create(const GeometryFactory&
      gf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: GeometryFactory::~GeometryFactory()
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::~GeometryFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:173,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/GeometryFactory.cpp:175,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coord
    - exemplar
    argTypes:
    - Coordinate*
    - Geometry*
    assertStmts:
    - condition: (coord)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: geos::geom::GeometryFactory::createPointFromInternalCoord
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: "std::unique_ptr<Point> GeometryFactory::createPointFromInternalCoord(const
      Coordinate* coord,\n        const Geometry* exemplar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envelope*::isNull
      Src: /src/geos/src/geom/GeometryFactory.cpp:186,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:187,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:189,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:190,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:191,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:192,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:195,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:197,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:198,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:199,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:201,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:202,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:203,1
    - Dst: Envelope*::getMaxX
      Src: /src/geos/src/geom/GeometryFactory.cpp:205,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:206,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:207,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:209,1
    - Dst: Envelope*::getMaxY
      Src: /src/geos/src/geom/GeometryFactory.cpp:210,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:211,1
    - Dst: Envelope*::getMinX
      Src: /src/geos/src/geom/GeometryFactory.cpp:213,1
    - Dst: Envelope*::getMinY
      Src: /src/geos/src/geom/GeometryFactory.cpp:214,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/GeometryFactory.cpp:215,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - envelope
    argTypes:
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 218
    functionName: geos::geom::GeometryFactory::toGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::unique_ptr<Geometry>
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    - geos::geom::GeometryFactory::createPoint
    - Envelope*::isNull
    - geos::geom::GeometryFactory::createLinearRing
    - std::move
    - Envelope*::getMinX
    - Envelope*::getMaxX
    - Envelope*::getMinY
    - Envelope*::getMaxY
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::toGeometry(const Envelope*
      envelope) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 19
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::size_t coordinateDimension)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 19
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(bool hasZ, bool
      hasM) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:241,1
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - std::unique_ptr<CoordinateSequence>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 20
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    - geos::geom::GeometryFactory::createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(std::unique_ptr<CoordinateSequence>&&
      coords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 20
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXY&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 20
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const Coordinate&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 20
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coordinate'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 20
    functionsReached:
    - Point::Point
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateXYZM&
      coordinate) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Point>
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    - Dst: Point::Point
      Src: /src/geos/src/geom/GeometryFactory.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: geos::geom::GeometryFactory::createPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 20
    functionsReached:
    - Point::Point
    - std::move
    - std::unique_ptr<Point>
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFactory::createPoint(const CoordinateSequence&
      fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 22
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:292,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:294,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/GeometryFactory.cpp:295,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:298,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:301,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - reset
    - LineString::LineString
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: 'std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(const
      std::vector<const Geometry*>& fromLines)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<LineString>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiLineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    - Dst: MultiLineString::MultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromLines'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: geos::geom::GeometryFactory::createMultiLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::unique_ptr<MultiLineString>
    - std::move
    - MultiLineString::MultiLineString
    linkageType: ''
    returnType: std::unique_ptr<MultiLineString>
    signature: std::unique_ptr<MultiLineString> GeometryFactory::createMultiLineString(std::vector<std::unique_ptr<Geometry>>
      && fromLines) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    - Dst: std::vector<std::unique_ptr<Curve>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 7
    functionsReached:
    - std::vector<std::unique_ptr<Curve>>
    - geos::geom::GeometryFactory::createMultiCurve
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 7
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Curve>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    - Dst: MultiCurve::MultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCurves'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geom::GeometryFactory::createMultiCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 7
    functionsReached:
    - std::move
    - MultiCurve::MultiCurve
    - std::unique_ptr<MultiCurve>
    linkageType: ''
    returnType: std::unique_ptr<MultiCurve>
    signature: std::unique_ptr<MultiCurve> GeometryFactory::createMultiCurve(std::vector<std::unique_ptr<Geometry>>
      && fromCurves) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 31
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection()
      const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:348,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:349,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:350,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:351,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:352,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:353,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:354,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:355,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:356,1
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:357,1
    - Dst: geos::geom::GeometryFactory::createCurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:358,1
    - Dst: geos::geom::GeometryFactory::createMultiCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:359,1
    - Dst: geos::geom::GeometryFactory::createMultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:360,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - type
    - hasZ
    - hasM
    argTypes:
    - GeometryTypeId
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 365
    functionName: geos::geom::GeometryFactory::createEmptyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createCircularString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createCurvePolygon
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createCompoundCurve
    - geos::geom::GeometryFactory::createMultiCurve
    - geos::geom::GeometryFactory::createLinearRing
    - geos::geom::GeometryFactory::createMultiSurface
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmptyGeometry(GeometryTypeId
      type, bool hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:371,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:373,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:374,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 378
    functionName: geos::geom::GeometryFactory::createGeometryCollection
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 33
    functionsReached:
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryFactory::createGeometryCollection(const
      std::vector<const Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    - Dst: std::vector<std::unique_ptr<Polygon>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::vector<std::unique_ptr<Polygon>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Polygon>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    - Dst: MultiPolygon::MultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPolys'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::move
    - MultiPolygon::MultiPolygon
    - std::unique_ptr<MultiPolygon>
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<Geometry>>
      && newPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:406,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:408,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:409,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPolys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: geos::geom::GeometryFactory::createMultiPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 24
    functionsReached:
    - std::move
    - size
    - geos::geom::GeometryFactory::createMultiPolygon
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPolygon>
    signature: std::unique_ptr<MultiPolygon> GeometryFactory::createMultiPolygon(const
      std::vector<const Geometry*>& fromPolys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: std::vector<std::unique_ptr<Surface>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - MultiSurface::MultiSurface
    - std::unique_ptr<MultiSurface>
    - std::vector<std::unique_ptr<Surface>>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Geometry>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiSurface>
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    - Dst: MultiSurface::MultiSurface
      Src: /src/geos/src/geom/GeometryFactory.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newSurfaces'
    argTypes:
    - std::vector<std::unique_ptr<Surface>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: geos::geom::GeometryFactory::createMultiSurface
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - MultiSurface::MultiSurface
    - std::move
    - std::unique_ptr<MultiSurface>
    linkageType: ''
    returnType: std::unique_ptr<MultiSurface>
    signature: std::unique_ptr<MultiSurface> GeometryFactory::createMultiSurface(std::vector<std::unique_ptr<Surface>>
      && newSurfaces) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:441,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:450,1
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - detail::make_unique<CoordinateSequence>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LinearRing>
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::move
    - std::unique_ptr<LinearRing>
    - LinearRing::LinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(CoordinateSequence::Ptr
      && newCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: geos::geom::GeometryFactory::createLinearRing
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 24
    functionsReached:
    - clone
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> GeometryFactory::createLinearRing(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 22
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Point>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' newPoints'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 22
    functionsReached:
    - std::move
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(std::vector<std::unique_ptr<Geometry>>
      && newPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:485,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:486,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:487,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fromPoints'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - geos::geom::GeometryFactory::createMultiPoint
    - std::move
    - size
    - clone
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      std::vector<const Geometry*>& fromPoints) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<MultiPoint>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: std::vector<std::unique_ptr<Geometry>>
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    - Dst: MultiPoint::MultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 23
    functionsReached:
    - std::unique_ptr<MultiPoint>
    - MultiPoint::MultiPoint
    - std::vector<std::unique_ptr<Geometry>>
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/geos/src/geom/GeometryFactory.cpp:504,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/GeometryFactory.cpp:506,1
    - Dst: forEach
      Src: /src/geos/src/geom/GeometryFactory.cpp:508,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:509,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 513
    functionName: geos::geom::GeometryFactory::createMultiPoint
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 24
    functionsReached:
    - forEach
    - std::move
    - std::vector::reserve
    - geos::geom::GeometryFactory::createMultiPoint
    - getSize
    - geos::geom::GeometryFactory::createPoint
    - std::vector::push_back
    linkageType: ''
    returnType: std::unique_ptr<MultiPoint>
    signature: std::unique_ptr<MultiPoint> GeometryFactory::createMultiPoint(const
      CoordinateSequence& fromCoords) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:519,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:520,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 24
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:528,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:529,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 25
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryFactory::createPolygon(bool hasZ,
      bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<LinearRing>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 25
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:546,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:547,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' coords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 26
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(CoordinateSequence
      && coords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<LinearRing>
    - std::vector<std::unique_ptr<LinearRing>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 26
    functionsReached:
    - Polygon::Polygon
    - std::unique_ptr<Polygon>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: 'std::unique_ptr<Polygon> GeometryFactory::createPolygon(std::unique_ptr<LinearRing>
      && shell, std::vector<std::unique_ptr<LinearRing>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:566,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:568,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:570,1
    - Dst: reset
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: LinearRing::LinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:571,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    - Dst: Polygon::Polygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - LinearRing
    - std::vector<LinearRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 575
    functionName: geos::geom::GeometryFactory::createPolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 26
    functionsReached:
    - size
    - LinearRing::LinearRing
    - Polygon::Polygon
    - reset
    - std::move
    linkageType: ''
    returnType: Polygon
    signature: 'Polygon *

      GeometryFactory::createPolygon(const LinearRing& shell, const std::vector<LinearRing*>&
      holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: geos::geom::GeometryFactory::createLinearRing
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    - geos::geom::GeometryFactory::createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(bool
      hasZ, bool hasM)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' shell'
    argTypes:
    - std::unique_ptr<Curve>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CurvePolygon>
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' shell'
    - ' holes'
    argTypes:
    - std::unique_ptr<Curve>
    - std::vector<std::unique_ptr<Curve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: geos::geom::GeometryFactory::createCurvePolygon
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::unique_ptr<CurvePolygon>
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: std::unique_ptr<CurvePolygon>
    signature: 'std::unique_ptr<CurvePolygon> GeometryFactory::createCurvePolygon(std::unique_ptr<Curve>
      && shell, std::vector<std::unique_ptr<Curve>> && holes)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:608,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - coordinateDimension
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 610
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 20
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(std::size_t
      coordinateDimension) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:616,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 21
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/GeometryFactory.cpp:624,1
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hasZ
    - hasM
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 11
    functionsReached:
    - std::move
    - detail::make_unique<CoordinateSequence>
    - geos::geom::GeometryFactory::createCircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(bool
      hasZ, bool hasM) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 21
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometryFactory::createLineString(const
      LineString& ls) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - CircularString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 11
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CircularString& ls) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:650,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 22
    functionsReached:
    - std::unique_ptr<LineString>
    - std::move
    - geos::geom::GeometryFactory::createLineString
    - LineString::LineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:661,1
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' newCoords'
    argTypes:
    - CoordinateSequence::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 12
    functionsReached:
    - std::move
    - std::unique_ptr<CircularString>
    - geos::geom::GeometryFactory::createCircularString
    - CircularString::CircularString
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(CoordinateSequence::Ptr
      && newCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createCompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::createCompoundCurve
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve()

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/GeometryFactory.cpp:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' curves'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: geos::geom::GeometryFactory::createCompoundCurve
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - CompoundCurve::CompoundCurve
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: 'std::unique_ptr<CompoundCurve> GeometryFactory::createCompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      curves)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    - Dst: LineString::LineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: geos::geom::GeometryFactory::createLineString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 22
    functionsReached:
    - std::unique_ptr<LineString>
    - LineString::LineString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: 'std::unique_ptr<LineString> GeometryFactory::createLineString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CircularString>
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    - Dst: CircularString::CircularString
      Src: /src/geos/src/geom/GeometryFactory.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fromCoords'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: geos::geom::GeometryFactory::createCircularString
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 12
    functionsReached:
    - std::unique_ptr<CircularString>
    - CircularString::CircularString
    - clone
    linkageType: ''
    returnType: std::unique_ptr<CircularString>
    signature: 'std::unique_ptr<CircularString> GeometryFactory::createCircularString(const
      CoordinateSequence& fromCoords)

      const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:706,1
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:707,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:708,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:709,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - dimension
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 713
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(int dimension)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::createPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:720,1
    - Dst: geos::geom::GeometryFactory::createLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:721,1
    - Dst: geos::geom::GeometryFactory::createPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:722,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:723,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:724,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:725,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:726,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - typeId
    argTypes:
    - GeometryTypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 730
    functionName: geos::geom::GeometryFactory::createEmpty
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - geos::geom::GeometryFactory::createPolygon
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::util::IllegalArgumentException
    - geos::geom::GeometryFactory::createMultiPolygon
    - geos::geom::GeometryFactory::createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createEmpty(GeometryTypeId
      typeId) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:736,1
    - Dst: isCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:739,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:740,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/GeometryFactory.cpp:742,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: geos::geom::multiTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:743,1
    - Dst: getFactory
      Src: /src/geos/src/geom/GeometryFactory.cpp:747,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:748,1
    - Dst: GeometryFactory*::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:751,1
    - Dst: GeometryFactory*::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:753,1
    - Dst: GeometryFactory*::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:755,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/GeometryFactory.cpp:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 759
    functionName: geos::geom::GeometryFactory::createMulti
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - GeometryFactory*::createMultiPoint
    - std::vector::push_back
    - GeometryFactory*::createMultiLineString
    - geos::util::IllegalArgumentException
    - GeometryFactory*::createMultiPolygon
    - isCollection
    - std::move
    - geos::geom::multiTypeId
    - getGeometryTypeId
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createMulti(std::unique_ptr<Geometry>
      && geom) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:763,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:767,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:768,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:771,1
    - Dst: geos::geom::size
      Src: /src/geos/src/geom/GeometryFactory.cpp:772,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:773,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/GeometryFactory.cpp:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 785
    functionName: geos::geom::commonType
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::size
    - geos::geom::empty
    - getGeometryTypeId
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId commonType(const T& geoms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:790,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:791,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:794,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:795,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:798,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:801,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:802,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:803,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 806
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Geometry>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:811,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:812,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:815,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:816,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Point>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 820
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Point>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:825,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:826,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:829,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:830,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 834
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<LineString>>
      && geoms) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:839,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:840,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:843,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:844,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    - Dst: std::move
      Src: /src/geos/src/geom/GeometryFactory.cpp:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Polygon>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 848
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - std::move
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(std::vector<std::unique_ptr<Polygon>>
      && geoms) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/GeometryFactory.cpp:854,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:855,1
    - Dst: size
      Src: /src/geos/src/geom/GeometryFactory.cpp:858,1
    - Dst: clone
      Src: /src/geos/src/geom/GeometryFactory.cpp:859,1
    - Dst: commonType
      Src: /src/geos/src/geom/GeometryFactory.cpp:862,1
    - Dst: geos::geom::GeometryFactory::createMultiPoint
      Src: /src/geos/src/geom/GeometryFactory.cpp:865,1
    - Dst: geos::geom::GeometryFactory::createMultiLineString
      Src: /src/geos/src/geom/GeometryFactory.cpp:866,1
    - Dst: geos::geom::GeometryFactory::createMultiPolygon
      Src: /src/geos/src/geom/GeometryFactory.cpp:867,1
    - Dst: geos::geom::GeometryFactory::createGeometryCollection
      Src: /src/geos/src/geom/GeometryFactory.cpp:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' fromGeoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 870
    functionName: geos::geom::GeometryFactory::buildGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::GeometryFactory::createMultiLineString
    - size
    - commonType
    - geos::geom::GeometryFactory::createMultiPoint
    - geos::geom::GeometryFactory::createGeometryCollection
    - geos::geom::GeometryFactory::createMultiPolygon
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::buildGeometry(const std::vector<const
      Geometry*>& fromGeoms) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::GeometryEditor::edit
      Src: /src/geos/src/geom/GeometryFactory.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 881
    functionName: geos::geom::GeometryFactory::createGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - util::GeometryEditor::edit
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFactory::createGeometry(const Geometry*
      g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: geos::geom::GeometryFactory::destroyGeometry
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroyGeometry(Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: geos::geom::GeometryFactory::getDefaultInstance
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: GeometryFactory
    signature: 'GeometryFactory *

      GeometryFactory::getDefaultInstance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: geos::geom::GeometryFactory::addRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::addRef() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 914
    functionName: geos::geom::GeometryFactory::dropRef
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::dropRef() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geom/GeometryFactory.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!_autoDestroy)
      pos:
        line_end: 918
        line_start: 918
        source_file: /src/geos/src/geom/GeometryFactory.cpp
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: geos::geom::GeometryFactory::destroy
    functionSourceFile: /src/geos/src/geom/GeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GeometryFactory::destroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - ' loc'
    argTypes:
    - std::ostream
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: '&

      operator<<(std::ostream& os, const Location& loc)'
    functionSourceFile: /src/geos/src/geom/Location.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Location& loc)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - ' loc'
    argTypes:
    - std::ostream
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: '&

      operator<<(std::ostream& os, const Location& loc)'
    functionSourceFile: /src/geos/src/geom/Location.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Location& loc)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - ' loc'
    argTypes:
    - std::ostream
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: '&

      operator<<(std::ostream& os, const Location& loc)'
    functionSourceFile: /src/geos/src/geom/Location.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Location& loc)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' os'
    - ' loc'
    argTypes:
    - std::ostream
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: '&

      operator<<(std::ostream& os, const Location& loc)'
    functionSourceFile: /src/geos/src/geom/Location.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& os, const Location& loc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:44,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' elements'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const std::string& elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const IntersectionMatrix&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: IntersectionMatrix*::get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - IntersectionMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::geom::IntersectionMatrix::add
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - IntersectionMatrix*::get
    - geos::geom::IntersectionMatrix::setAtLeast
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::add(IntersectionMatrix* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 7
    functionsReached:
    - length
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::matches(const std::string& requiredDimensionSymbols)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - actualDimensionValue
    - requiredDimensionSymbol
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(int actualDimensionValue,\n                            char
      requiredDimensionSymbol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actualDimensionSymbols'
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 7
    functionsReached:
    - IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(const std::string& actualDimensionSymbols,\n
      \                           const std::string& requiredDimensionSymbols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - row
    - col
    - dimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(Location row, Location col, int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' dimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 1
    functionsReached:
    - length
    - geos::geom::Dimension::toDimensionValue
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(const std::string& dimensionSymbols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:160,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 1
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::set
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(Location row, Location col, int
      minimumDimensionValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: geos::geom::IntersectionMatrix::setAtLeastIfValid
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeastIfValid(Location row, Location col,
      int minimumDimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:178,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:181,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:182,1
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - minimumDimensionSymbols
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - static_cast<Location>
    - std::string::length
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(std::string minimumDimensionSymbols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::geom::IntersectionMatrix::setAll
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAll(int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:205,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:207,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: geos::geom::IntersectionMatrix::isDisjoint
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isDisjoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isDisjoint
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: geos::geom::IntersectionMatrix::isIntersects
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::isDisjoint
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isIntersects() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isTouches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:226,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:237,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: geos::geom::IntersectionMatrix::isTouches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::IntersectionMatrix::isTouches
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isTouches(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: geos::geom::IntersectionMatrix::isCrosses
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isCrosses(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:273,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: geos::geom::IntersectionMatrix::isWithin
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isWithin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:282,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: geos::geom::IntersectionMatrix::isContains
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isContains() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:295,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:296,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:297,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: geos::geom::IntersectionMatrix::isEquals
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isEquals(int dimensionOfGeometryA,\n                             int
      dimensionOfGeometryB) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:313,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: geos::geom::IntersectionMatrix::isOverlaps
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isOverlaps(int dimensionOfGeometryA,\n                               int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:335,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: geos::geom::IntersectionMatrix::isCovers
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCovers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:358,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: geos::geom::IntersectionMatrix::isCoveredBy
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCoveredBy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: geos::geom::IntersectionMatrix::transpose
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntersectionMatrix
    signature: 'IntersectionMatrix *

      IntersectionMatrix::transpose()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: geos::geom::IntersectionMatrix::toString
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::Dimension::toDimensionSymbol
    linkageType: ''
    returnType: std::string
    signature: std::string IntersectionMatrix::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' im'
    argTypes:
    - std::ostream
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: '&

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:44,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' elements'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const std::string& elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const IntersectionMatrix&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: IntersectionMatrix*::get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - IntersectionMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::geom::IntersectionMatrix::add
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - IntersectionMatrix*::get
    - geos::geom::IntersectionMatrix::setAtLeast
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::add(IntersectionMatrix* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 16
    functionsReached:
    - length
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::matches(const std::string& requiredDimensionSymbols)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - actualDimensionValue
    - requiredDimensionSymbol
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(int actualDimensionValue,\n                            char
      requiredDimensionSymbol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actualDimensionSymbols'
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 16
    functionsReached:
    - IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(const std::string& actualDimensionSymbols,\n
      \                           const std::string& requiredDimensionSymbols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - row
    - col
    - dimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(Location row, Location col, int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' dimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 4
    functionsReached:
    - length
    - geos::geom::Dimension::toDimensionValue
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(const std::string& dimensionSymbols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:160,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 4
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::set
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(Location row, Location col, int
      minimumDimensionValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: geos::geom::IntersectionMatrix::setAtLeastIfValid
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeastIfValid(Location row, Location col,
      int minimumDimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:178,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:181,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:182,1
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - minimumDimensionSymbols
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - static_cast<Location>
    - std::string::length
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(std::string minimumDimensionSymbols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::geom::IntersectionMatrix::setAll
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAll(int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:205,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:207,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: geos::geom::IntersectionMatrix::isDisjoint
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isDisjoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isDisjoint
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: geos::geom::IntersectionMatrix::isIntersects
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::isDisjoint
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isIntersects() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isTouches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:226,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:237,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: geos::geom::IntersectionMatrix::isTouches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::IntersectionMatrix::isTouches
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isTouches(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: geos::geom::IntersectionMatrix::isCrosses
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isCrosses(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:273,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: geos::geom::IntersectionMatrix::isWithin
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isWithin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:282,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: geos::geom::IntersectionMatrix::isContains
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isContains() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:295,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:296,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:297,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: geos::geom::IntersectionMatrix::isEquals
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isEquals(int dimensionOfGeometryA,\n                             int
      dimensionOfGeometryB) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:313,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: geos::geom::IntersectionMatrix::isOverlaps
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isOverlaps(int dimensionOfGeometryA,\n                               int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:335,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: geos::geom::IntersectionMatrix::isCovers
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCovers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:358,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: geos::geom::IntersectionMatrix::isCoveredBy
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCoveredBy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: geos::geom::IntersectionMatrix::transpose
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntersectionMatrix
    signature: 'IntersectionMatrix *

      IntersectionMatrix::transpose()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: geos::geom::IntersectionMatrix::toString
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::Dimension::toDimensionSymbol
    linkageType: ''
    returnType: std::string
    signature: std::string IntersectionMatrix::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' im'
    argTypes:
    - std::ostream
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: '&

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:44,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' elements'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const std::string& elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const IntersectionMatrix&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: IntersectionMatrix*::get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - IntersectionMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::geom::IntersectionMatrix::add
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - IntersectionMatrix*::get
    - geos::geom::IntersectionMatrix::setAtLeast
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::add(IntersectionMatrix* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 25
    functionsReached:
    - length
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::matches(const std::string& requiredDimensionSymbols)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - actualDimensionValue
    - requiredDimensionSymbol
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(int actualDimensionValue,\n                            char
      requiredDimensionSymbol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actualDimensionSymbols'
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 25
    functionsReached:
    - IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(const std::string& actualDimensionSymbols,\n
      \                           const std::string& requiredDimensionSymbols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - row
    - col
    - dimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(Location row, Location col, int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' dimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 7
    functionsReached:
    - length
    - geos::geom::Dimension::toDimensionValue
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(const std::string& dimensionSymbols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:160,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 7
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::set
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(Location row, Location col, int
      minimumDimensionValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: geos::geom::IntersectionMatrix::setAtLeastIfValid
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeastIfValid(Location row, Location col,
      int minimumDimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:178,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:181,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:182,1
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - minimumDimensionSymbols
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - static_cast<Location>
    - std::string::length
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(std::string minimumDimensionSymbols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::geom::IntersectionMatrix::setAll
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAll(int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:205,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:207,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: geos::geom::IntersectionMatrix::isDisjoint
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isDisjoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isDisjoint
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: geos::geom::IntersectionMatrix::isIntersects
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::isDisjoint
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isIntersects() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isTouches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:226,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:237,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: geos::geom::IntersectionMatrix::isTouches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::IntersectionMatrix::isTouches
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isTouches(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: geos::geom::IntersectionMatrix::isCrosses
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isCrosses(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:273,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: geos::geom::IntersectionMatrix::isWithin
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isWithin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:282,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: geos::geom::IntersectionMatrix::isContains
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isContains() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:295,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:296,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:297,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: geos::geom::IntersectionMatrix::isEquals
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isEquals(int dimensionOfGeometryA,\n                             int
      dimensionOfGeometryB) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:313,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: geos::geom::IntersectionMatrix::isOverlaps
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isOverlaps(int dimensionOfGeometryA,\n                               int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:335,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: geos::geom::IntersectionMatrix::isCovers
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCovers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:358,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: geos::geom::IntersectionMatrix::isCoveredBy
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCoveredBy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: geos::geom::IntersectionMatrix::transpose
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntersectionMatrix
    signature: 'IntersectionMatrix *

      IntersectionMatrix::transpose()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: geos::geom::IntersectionMatrix::toString
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::Dimension::toDimensionSymbol
    linkageType: ''
    returnType: std::string
    signature: std::string IntersectionMatrix::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' im'
    argTypes:
    - std::ostream
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: '&

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAll
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:44,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' elements'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - geos::geom::IntersectionMatrix::setAll
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const std::string& elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::IntersectionMatrix::IntersectionMatrix
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::IntersectionMatrix(const IntersectionMatrix&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:60,1
    - Dst: IntersectionMatrix*::get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - IntersectionMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: geos::geom::IntersectionMatrix::add
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - IntersectionMatrix*::get
    - geos::geom::IntersectionMatrix::setAtLeast
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::add(IntersectionMatrix* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:71,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:75,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 34
    functionsReached:
    - length
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::matches(const std::string& requiredDimensionSymbols)
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - actualDimensionValue
    - requiredDimensionSymbol
    argTypes:
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(int actualDimensionValue,\n                            char
      requiredDimensionSymbol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' actualDimensionSymbols'
    - ' requiredDimensionSymbols'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::geom::IntersectionMatrix::matches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 34
    functionsReached:
    - IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::matches(const std::string& actualDimensionSymbols,\n
      \                           const std::string& requiredDimensionSymbols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    - Dst: static_cast<size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - row
    - col
    - dimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 10
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(Location row, Location col, int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:147,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' dimensionSymbols'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: geos::geom::IntersectionMatrix::set
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 10
    functionsReached:
    - length
    - geos::geom::Dimension::toDimensionValue
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::set(const std::string& dimensionSymbols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:160,1
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 10
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::set
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(Location row, Location col, int
      minimumDimensionValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - row
    - col
    - minimumDimensionValue
    argTypes:
    - Location
    - Location
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: geos::geom::IntersectionMatrix::setAtLeastIfValid
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeastIfValid(Location row, Location col,
      int minimumDimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:178,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:181,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:182,1
    - Dst: geos::geom::IntersectionMatrix::setAtLeast
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    - Dst: geos::geom::Dimension::toDimensionValue
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - minimumDimensionSymbols
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: geos::geom::IntersectionMatrix::setAtLeast
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::Dimension::toDimensionValue
    - static_cast<Location>
    - std::string::length
    - geos::geom::IntersectionMatrix::setAtLeast
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAtLeast(std::string minimumDimensionSymbols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::set
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    - Dst: static_cast<Location>
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimensionValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::geom::IntersectionMatrix::setAll
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::IntersectionMatrix::set
    - static_cast<Location>
    linkageType: ''
    returnType: void
    signature: void IntersectionMatrix::setAll(int dimensionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:203,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:205,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:207,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: geos::geom::IntersectionMatrix::isDisjoint
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 3
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isDisjoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isDisjoint
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: geos::geom::IntersectionMatrix::isIntersects
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::IntersectionMatrix::isDisjoint
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isIntersects() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::isTouches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:226,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:237,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:238,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:239,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: geos::geom::IntersectionMatrix::isTouches
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::IntersectionMatrix::isTouches
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isTouches(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:253,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:254,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:259,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:260,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: geos::geom::IntersectionMatrix::isCrosses
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isCrosses(int dimensionOfGeometryA,\n                              int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:272,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:273,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: geos::geom::IntersectionMatrix::isWithin
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isWithin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:281,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:282,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: geos::geom::IntersectionMatrix::isContains
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 2
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isContains() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:294,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:295,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:296,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:297,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: geos::geom::IntersectionMatrix::isEquals
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isEquals(int dimensionOfGeometryA,\n                             int
      dimensionOfGeometryB) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:308,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:309,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:310,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:313,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:314,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - dimensionOfGeometryA
    - dimensionOfGeometryB
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: geos::geom::IntersectionMatrix::isOverlaps
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionMatrix::isOverlaps(int dimensionOfGeometryA,\n                               int
      dimensionOfGeometryB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:325,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:327,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:329,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:331,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:335,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: geos::geom::IntersectionMatrix::isCovers
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCovers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:347,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:349,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:351,1
    - Dst: geos::geom::IntersectionMatrix::matches
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:353,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:358,1
    - Dst: get
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: geos::geom::IntersectionMatrix::isCoveredBy
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - get
    - geos::geom::IntersectionMatrix::matches
    linkageType: ''
    returnType: bool
    signature: bool IntersectionMatrix::isCoveredBy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: geos::geom::IntersectionMatrix::transpose
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntersectionMatrix
    signature: 'IntersectionMatrix *

      IntersectionMatrix::transpose()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Dimension::toDimensionSymbol
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: geos::geom::IntersectionMatrix::toString
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::Dimension::toDimensionSymbol
    linkageType: ''
    returnType: std::string
    signature: std::string IntersectionMatrix::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geom/IntersectionMatrix.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' im'
    argTypes:
    - std::ostream
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: '&

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
    functionSourceFile: /src/geos/src/geom/IntersectionMatrix.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const IntersectionMatrix& im)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:54,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:56,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:61,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: geos::geom::hasSingleNonEmptyElement
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool hasSingleNonEmptyElement(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:84,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::isCombinable
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getEnvelopeInternal
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isCombinable(const Geometry* g0, const Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:91,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:93,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: auto*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: geos::geom::extractElements
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - Geometry*::isEmpty
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - Geometry*::clone
    - auto*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void extractElements(const Geometry* g, std::vector<std::unique_ptr<Geometry>>&
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:113,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:114,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::geom::combineReduced
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - std::vector::reserve
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> combineReduced(const Geometry* g0, const
      Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isMixedDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:122,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: geos::geom::isHandledByOverlayNG
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - Geometry*::isMixedDimension
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isHandledByOverlayNG(const Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::isCombinable
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:140,1
    - Dst: geos::geom::combineReduced
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:141,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:149,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:150,1
    - Dst: geos::geom::StructuredCollection::overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:152,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:176,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:182,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:188,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 195
    functionName: geos::geom::HeuristicOverlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isHandledByOverlayNG
    - geos::geom::combineReduced
    - geos::geom::StructuredCollection::overlay
    - std::unique_ptr<Geometry>
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::isCombinable
    - geos::operation::overlayng::OverlayNGRobust::Union
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> HeuristicOverlay(const Geometry* g0, const
      Geometry* g1, int opCode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StructuredCollection::doUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:205,1
    - Dst: StructuredCollection::doDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:207,1
    - Dst: StructuredCollection::doSymDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:209,1
    - Dst: StructuredCollection::doIntersection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:211,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::geom::StructuredCollection::overlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - StructuredCollection::doUnion
    - geos::util::IllegalArgumentException
    - StructuredCollection::doIntersection
    - StructuredCollection::doSymDifference
    - StructuredCollection::doDifference
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::overlay(const Geometry*
      g0, const Geometry* g1, int opCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dim
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: geos::geom::StructuredCollection::addDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::addDimension(Dimension::DimensionType dim)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:229,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:230,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:231,1
    - Dst: geos::geom::StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:236,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:237,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:239,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:240,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:243,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:244,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:247,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: geos::geom::StructuredCollection::readCollection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getGeometryTypeId
    - push_back
    - geos::geom::StructuredCollection::readCollection
    - geos::util::IllegalArgumentException
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - geos::geom::StructuredCollection::addDimension
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::readCollection(const Geometry* g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:260,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:261,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:262,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:267,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: geos::geom::StructuredCollection::toVector
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getGeometryTypeId
    - push_back
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - geos::geom::StructuredCollection::toVector
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::toVector(const Geometry* g, std::vector<const
      Geometry*>& v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:291,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:292,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:293,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: isPuntal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:305,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:306,1
    - Dst: isLineal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:307,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:308,1
    - Dst: isPolygonal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:309,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 311
    functionName: geos::geom::StructuredCollection::unionByDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::get
    - geos::util::IllegalArgumentException
    - createMultiPoint
    - createMultiPolygon
    - static_cast<const Geometry*>
    - isPuntal
    - geos::operation::overlayng::OverlayNGRobust::Union
    - isLineal
    - isPolygonal
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::unionByDimension(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:323,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:324,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:330,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:333,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:334,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:335,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:343,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:344,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:345,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:346,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:347,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:349,1
    - Dst: geos::operation::overlayng::OverlayUtil::createEmptyResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:350,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::end
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - resultDim
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 354
    functionName: geos::geom::StructuredCollection::doUnaryUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
    - std::vector::begin
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::operation::overlayng::OverlayUtil::createEmptyResult
    - get
    - buildGeometry
    - std::vector::end
    - std::vector::size
    - geos::geom::StructuredCollection::toVector
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnaryUnion(int resultDim)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::StructuredCollection::unionByDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:361,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:362,1
    - Dst: geos::geom::StructuredCollection::doUnaryUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' coll'
    - opCode
    - dimA
    - dimB
    argTypes:
    - StructuredCollection
    - int
    - Dimension::DimensionType
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: geos::geom::StructuredCollection::computeResult
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::doUnaryUnion
    - geos::geom::StructuredCollection::unionByDimension
    - geos::operation::overlayng::OverlayUtil::resultDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> StructuredCollection::computeResult(StructuredCollection&
      coll, int opCode,\n    Dimension::DimensionType dimA, Dimension::DimensionType
      dimB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:370,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:371,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:372,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:375,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:376,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:377,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:380,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:381,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:382,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 390
    functionName: geos::geom::StructuredCollection::doUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - auto::get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnion(const StructuredCollection&
      a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:396,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:397,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:398,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:401,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:402,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:403,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:406,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:407,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:408,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:411,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:412,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:413,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:416,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:417,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:418,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:421,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:422,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:423,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:426,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:427,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:428,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:431,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:432,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:433,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:436,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:437,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:438,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 462
    functionName: geos::geom::StructuredCollection::doIntersection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doIntersection(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:468,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:469,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:470,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:473,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:474,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:475,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:478,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:479,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:480,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:483,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:484,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:485,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:488,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:489,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:490,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:493,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:494,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:495,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: geos::geom::StructuredCollection::doDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doDifference(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:508,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:509,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:510,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:513,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:514,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:515,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:518,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:519,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:520,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: geos::geom::StructuredCollection::doSymDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doSymDifference(const
      StructuredCollection& a) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:54,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:56,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:61,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: geos::geom::hasSingleNonEmptyElement
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool hasSingleNonEmptyElement(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:84,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::isCombinable
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getEnvelopeInternal
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isCombinable(const Geometry* g0, const Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:91,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:93,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: auto*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: geos::geom::extractElements
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - Geometry*::isEmpty
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - Geometry*::clone
    - auto*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void extractElements(const Geometry* g, std::vector<std::unique_ptr<Geometry>>&
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:113,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:114,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::geom::combineReduced
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getFactory
    - std::vector::reserve
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> combineReduced(const Geometry* g0, const
      Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isMixedDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:122,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: geos::geom::isHandledByOverlayNG
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - Geometry*::isMixedDimension
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isHandledByOverlayNG(const Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::isCombinable
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:140,1
    - Dst: geos::geom::combineReduced
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:141,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:149,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:150,1
    - Dst: geos::geom::StructuredCollection::overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:152,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:176,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:182,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:188,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 195
    functionName: geos::geom::HeuristicOverlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isHandledByOverlayNG
    - geos::geom::combineReduced
    - geos::geom::StructuredCollection::overlay
    - std::unique_ptr<Geometry>
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::isCombinable
    - geos::operation::overlayng::OverlayNGRobust::Union
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> HeuristicOverlay(const Geometry* g0, const
      Geometry* g1, int opCode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StructuredCollection::doUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:205,1
    - Dst: StructuredCollection::doDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:207,1
    - Dst: StructuredCollection::doSymDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:209,1
    - Dst: StructuredCollection::doIntersection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:211,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::geom::StructuredCollection::overlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached:
    - StructuredCollection::doUnion
    - geos::util::IllegalArgumentException
    - StructuredCollection::doIntersection
    - StructuredCollection::doSymDifference
    - StructuredCollection::doDifference
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::overlay(const Geometry*
      g0, const Geometry* g1, int opCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dim
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: geos::geom::StructuredCollection::addDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::addDimension(Dimension::DimensionType dim)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:229,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:230,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:231,1
    - Dst: geos::geom::StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:236,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:237,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:239,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:240,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:243,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:244,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:247,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: geos::geom::StructuredCollection::readCollection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getGeometryTypeId
    - push_back
    - geos::geom::StructuredCollection::readCollection
    - geos::util::IllegalArgumentException
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - geos::geom::StructuredCollection::addDimension
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::readCollection(const Geometry* g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:260,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:261,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:262,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:267,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: geos::geom::StructuredCollection::toVector
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getGeometryTypeId
    - push_back
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - geos::geom::StructuredCollection::toVector
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::toVector(const Geometry* g, std::vector<const
      Geometry*>& v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:291,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:292,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:293,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: isPuntal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:305,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:306,1
    - Dst: isLineal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:307,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:308,1
    - Dst: isPolygonal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:309,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 311
    functionName: geos::geom::StructuredCollection::unionByDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::get
    - geos::util::IllegalArgumentException
    - createMultiPoint
    - createMultiPolygon
    - static_cast<const Geometry*>
    - isPuntal
    - geos::operation::overlayng::OverlayNGRobust::Union
    - isLineal
    - isPolygonal
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::unionByDimension(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:323,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:324,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:330,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:333,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:334,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:335,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:343,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:344,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:345,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:346,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:347,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:349,1
    - Dst: geos::operation::overlayng::OverlayUtil::createEmptyResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:350,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::end
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - resultDim
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 354
    functionName: geos::geom::StructuredCollection::doUnaryUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
    - std::vector::begin
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::operation::overlayng::OverlayUtil::createEmptyResult
    - get
    - buildGeometry
    - std::vector::end
    - std::vector::size
    - geos::geom::StructuredCollection::toVector
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnaryUnion(int resultDim)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::StructuredCollection::unionByDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:361,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:362,1
    - Dst: geos::geom::StructuredCollection::doUnaryUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' coll'
    - opCode
    - dimA
    - dimB
    argTypes:
    - StructuredCollection
    - int
    - Dimension::DimensionType
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: geos::geom::StructuredCollection::computeResult
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::StructuredCollection::doUnaryUnion
    - geos::geom::StructuredCollection::unionByDimension
    - geos::operation::overlayng::OverlayUtil::resultDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> StructuredCollection::computeResult(StructuredCollection&
      coll, int opCode,\n    Dimension::DimensionType dimA, Dimension::DimensionType
      dimB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:370,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:371,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:372,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:375,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:376,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:377,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:380,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:381,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:382,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 390
    functionName: geos::geom::StructuredCollection::doUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - auto::get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnion(const StructuredCollection&
      a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:396,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:397,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:398,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:401,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:402,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:403,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:406,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:407,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:408,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:411,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:412,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:413,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:416,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:417,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:418,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:421,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:422,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:423,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:426,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:427,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:428,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:431,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:432,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:433,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:436,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:437,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:438,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 462
    functionName: geos::geom::StructuredCollection::doIntersection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doIntersection(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:468,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:469,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:470,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:473,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:474,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:475,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:478,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:479,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:480,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:483,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:484,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:485,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:488,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:489,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:490,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:493,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:494,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:495,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: geos::geom::StructuredCollection::doDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doDifference(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:508,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:509,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:510,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:513,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:514,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:515,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:518,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:519,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:520,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: geos::geom::StructuredCollection::doSymDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doSymDifference(const
      StructuredCollection& a) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:54,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:56,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:61,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: geos::geom::hasSingleNonEmptyElement
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool hasSingleNonEmptyElement(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:84,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::isCombinable
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getEnvelopeInternal
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isCombinable(const Geometry* g0, const Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:91,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:93,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: auto*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: geos::geom::extractElements
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - Geometry*::isEmpty
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - Geometry*::clone
    - auto*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void extractElements(const Geometry* g, std::vector<std::unique_ptr<Geometry>>&
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:113,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:114,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::geom::combineReduced
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getFactory
    - std::vector::reserve
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> combineReduced(const Geometry* g0, const
      Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isMixedDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:122,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: geos::geom::isHandledByOverlayNG
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - Geometry*::isMixedDimension
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isHandledByOverlayNG(const Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::isCombinable
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:140,1
    - Dst: geos::geom::combineReduced
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:141,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:149,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:150,1
    - Dst: geos::geom::StructuredCollection::overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:152,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:176,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:182,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:188,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 195
    functionName: geos::geom::HeuristicOverlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isHandledByOverlayNG
    - geos::geom::combineReduced
    - geos::geom::StructuredCollection::overlay
    - std::unique_ptr<Geometry>
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::isCombinable
    - geos::operation::overlayng::OverlayNGRobust::Union
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> HeuristicOverlay(const Geometry* g0, const
      Geometry* g1, int opCode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StructuredCollection::doUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:205,1
    - Dst: StructuredCollection::doDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:207,1
    - Dst: StructuredCollection::doSymDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:209,1
    - Dst: StructuredCollection::doIntersection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:211,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::geom::StructuredCollection::overlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - StructuredCollection::doUnion
    - geos::util::IllegalArgumentException
    - StructuredCollection::doIntersection
    - StructuredCollection::doSymDifference
    - StructuredCollection::doDifference
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::overlay(const Geometry*
      g0, const Geometry* g1, int opCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dim
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: geos::geom::StructuredCollection::addDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::addDimension(Dimension::DimensionType dim)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:229,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:230,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:231,1
    - Dst: geos::geom::StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:236,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:237,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:239,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:240,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:243,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:244,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:247,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: geos::geom::StructuredCollection::readCollection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getGeometryTypeId
    - push_back
    - geos::geom::StructuredCollection::readCollection
    - geos::util::IllegalArgumentException
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - geos::geom::StructuredCollection::addDimension
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::readCollection(const Geometry* g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:260,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:261,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:262,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:267,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: geos::geom::StructuredCollection::toVector
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 5
    functionsReached:
    - Geometry*::getGeometryTypeId
    - push_back
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - geos::geom::StructuredCollection::toVector
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::toVector(const Geometry* g, std::vector<const
      Geometry*>& v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:291,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:292,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:293,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: isPuntal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:305,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:306,1
    - Dst: isLineal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:307,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:308,1
    - Dst: isPolygonal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:309,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 311
    functionName: geos::geom::StructuredCollection::unionByDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::get
    - geos::util::IllegalArgumentException
    - createMultiPoint
    - createMultiPolygon
    - static_cast<const Geometry*>
    - isPuntal
    - geos::operation::overlayng::OverlayNGRobust::Union
    - isLineal
    - isPolygonal
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::unionByDimension(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:323,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:324,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:330,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:333,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:334,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:335,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:343,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:344,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:345,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:346,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:347,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:349,1
    - Dst: geos::operation::overlayng::OverlayUtil::createEmptyResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:350,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::end
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - resultDim
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 354
    functionName: geos::geom::StructuredCollection::doUnaryUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
    - std::vector::begin
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::operation::overlayng::OverlayUtil::createEmptyResult
    - get
    - buildGeometry
    - std::vector::end
    - std::vector::size
    - geos::geom::StructuredCollection::toVector
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnaryUnion(int resultDim)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::StructuredCollection::unionByDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:361,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:362,1
    - Dst: geos::geom::StructuredCollection::doUnaryUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' coll'
    - opCode
    - dimA
    - dimB
    argTypes:
    - StructuredCollection
    - int
    - Dimension::DimensionType
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: geos::geom::StructuredCollection::computeResult
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::StructuredCollection::doUnaryUnion
    - geos::geom::StructuredCollection::unionByDimension
    - geos::operation::overlayng::OverlayUtil::resultDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> StructuredCollection::computeResult(StructuredCollection&
      coll, int opCode,\n    Dimension::DimensionType dimA, Dimension::DimensionType
      dimB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:370,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:371,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:372,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:375,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:376,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:377,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:380,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:381,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:382,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 390
    functionName: geos::geom::StructuredCollection::doUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - auto::get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnion(const StructuredCollection&
      a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:396,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:397,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:398,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:401,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:402,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:403,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:406,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:407,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:408,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:411,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:412,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:413,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:416,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:417,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:418,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:421,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:422,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:423,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:426,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:427,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:428,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:431,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:432,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:433,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:436,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:437,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:438,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 462
    functionName: geos::geom::StructuredCollection::doIntersection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doIntersection(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:468,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:469,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:470,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:473,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:474,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:475,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:478,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:479,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:480,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:483,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:484,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:485,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:488,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:489,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:490,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:493,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:494,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:495,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: geos::geom::StructuredCollection::doDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doDifference(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:508,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:509,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:510,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:513,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:514,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:515,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:518,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:519,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:520,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: geos::geom::StructuredCollection::doSymDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doSymDifference(const
      StructuredCollection& a) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:54,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:56,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:61,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: geos::geom::hasSingleNonEmptyElement
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool hasSingleNonEmptyElement(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:77,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:81,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:84,1
    - Dst: geos::geom::hasSingleNonEmptyElement
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: geos::geom::isCombinable
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::hasSingleNonEmptyElement
    - Geometry*::getEnvelopeInternal
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isCombinable(const Geometry* g0, const Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:91,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:93,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: auto*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:96,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:99,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: geos::geom::extractElements
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 7
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - Geometry*::isEmpty
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - Geometry*::clone
    - auto*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void extractElements(const Geometry* g, std::vector<std::unique_ptr<Geometry>>&
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:112,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:113,1
    - Dst: geos::geom::extractElements
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:114,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    - Dst: std::move
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::geom::combineReduced
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getFactory
    - std::vector::reserve
    - geos::geom::extractElements
    - Geometry*::getNumGeometries
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> combineReduced(const Geometry* g0, const
      Geometry* g1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isMixedDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:119,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:122,1
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: geos::geom::isHandledByOverlayNG
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getDimension
    - Geometry*::getGeometryTypeId
    - Geometry*::isMixedDimension
    - Geometry*::isEmpty
    linkageType: ''
    returnType: bool
    signature: bool isHandledByOverlayNG(const Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::isCombinable
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:140,1
    - Dst: geos::geom::combineReduced
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:141,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:149,1
    - Dst: geos::geom::isHandledByOverlayNG
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:150,1
    - Dst: geos::geom::StructuredCollection::overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:152,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:176,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:182,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:188,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 195
    functionName: geos::geom::HeuristicOverlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isHandledByOverlayNG
    - geos::geom::combineReduced
    - geos::geom::StructuredCollection::overlay
    - std::unique_ptr<Geometry>
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::isCombinable
    - geos::operation::overlayng::OverlayNGRobust::Union
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> HeuristicOverlay(const Geometry* g0, const
      Geometry* g1, int opCode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StructuredCollection::doUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:205,1
    - Dst: StructuredCollection::doDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:207,1
    - Dst: StructuredCollection::doSymDifference
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:209,1
    - Dst: StructuredCollection::doIntersection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:211,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - g0
    - g1
    - opCode
    argTypes:
    - Geometry*
    - Geometry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 215
    functionName: geos::geom::StructuredCollection::overlay
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 4
    functionsReached:
    - StructuredCollection::doUnion
    - geos::util::IllegalArgumentException
    - StructuredCollection::doIntersection
    - StructuredCollection::doSymDifference
    - StructuredCollection::doDifference
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::overlay(const Geometry*
      g0, const Geometry* g1, int opCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dim
    argTypes:
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: geos::geom::StructuredCollection::addDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::addDimension(Dimension::DimensionType dim)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:229,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:230,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:231,1
    - Dst: geos::geom::StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:232,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:236,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:237,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:239,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:240,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:243,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:244,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:247,1
    - Dst: geos::geom::StructuredCollection::addDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: geos::geom::StructuredCollection::readCollection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getFactory
    - Geometry*::getGeometryTypeId
    - push_back
    - geos::geom::StructuredCollection::readCollection
    - geos::util::IllegalArgumentException
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - geos::geom::StructuredCollection::addDimension
    - Geometry*::getNumGeometries
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::readCollection(const Geometry* g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:260,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:261,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:262,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:263,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:267,1
    - Dst: push_back
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - g
    - ' v'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: geos::geom::StructuredCollection::toVector
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 7
    functionsReached:
    - Geometry*::getGeometryTypeId
    - push_back
    - Geometry*::isCollection
    - Geometry*::isEmpty
    - Geometry*::getNumGeometries
    - geos::geom::StructuredCollection::toVector
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::toVector(const Geometry* g, std::vector<const
      Geometry*>& v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:291,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:292,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:293,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:295,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:296,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: static_cast<const Geometry*>
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:297,1
    - Dst: isPuntal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:305,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:306,1
    - Dst: isLineal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:307,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:308,1
    - Dst: isPolygonal
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:309,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 311
    functionName: geos::geom::StructuredCollection::unionByDimension
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::get
    - geos::util::IllegalArgumentException
    - createMultiPoint
    - createMultiPolygon
    - static_cast<const Geometry*>
    - isPuntal
    - geos::operation::overlayng::OverlayNGRobust::Union
    - isLineal
    - isPolygonal
    linkageType: ''
    returnType: void
    signature: void StructuredCollection::unionByDimension(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:323,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:324,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:329,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:330,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:333,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:334,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:335,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:339,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:340,1
    - Dst: geos::geom::StructuredCollection::toVector
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:341,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:343,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:344,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:345,1
    - Dst: std::unique_ptr::getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:346,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:347,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:349,1
    - Dst: geos::operation::overlayng::OverlayUtil::createEmptyResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:350,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    - Dst: std::vector::end
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - resultDim
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 354
    functionName: geos::geom::StructuredCollection::doUnaryUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - std::unique_ptr::getCoordinateDimension
    - geos::operation::overlayng::OverlayUtil::resultCoordinateDimension
    - std::vector::begin
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::operation::overlayng::OverlayUtil::createEmptyResult
    - get
    - buildGeometry
    - std::vector::end
    - std::vector::size
    - geos::geom::StructuredCollection::toVector
    - getCoordinateDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnaryUnion(int resultDim)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::StructuredCollection::unionByDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:361,1
    - Dst: geos::operation::overlayng::OverlayUtil::resultDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:362,1
    - Dst: geos::geom::StructuredCollection::doUnaryUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' coll'
    - opCode
    - dimA
    - dimB
    argTypes:
    - StructuredCollection
    - int
    - Dimension::DimensionType
    - Dimension::DimensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: geos::geom::StructuredCollection::computeResult
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::StructuredCollection::doUnaryUnion
    - geos::geom::StructuredCollection::unionByDimension
    - geos::operation::overlayng::OverlayUtil::resultDimension
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> StructuredCollection::computeResult(StructuredCollection&
      coll, int opCode,\n    Dimension::DimensionType dimA, Dimension::DimensionType
      dimB) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:370,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:371,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:372,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:375,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:376,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:377,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:380,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:381,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:382,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:386,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:387,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: auto::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:388,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 390
    functionName: geos::geom::StructuredCollection::doUnion
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - auto::get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doUnion(const StructuredCollection&
      a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:396,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:397,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:398,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:401,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:402,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:403,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:406,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:407,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:408,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:411,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:412,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:413,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:416,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:417,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:418,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:421,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:422,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:423,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:426,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:427,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:428,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:431,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:432,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:433,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:436,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:437,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:438,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:452,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:453,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:454,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:455,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:456,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:457,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:458,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:459,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:460,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 462
    functionName: geos::geom::StructuredCollection::doIntersection
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doIntersection(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:468,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:469,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:470,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:473,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:474,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:475,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:478,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:479,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:480,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:483,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:484,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:485,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:488,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:489,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:490,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:493,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:494,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:495,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:499,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:500,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:501,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: geos::geom::StructuredCollection::doDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::geom::StructuredCollection::getPointUnion
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doDifference(const
      StructuredCollection& a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:508,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:509,1
    - Dst: geos::geom::StructuredCollection::getPolyUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:510,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:513,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:514,1
    - Dst: geos::geom::StructuredCollection::getLineUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:515,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Overlay
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:518,1
    - Dst: get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:519,1
    - Dst: geos::geom::StructuredCollection::getPointUnion
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:520,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:524,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:525,1
    - Dst: StructuredCollection::readCollection
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:526,1
    - Dst: geos::geom::StructuredCollection::computeResult
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    - Dst: geos::geom::StructuredCollection::getDimension
      Src: /src/geos/src/geom/HeuristicOverlay.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - StructuredCollection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: geos::geom::StructuredCollection::doSymDifference
    functionSourceFile: /src/geos/src/geom/HeuristicOverlay.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::StructuredCollection::getPointUnion
    - std::unique_ptr::get
    - StructuredCollection::readCollection
    - geos::operation::overlayng::OverlayNGRobust::Overlay
    - geos::geom::StructuredCollection::getDimension
    - geos::geom::StructuredCollection::computeResult
    - get
    - geos::geom::StructuredCollection::getPolyUnion
    - geos::geom::StructuredCollection::getLineUnion
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> StructuredCollection::doSymDifference(const
      StructuredCollection& a) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/src/geom/PrecisionModel.cpp:55,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geom/PrecisionModel.cpp:56,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:63,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: geos::geom::PrecisionModel::makePrecise
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - static_cast<double>
    - static_cast<float>
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::makePrecise(double val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nModelType
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(Type nModelType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:112,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:113,1
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - newScale
    - newOffsetX
    - newOffsetY
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::ignore_unused_variable_warning
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale, double newOffsetX,
      double newOffsetY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::PrecisionModel::isFloating
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PrecisionModel::isFloating() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/PrecisionModel.cpp:155,1
    - Dst: std::ceil
      Src: /src/geos/src/geom/PrecisionModel.cpp:156,1
    - Dst: std::floor
      Src: /src/geos/src/geom/PrecisionModel.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: geos::geom::PrecisionModel::getMaximumSignificantDigits
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - getScale
    - static_cast<int>
    - std::floor
    - std::log
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::getMaximumSignificantDigits() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/geom/PrecisionModel.cpp:182,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:190,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 196
    functionName: geos::geom::PrecisionModel::setScale
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::PrecisionModel::snapToInt
    - std::fabs
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::setScale(double newScale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:201,1
    - Dst: std::abs
      Src: /src/geos/src/geom/PrecisionModel.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val
    - tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: geos::geom::PrecisionModel::snapToInt
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 1
    functionsReached:
    - std::round
    - std::abs
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::snapToInt(double val, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: geos::geom::PrecisionModel::getOffsetX
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetX() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: geos::geom::PrecisionModel::getOffsetY
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetY() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:234,1
    - Dst: geos::geom::PrecisionModel::getOffsetX
      Src: /src/geos/src/geom/PrecisionModel.cpp:235,1
    - Dst: geos::geom::PrecisionModel::getOffsetY
      Src: /src/geos/src/geom/PrecisionModel.cpp:236,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/PrecisionModel.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: geos::geom::PrecisionModel::toString
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - geos::geom::PrecisionModel::getOffsetY
    - geos::geom::PrecisionModel::getOffsetX
    - getScale
    linkageType: ''
    returnType: std::string
    signature: std::string PrecisionModel::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: geos::geom::getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    - Dst: geos::geom::getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PrecisionModel
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: operator==(const PrecisionModel& a, const PrecisionModel& b)
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - isFloating
    - geos::geom::getScale
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PrecisionModel& a, const PrecisionModel& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:256,1
    - Dst: PrecisionModel*::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: geos::geom::PrecisionModel::compareTo
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel*::getMaximumSignificantDigits
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::compareTo(const PrecisionModel* other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/src/geom/PrecisionModel.cpp:55,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geom/PrecisionModel.cpp:56,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:63,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: geos::geom::PrecisionModel::makePrecise
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - static_cast<double>
    - static_cast<float>
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::makePrecise(double val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nModelType
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(Type nModelType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:112,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:113,1
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - newScale
    - newOffsetX
    - newOffsetY
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::ignore_unused_variable_warning
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale, double newOffsetX,
      double newOffsetY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::PrecisionModel::isFloating
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PrecisionModel::isFloating() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/PrecisionModel.cpp:155,1
    - Dst: std::ceil
      Src: /src/geos/src/geom/PrecisionModel.cpp:156,1
    - Dst: std::floor
      Src: /src/geos/src/geom/PrecisionModel.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: geos::geom::PrecisionModel::getMaximumSignificantDigits
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 1
    functionsReached:
    - std::ceil
    - getScale
    - static_cast<int>
    - std::floor
    - std::log
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::getMaximumSignificantDigits() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/geom/PrecisionModel.cpp:182,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:190,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 196
    functionName: geos::geom::PrecisionModel::setScale
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::PrecisionModel::snapToInt
    - std::fabs
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::setScale(double newScale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:201,1
    - Dst: std::abs
      Src: /src/geos/src/geom/PrecisionModel.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val
    - tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: geos::geom::PrecisionModel::snapToInt
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 2
    functionsReached:
    - std::round
    - std::abs
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::snapToInt(double val, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: geos::geom::PrecisionModel::getOffsetX
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetX() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: geos::geom::PrecisionModel::getOffsetY
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetY() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:234,1
    - Dst: geos::geom::PrecisionModel::getOffsetX
      Src: /src/geos/src/geom/PrecisionModel.cpp:235,1
    - Dst: geos::geom::PrecisionModel::getOffsetY
      Src: /src/geos/src/geom/PrecisionModel.cpp:236,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/PrecisionModel.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: geos::geom::PrecisionModel::toString
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - geos::geom::PrecisionModel::getOffsetY
    - geos::geom::PrecisionModel::getOffsetX
    - getScale
    linkageType: ''
    returnType: std::string
    signature: std::string PrecisionModel::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PrecisionModel
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: operator==(const PrecisionModel& a, const PrecisionModel& b)
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - isFloating
    - getScale
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PrecisionModel& a, const PrecisionModel& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:256,1
    - Dst: PrecisionModel*::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: geos::geom::PrecisionModel::compareTo
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel*::getMaximumSignificantDigits
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::compareTo(const PrecisionModel* other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/src/geom/PrecisionModel.cpp:55,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geom/PrecisionModel.cpp:56,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:63,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: geos::geom::PrecisionModel::makePrecise
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - static_cast<double>
    - static_cast<float>
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::makePrecise(double val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nModelType
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(Type nModelType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:112,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:113,1
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - newScale
    - newOffsetX
    - newOffsetY
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::ignore_unused_variable_warning
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale, double newOffsetX,
      double newOffsetY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::PrecisionModel::isFloating
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PrecisionModel::isFloating() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/PrecisionModel.cpp:155,1
    - Dst: std::ceil
      Src: /src/geos/src/geom/PrecisionModel.cpp:156,1
    - Dst: std::floor
      Src: /src/geos/src/geom/PrecisionModel.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: geos::geom::PrecisionModel::getMaximumSignificantDigits
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 2
    functionsReached:
    - std::ceil
    - getScale
    - static_cast<int>
    - std::floor
    - std::log
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::getMaximumSignificantDigits() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/geom/PrecisionModel.cpp:182,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:190,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 196
    functionName: geos::geom::PrecisionModel::setScale
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::PrecisionModel::snapToInt
    - std::fabs
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::setScale(double newScale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:201,1
    - Dst: std::abs
      Src: /src/geos/src/geom/PrecisionModel.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val
    - tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: geos::geom::PrecisionModel::snapToInt
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 3
    functionsReached:
    - std::round
    - std::abs
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::snapToInt(double val, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: geos::geom::PrecisionModel::getOffsetX
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetX() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: geos::geom::PrecisionModel::getOffsetY
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetY() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:234,1
    - Dst: geos::geom::PrecisionModel::getOffsetX
      Src: /src/geos/src/geom/PrecisionModel.cpp:235,1
    - Dst: geos::geom::PrecisionModel::getOffsetY
      Src: /src/geos/src/geom/PrecisionModel.cpp:236,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/PrecisionModel.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: geos::geom::PrecisionModel::toString
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - geos::geom::PrecisionModel::getOffsetY
    - geos::geom::PrecisionModel::getOffsetX
    - getScale
    linkageType: ''
    returnType: std::string
    signature: std::string PrecisionModel::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PrecisionModel
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: operator==(const PrecisionModel& a, const PrecisionModel& b)
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - isFloating
    - getScale
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PrecisionModel& a, const PrecisionModel& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:256,1
    - Dst: PrecisionModel*::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: geos::geom::PrecisionModel::compareTo
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel*::getMaximumSignificantDigits
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::compareTo(const PrecisionModel* other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/geos/src/geom/PrecisionModel.cpp:55,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geom/PrecisionModel.cpp:56,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:63,1
    - Dst: geos::util::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: geos::geom::PrecisionModel::makePrecise
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    - static_cast<double>
    - static_cast<float>
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::makePrecise(double val) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nModelType
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(Type nModelType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:112,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/PrecisionModel.cpp:113,1
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - newScale
    - newOffsetX
    - newOffsetY
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::ignore_unused_variable_warning
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale, double newOffsetX,
      double newOffsetY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::setScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: geos::geom::PrecisionModel::PrecisionModel
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::PrecisionModel::setScale
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::PrecisionModel(double newScale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::PrecisionModel::isFloating
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PrecisionModel::isFloating() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: std::log
      Src: /src/geos/src/geom/PrecisionModel.cpp:154,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/PrecisionModel.cpp:155,1
    - Dst: std::ceil
      Src: /src/geos/src/geom/PrecisionModel.cpp:156,1
    - Dst: std::floor
      Src: /src/geos/src/geom/PrecisionModel.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: geos::geom::PrecisionModel::getMaximumSignificantDigits
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 3
    functionsReached:
    - std::ceil
    - getScale
    - static_cast<int>
    - std::floor
    - std::log
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::getMaximumSignificantDigits() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/geom/PrecisionModel.cpp:182,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:190,1
    - Dst: geos::geom::PrecisionModel::snapToInt
      Src: /src/geos/src/geom/PrecisionModel.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - newScale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 196
    functionName: geos::geom::PrecisionModel::setScale
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::PrecisionModel::snapToInt
    - std::fabs
    linkageType: ''
    returnType: void
    signature: void PrecisionModel::setScale(double newScale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::round
      Src: /src/geos/src/geom/PrecisionModel.cpp:201,1
    - Dst: std::abs
      Src: /src/geos/src/geom/PrecisionModel.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val
    - tolerance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: geos::geom::PrecisionModel::snapToInt
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 4
    functionsReached:
    - std::round
    - std::abs
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::snapToInt(double val, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: geos::geom::PrecisionModel::getOffsetX
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetX() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: geos::geom::PrecisionModel::getOffsetY
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double PrecisionModel::getOffsetY() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:234,1
    - Dst: geos::geom::PrecisionModel::getOffsetX
      Src: /src/geos/src/geom/PrecisionModel.cpp:235,1
    - Dst: geos::geom::PrecisionModel::getOffsetY
      Src: /src/geos/src/geom/PrecisionModel.cpp:236,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/PrecisionModel.cpp:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: geos::geom::PrecisionModel::toString
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - geos::geom::PrecisionModel::getOffsetY
    - geos::geom::PrecisionModel::getOffsetX
    - getScale
    linkageType: ''
    returnType: std::string
    signature: std::string PrecisionModel::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: isFloating
      Src: /src/geos/src/geom/PrecisionModel.cpp:248,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    - Dst: getScale
      Src: /src/geos/src/geom/PrecisionModel.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - PrecisionModel
    - PrecisionModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: operator==(const PrecisionModel& a, const PrecisionModel& b)
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - isFloating
    - getScale
    linkageType: ''
    returnType: bool
    signature: bool operator==(const PrecisionModel& a, const PrecisionModel& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::PrecisionModel::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:256,1
    - Dst: PrecisionModel*::getMaximumSignificantDigits
      Src: /src/geos/src/geom/PrecisionModel.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: geos::geom::PrecisionModel::compareTo
    functionSourceFile: /src/geos/src/geom/PrecisionModel.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::PrecisionModel::getMaximumSignificantDigits
    - PrecisionModel*::getMaximumSignificantDigits
    linkageType: ''
    returnType: int
    signature: int PrecisionModel::compareTo(const PrecisionModel* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/geos/src/geom/LineSegment.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::LineSegment::reverse
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void LineSegment::reverse()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: geos::geom::LineSegment::projectionFactor
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LineSegment::projectionFactor(const CoordinateXY& p) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::LineSegment::segmentFraction
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: double
    signature: double LineSegment::segmentFraction(const CoordinateXY& inputPt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:101,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(const Coordinate& p, Coordinate& ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:111,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY LineSegment::project(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - factor
    - ' ret'
    argTypes:
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(double factor, CoordinateXY& ret) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:132,1
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:133,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:145,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:150,1
    - Dst: setCoordinates
      Src: /src/geos/src/geom/LineSegment.cpp:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ' seg'
    - ' ret'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::LineSegment::project
    - setCoordinates
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::project(const LineSegment& seg, LineSegment& ret)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:163,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:165,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: geos::geom::LineSegment::closestPoint
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - distance
    - geos::geom::LineSegment::project
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::closestPoint(const CoordinateXY& p, CoordinateXY&
      ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::geom::LineSegment::equalsTopo
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::equalsTopo(const LineSegment& other) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:188,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:189,1
    - Dst: std::max
      Src: /src/geos/src/geom/LineSegment.cpp:192,1
    - Dst: std::min
      Src: /src/geos/src/geom/LineSegment.cpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' seg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: geos::geom::LineSegment::orientationIndex
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::index
    - std::max
    - std::min
    linkageType: ''
    returnType: int
    signature: int LineSegment::orientationIndex(const LineSegment& seg) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:206,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/geom/LineSegment.cpp:207,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:220,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:221,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:227,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:228,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:236,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:237,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:245,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 253
    functionName: geos::geom::LineSegment::closestPoints
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::closestPoint
    - Coordinate::distance
    - geos::geom::LineSegment::intersection
    - Coordinate::isNull
    linkageType: ''
    returnType: std::array<Coordinate, 2>
    signature: std::array<Coordinate, 2> LineSegment::closestPoints(const LineSegment&
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:259,1
    - Dst: algorithm::LineIntersector::hasIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:260,1
    - Dst: algorithm::LineIntersector::getIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:261,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/geom/LineSegment.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: geos::geom::LineSegment::intersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 1
    functionsReached:
    - algorithm::LineIntersector::getIntersection
    - Coordinate::setNull
    - algorithm::LineIntersector::hasIntersection
    - algorithm::LineIntersector::computeIntersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::intersection(const LineSegment& line) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: geos::geom::LineSegment::lineIntersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::lineIntersection(const LineSegment& line) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/geom/LineSegment.cpp:288,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/geom/LineSegment.cpp:294,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - segmentLengthFraction
    - offsetDistance
    - ' ret'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: geos::geom::LineSegment::pointAlongOffset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalStateException
    - Coordinate
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: "void LineSegment::pointAlongOffset(double segmentLengthFraction,\n
      \                             double offsetDistance,\n                              Coordinate&
      ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:316,1
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsetDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: geos::geom::LineSegment::offset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::pointAlongOffset
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment LineSegment::offset(double offsetDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/geom/LineSegment.cpp:326,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:327,1
    - Dst: distancePerpendicular
      Src: /src/geos/src/geom/LineSegment.cpp:328,1
    - Dst: geos::geom::LineSegment::orientationIndex
      Src: /src/geos/src/geom/LineSegment.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: geos::geom::LineSegment::distancePerpendicularOriented
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - distance
    - distancePerpendicular
    - geos::geom::LineSegment::orientationIndex
    - equals2D
    linkageType: ''
    returnType: double
    signature: double LineSegment::distancePerpendicularOriented(const CoordinateXY&
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineSegment.cpp:338,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:340,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:341,1
    - Dst: createLineString
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: geos::geom::LineSegment::toGeometry
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - createLineString
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LineSegment::toGeometry(const GeometryFactory&
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: '&

      LineSegment::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      LineSegment::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/geos/src/geom/LineSegment.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::LineSegment::reverse
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void LineSegment::reverse()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: geos::geom::LineSegment::projectionFactor
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LineSegment::projectionFactor(const CoordinateXY& p) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::LineSegment::segmentFraction
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: double
    signature: double LineSegment::segmentFraction(const CoordinateXY& inputPt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:101,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 2
    functionsReached:
    - Coordinate
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(const Coordinate& p, Coordinate& ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:111,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 2
    functionsReached:
    - CoordinateXY
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY LineSegment::project(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - factor
    - ' ret'
    argTypes:
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 2
    functionsReached:
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(double factor, CoordinateXY& ret) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:132,1
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:133,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:145,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:150,1
    - Dst: setCoordinates
      Src: /src/geos/src/geom/LineSegment.cpp:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ' seg'
    - ' ret'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::LineSegment::project
    - setCoordinates
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::project(const LineSegment& seg, LineSegment& ret)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:163,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:165,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: geos::geom::LineSegment::closestPoint
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 1
    functionsReached:
    - distance
    - geos::geom::LineSegment::project
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::closestPoint(const CoordinateXY& p, CoordinateXY&
      ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::geom::LineSegment::equalsTopo
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::equalsTopo(const LineSegment& other) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:188,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:189,1
    - Dst: std::max
      Src: /src/geos/src/geom/LineSegment.cpp:192,1
    - Dst: std::min
      Src: /src/geos/src/geom/LineSegment.cpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' seg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: geos::geom::LineSegment::orientationIndex
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::index
    - std::max
    - std::min
    linkageType: ''
    returnType: int
    signature: int LineSegment::orientationIndex(const LineSegment& seg) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:206,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/geom/LineSegment.cpp:207,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:220,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:221,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:227,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:228,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:236,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:237,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:245,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 253
    functionName: geos::geom::LineSegment::closestPoints
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::closestPoint
    - Coordinate::distance
    - geos::geom::LineSegment::intersection
    - Coordinate::isNull
    linkageType: ''
    returnType: std::array<Coordinate, 2>
    signature: std::array<Coordinate, 2> LineSegment::closestPoints(const LineSegment&
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:259,1
    - Dst: algorithm::LineIntersector::hasIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:260,1
    - Dst: algorithm::LineIntersector::getIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:261,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/geom/LineSegment.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: geos::geom::LineSegment::intersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 2
    functionsReached:
    - algorithm::LineIntersector::getIntersection
    - Coordinate::setNull
    - algorithm::LineIntersector::hasIntersection
    - algorithm::LineIntersector::computeIntersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::intersection(const LineSegment& line) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: geos::geom::LineSegment::lineIntersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::lineIntersection(const LineSegment& line) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/geom/LineSegment.cpp:288,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/geom/LineSegment.cpp:294,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - segmentLengthFraction
    - offsetDistance
    - ' ret'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: geos::geom::LineSegment::pointAlongOffset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 1
    functionsReached:
    - geos::util::IllegalStateException
    - Coordinate
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: "void LineSegment::pointAlongOffset(double segmentLengthFraction,\n
      \                             double offsetDistance,\n                              Coordinate&
      ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:316,1
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsetDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: geos::geom::LineSegment::offset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::pointAlongOffset
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment LineSegment::offset(double offsetDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/geom/LineSegment.cpp:326,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:327,1
    - Dst: distancePerpendicular
      Src: /src/geos/src/geom/LineSegment.cpp:328,1
    - Dst: geos::geom::LineSegment::orientationIndex
      Src: /src/geos/src/geom/LineSegment.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: geos::geom::LineSegment::distancePerpendicularOriented
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - distance
    - distancePerpendicular
    - geos::geom::LineSegment::orientationIndex
    - equals2D
    linkageType: ''
    returnType: double
    signature: double LineSegment::distancePerpendicularOriented(const CoordinateXY&
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineSegment.cpp:338,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:340,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:341,1
    - Dst: createLineString
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: geos::geom::LineSegment::toGeometry
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - createLineString
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LineSegment::toGeometry(const GeometryFactory&
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: '&

      LineSegment::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      LineSegment::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/geos/src/geom/LineSegment.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::LineSegment::reverse
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void LineSegment::reverse()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: geos::geom::LineSegment::projectionFactor
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LineSegment::projectionFactor(const CoordinateXY& p) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::LineSegment::segmentFraction
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: double
    signature: double LineSegment::segmentFraction(const CoordinateXY& inputPt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:101,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 4
    functionsReached:
    - Coordinate
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(const Coordinate& p, Coordinate& ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:111,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 4
    functionsReached:
    - CoordinateXY
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY LineSegment::project(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - factor
    - ' ret'
    argTypes:
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 4
    functionsReached:
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(double factor, CoordinateXY& ret) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:132,1
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:133,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:145,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:150,1
    - Dst: setCoordinates
      Src: /src/geos/src/geom/LineSegment.cpp:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ' seg'
    - ' ret'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::LineSegment::project
    - setCoordinates
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::project(const LineSegment& seg, LineSegment& ret)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:163,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:165,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: geos::geom::LineSegment::closestPoint
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 2
    functionsReached:
    - distance
    - geos::geom::LineSegment::project
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::closestPoint(const CoordinateXY& p, CoordinateXY&
      ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::geom::LineSegment::equalsTopo
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::equalsTopo(const LineSegment& other) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:188,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:189,1
    - Dst: std::max
      Src: /src/geos/src/geom/LineSegment.cpp:192,1
    - Dst: std::min
      Src: /src/geos/src/geom/LineSegment.cpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' seg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: geos::geom::LineSegment::orientationIndex
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::index
    - std::max
    - std::min
    linkageType: ''
    returnType: int
    signature: int LineSegment::orientationIndex(const LineSegment& seg) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:206,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/geom/LineSegment.cpp:207,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:220,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:221,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:227,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:228,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:236,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:237,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:245,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 253
    functionName: geos::geom::LineSegment::closestPoints
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::closestPoint
    - Coordinate::distance
    - geos::geom::LineSegment::intersection
    - Coordinate::isNull
    linkageType: ''
    returnType: std::array<Coordinate, 2>
    signature: std::array<Coordinate, 2> LineSegment::closestPoints(const LineSegment&
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:259,1
    - Dst: algorithm::LineIntersector::hasIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:260,1
    - Dst: algorithm::LineIntersector::getIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:261,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/geom/LineSegment.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: geos::geom::LineSegment::intersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 3
    functionsReached:
    - algorithm::LineIntersector::getIntersection
    - Coordinate::setNull
    - algorithm::LineIntersector::hasIntersection
    - algorithm::LineIntersector::computeIntersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::intersection(const LineSegment& line) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: geos::geom::LineSegment::lineIntersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::lineIntersection(const LineSegment& line) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/geom/LineSegment.cpp:288,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/geom/LineSegment.cpp:294,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - segmentLengthFraction
    - offsetDistance
    - ' ret'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: geos::geom::LineSegment::pointAlongOffset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalStateException
    - Coordinate
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: "void LineSegment::pointAlongOffset(double segmentLengthFraction,\n
      \                             double offsetDistance,\n                              Coordinate&
      ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:316,1
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsetDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: geos::geom::LineSegment::offset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::pointAlongOffset
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment LineSegment::offset(double offsetDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/geom/LineSegment.cpp:326,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:327,1
    - Dst: distancePerpendicular
      Src: /src/geos/src/geom/LineSegment.cpp:328,1
    - Dst: geos::geom::LineSegment::orientationIndex
      Src: /src/geos/src/geom/LineSegment.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: geos::geom::LineSegment::distancePerpendicularOriented
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - distance
    - distancePerpendicular
    - geos::geom::LineSegment::orientationIndex
    - equals2D
    linkageType: ''
    returnType: double
    signature: double LineSegment::distancePerpendicularOriented(const CoordinateXY&
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineSegment.cpp:338,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:340,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:341,1
    - Dst: createLineString
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: geos::geom::LineSegment::toGeometry
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - createLineString
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LineSegment::toGeometry(const GeometryFactory&
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: '&

      LineSegment::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      LineSegment::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/geos/src/geom/LineSegment.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::geom::LineSegment::reverse
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void LineSegment::reverse()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: geos::geom::LineSegment::projectionFactor
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LineSegment::projectionFactor(const CoordinateXY& p) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::LineSegment::segmentFraction
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: double
    signature: double LineSegment::segmentFraction(const CoordinateXY& inputPt) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:101,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 6
    functionsReached:
    - Coordinate
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(const Coordinate& p, Coordinate& ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:111,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY LineSegment::project(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/LineSegment.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - factor
    - ' ret'
    argTypes:
    - double
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void LineSegment::project(double factor, CoordinateXY& ret) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:132,1
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:133,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:145,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:150,1
    - Dst: setCoordinates
      Src: /src/geos/src/geom/LineSegment.cpp:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ' seg'
    - ' ret'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: geos::geom::LineSegment::project
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::LineSegment::project
    - setCoordinates
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::project(const LineSegment& seg, LineSegment& ret)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::projectionFactor
      Src: /src/geos/src/geom/LineSegment.cpp:163,1
    - Dst: geos::geom::LineSegment::project
      Src: /src/geos/src/geom/LineSegment.cpp:165,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:168,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' p'
    - ' ret'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: geos::geom::LineSegment::closestPoint
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 3
    functionsReached:
    - distance
    - geos::geom::LineSegment::project
    - geos::geom::LineSegment::projectionFactor
    linkageType: ''
    returnType: void
    signature: void LineSegment::closestPoint(const CoordinateXY& p, CoordinateXY&
      ret) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: geos::geom::LineSegment::equalsTopo
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LineSegment::equalsTopo(const LineSegment& other) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:188,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/LineSegment.cpp:189,1
    - Dst: std::max
      Src: /src/geos/src/geom/LineSegment.cpp:192,1
    - Dst: std::min
      Src: /src/geos/src/geom/LineSegment.cpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' seg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: geos::geom::LineSegment::orientationIndex
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::index
    - std::max
    - std::min
    linkageType: ''
    returnType: int
    signature: int LineSegment::orientationIndex(const LineSegment& seg) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:206,1
    - Dst: Coordinate::isNull
      Src: /src/geos/src/geom/LineSegment.cpp:207,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:220,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:221,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:227,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:228,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:236,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:237,1
    - Dst: geos::geom::LineSegment::closestPoint
      Src: /src/geos/src/geom/LineSegment.cpp:245,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/geom/LineSegment.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 253
    functionName: geos::geom::LineSegment::closestPoints
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::closestPoint
    - Coordinate::distance
    - geos::geom::LineSegment::intersection
    - Coordinate::isNull
    linkageType: ''
    returnType: std::array<Coordinate, 2>
    signature: std::array<Coordinate, 2> LineSegment::closestPoints(const LineSegment&
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::LineIntersector::computeIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:259,1
    - Dst: algorithm::LineIntersector::hasIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:260,1
    - Dst: algorithm::LineIntersector::getIntersection
      Src: /src/geos/src/geom/LineSegment.cpp:261,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/geom/LineSegment.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: geos::geom::LineSegment::intersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 4
    functionsReached:
    - algorithm::LineIntersector::getIntersection
    - Coordinate::setNull
    - algorithm::LineIntersector::hasIntersection
    - algorithm::LineIntersector::computeIntersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::intersection(const LineSegment& line) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    - Dst: geos::algorithm::Intersection::intersection
      Src: /src/geos/src/geom/LineSegment.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: geos::geom::LineSegment::lineIntersection
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - geos::algorithm::Intersection::intersection
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LineSegment::lineIntersection(const LineSegment& line) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/geom/LineSegment.cpp:288,1
    - Dst: geos::util::IllegalStateException
      Src: /src/geos/src/geom/LineSegment.cpp:294,1
    - Dst: Coordinate
      Src: /src/geos/src/geom/LineSegment.cpp:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - segmentLengthFraction
    - offsetDistance
    - ' ret'
    argTypes:
    - double
    - double
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: geos::geom::LineSegment::pointAlongOffset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalStateException
    - Coordinate
    - std::sqrt
    linkageType: ''
    returnType: void
    signature: "void LineSegment::pointAlongOffset(double segmentLengthFraction,\n
      \                             double offsetDistance,\n                              Coordinate&
      ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:316,1
    - Dst: geos::geom::LineSegment::pointAlongOffset
      Src: /src/geos/src/geom/LineSegment.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsetDistance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: geos::geom::LineSegment::offset
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::LineSegment::pointAlongOffset
    linkageType: ''
    returnType: LineSegment
    signature: LineSegment LineSegment::offset(double offsetDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/geom/LineSegment.cpp:326,1
    - Dst: distance
      Src: /src/geos/src/geom/LineSegment.cpp:327,1
    - Dst: distancePerpendicular
      Src: /src/geos/src/geom/LineSegment.cpp:328,1
    - Dst: geos::geom::LineSegment::orientationIndex
      Src: /src/geos/src/geom/LineSegment.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: geos::geom::LineSegment::distancePerpendicularOriented
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - distance
    - distancePerpendicular
    - geos::geom::LineSegment::orientationIndex
    - equals2D
    linkageType: ''
    returnType: double
    signature: double LineSegment::distancePerpendicularOriented(const CoordinateXY&
      p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/LineSegment.cpp:338,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:340,1
    - Dst: auto::setAt
      Src: /src/geos/src/geom/LineSegment.cpp:341,1
    - Dst: createLineString
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    - Dst: std::move
      Src: /src/geos/src/geom/LineSegment.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' gf'
    argTypes:
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: geos::geom::LineSegment::toGeometry
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - createLineString
    - detail::make_unique<CoordinateSequence>
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> LineSegment::toGeometry(const GeometryFactory&
      gf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: '&

      LineSegment::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/geom/LineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      LineSegment::operator<< (std::ostream& os)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - position
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: geos::geom::Position::opposite
    functionSourceFile: /src/geos/src/geom/Position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Position::opposite(int position)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - position
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: geos::geom::Position::opposite
    functionSourceFile: /src/geos/src/geom/Position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Position::opposite(int position)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - position
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: geos::geom::Position::opposite
    functionSourceFile: /src/geos/src/geom/Position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Position::opposite(int position)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - position
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: geos::geom::Position::opposite
    functionSourceFile: /src/geos/src/geom/Position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Position::opposite(int position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:31,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:32,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::geom::Triangle::isIsoceles
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isIsoceles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:44,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:45,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Triangle::inCentre(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::inCentre
      Src: /src/geos/src/geom/Triangle.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - Triangle::inCentre
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY Triangle::inCentre(const CoordinateXY& p0,\n        const
      CoordinateXY& p1,\n        const CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:77,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:78,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:79,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY
    - geos::geom::Triangle::det
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentre(CoordinateXY& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:94,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:96,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:97,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/Triangle.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: geos::geom::Triangle::circumradius
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - geos::geom::Triangle::area
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: double
    signature: "double Triangle::circumradius(\n    const CoordinateXY& a,\n    const
      CoordinateXY& b,\n    const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/src/geom/Triangle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Triangle::circumcentreDD
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::circumcentreDD
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentreDD(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::circumcentre
      Src: /src/geos/src/geom/Triangle.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - Triangle::circumcentre
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY Triangle::circumcentre(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m00
    - m01
    - m10
    - m11
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::geom::Triangle::det
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Triangle::det(double m00, double m01, double m10, double m11)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:133,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:135,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: geos::geom::Triangle::isAcute
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::isAcute
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isAcute(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::geom::Triangle::isCCW
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isCCW(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/geom/Triangle.cpp:155,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:157,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:159,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::geom::Triangle::intersects
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::Triangle::isCCW
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::intersects(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c, const CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 8
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::length(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/geom/Triangle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Triangle::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/geom/Triangle.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 13
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: double
    signature: double Triangle::area(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 14
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Triangle::area() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:199,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:200,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: geos::geom::Triangle::longestSideLength
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 8
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::longestSideLength(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:31,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:32,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::geom::Triangle::isIsoceles
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isIsoceles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:44,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:45,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Triangle::inCentre(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::inCentre
      Src: /src/geos/src/geom/Triangle.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - Triangle::inCentre
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY Triangle::inCentre(const CoordinateXY& p0,\n        const
      CoordinateXY& p1,\n        const CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:77,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:78,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:79,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY
    - geos::geom::Triangle::det
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentre(CoordinateXY& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:94,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:96,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:97,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/Triangle.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: geos::geom::Triangle::circumradius
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - geos::geom::Triangle::area
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: double
    signature: "double Triangle::circumradius(\n    const CoordinateXY& a,\n    const
      CoordinateXY& b,\n    const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/src/geom/Triangle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Triangle::circumcentreDD
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::circumcentreDD
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentreDD(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::circumcentre
      Src: /src/geos/src/geom/Triangle.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - Triangle::circumcentre
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY Triangle::circumcentre(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m00
    - m01
    - m10
    - m11
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::geom::Triangle::det
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Triangle::det(double m00, double m01, double m10, double m11)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:133,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:135,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: geos::geom::Triangle::isAcute
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::isAcute
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isAcute(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::geom::Triangle::isCCW
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 9
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isCCW(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/geom/Triangle.cpp:155,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:157,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:159,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::geom::Triangle::intersects
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::Triangle::isCCW
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::intersects(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c, const CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 9
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::length(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/geom/Triangle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Triangle::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/geom/Triangle.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 15
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: double
    signature: double Triangle::area(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 16
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Triangle::area() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:199,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:200,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: geos::geom::Triangle::longestSideLength
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 8
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::longestSideLength(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:31,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:32,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::geom::Triangle::isIsoceles
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isIsoceles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:44,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:45,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Triangle::inCentre(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::inCentre
      Src: /src/geos/src/geom/Triangle.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - Triangle::inCentre
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY Triangle::inCentre(const CoordinateXY& p0,\n        const
      CoordinateXY& p1,\n        const CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:77,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:78,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:79,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY
    - geos::geom::Triangle::det
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentre(CoordinateXY& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:94,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:96,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:97,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/Triangle.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: geos::geom::Triangle::circumradius
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - geos::geom::Triangle::area
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: double
    signature: "double Triangle::circumradius(\n    const CoordinateXY& a,\n    const
      CoordinateXY& b,\n    const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/src/geom/Triangle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Triangle::circumcentreDD
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::circumcentreDD
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentreDD(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::circumcentre
      Src: /src/geos/src/geom/Triangle.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - Triangle::circumcentre
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY Triangle::circumcentre(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m00
    - m01
    - m10
    - m11
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::geom::Triangle::det
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Triangle::det(double m00, double m01, double m10, double m11)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:133,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:135,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: geos::geom::Triangle::isAcute
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::isAcute
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isAcute(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::geom::Triangle::isCCW
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isCCW(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/geom/Triangle.cpp:155,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:157,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:159,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::geom::Triangle::intersects
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::Triangle::isCCW
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::intersects(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c, const CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::length(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/geom/Triangle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Triangle::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/geom/Triangle.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 17
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: double
    signature: double Triangle::area(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 18
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Triangle::area() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:199,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:200,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: geos::geom::Triangle::longestSideLength
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 8
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::longestSideLength(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:31,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:32,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: geos::geom::Triangle::isIsoceles
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isIsoceles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:44,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:45,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:46,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - CoordinateXY
    linkageType: ''
    returnType: void
    signature: void Triangle::inCentre(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::inCentre
      Src: /src/geos/src/geom/Triangle.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geom::Triangle::inCentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - Triangle::inCentre
    linkageType: ''
    returnType: CoordinateXY
    signature: "CoordinateXY Triangle::inCentre(const CoordinateXY& p0,\n        const
      CoordinateXY& p1,\n        const CoordinateXY& p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:77,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:78,1
    - Dst: geos::geom::Triangle::det
      Src: /src/geos/src/geom/Triangle.cpp:79,1
    - Dst: CoordinateXY
      Src: /src/geos/src/geom/Triangle.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - CoordinateXY
    - geos::geom::Triangle::det
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentre(CoordinateXY& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:94,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:95,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:96,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:97,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/geos/src/geom/Triangle.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: geos::geom::Triangle::circumradius
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 10
    functionsReached:
    - distance
    - geos::geom::Triangle::area
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: double
    signature: "double Triangle::circumradius(\n    const CoordinateXY& a,\n    const
      CoordinateXY& b,\n    const CoordinateXY& c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::CGAlgorithmsDD::circumcentreDD
      Src: /src/geos/src/geom/Triangle.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::Triangle::circumcentreDD
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::circumcentreDD
    linkageType: ''
    returnType: void
    signature: void Triangle::circumcentreDD(CoordinateXY& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Triangle::circumcentre
      Src: /src/geos/src/geom/Triangle.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: geos::geom::Triangle::circumcentre
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 6
    functionsReached:
    - Triangle::circumcentre
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY Triangle::circumcentre(const CoordinateXY& p0, const CoordinateXY&
      p1, const CoordinateXY& p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m00
    - m01
    - m10
    - m11
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: geos::geom::Triangle::det
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Triangle::det(double m00, double m01, double m10, double m11)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:133,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:135,1
    - Dst: geos::algorithm::Angle::isAcute
      Src: /src/geos/src/geom/Triangle.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: geos::geom::Triangle::isAcute
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Angle::isAcute
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isAcute(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::geom::Triangle::isCCW
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 11
    functionsReached:
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::isCCW(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::isCCW
      Src: /src/geos/src/geom/Triangle.cpp:155,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:157,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:159,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geom/Triangle.cpp:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' c'
    - ' p'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::geom::Triangle::intersects
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::Triangle::isCCW
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: bool Triangle::intersects(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c, const CoordinateXY& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 11
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::length(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::length
      Src: /src/geos/src/geom/Triangle.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: geos::geom::Triangle::length
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::Triangle::length
    linkageType: ''
    returnType: double
    signature: double Triangle::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/geos/src/geom/Triangle.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 19
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: double
    signature: double Triangle::area(const CoordinateXY& a, const CoordinateXY& b,
      const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/geom/Triangle.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: geos::geom::Triangle::area
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 20
    functionsReached:
    - geos::geom::Triangle::area
    linkageType: ''
    returnType: double
    signature: double Triangle::area() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:199,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:200,1
    - Dst: distance
      Src: /src/geos/src/geom/Triangle.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' a'
    - ' b'
    - ' c'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: geos::geom::Triangle::longestSideLength
    functionSourceFile: /src/geos/src/geom/Triangle.cpp
    functionUses: 8
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double Triangle::longestSideLength(const CoordinateXY& a, const CoordinateXY&
      b, const CoordinateXY& c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<LineString>>
      && newLines,\n        const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<Geometry>>
      && newLines,\n                                 const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiLineString::getDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiLineString::getDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiLineString::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiLineString::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiLineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiLineString::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:72,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::geom::MultiLineString::isClosed
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 9
    functionsReached:
    - LineString*::isClosed
    - get
    - detail::down_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiLineString::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiLineString.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::geom::MultiLineString::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiLineString::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::MultiLineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiLineString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:100,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiLineString.cpp:101,1
    - Dst: size
      Src: /src/geos/src/geom/MultiLineString.cpp:104,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: end
      Src: /src/geos/src/geom/MultiLineString.cpp:107,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiLineString.cpp:108,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiLineString.cpp:110,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: geos::geom::MultiLineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiLineString
    signature: 'MultiLineString *

      MultiLineString::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geom::MultiLineString::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - get
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      MultiLineString::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<LineString>>
      && newLines,\n        const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<Geometry>>
      && newLines,\n                                 const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiLineString::getDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiLineString::getDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiLineString::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiLineString::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiLineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiLineString::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:72,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::geom::MultiLineString::isClosed
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 10
    functionsReached:
    - LineString*::isClosed
    - get
    - detail::down_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiLineString::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiLineString.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::geom::MultiLineString::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiLineString::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::MultiLineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiLineString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:100,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiLineString.cpp:101,1
    - Dst: size
      Src: /src/geos/src/geom/MultiLineString.cpp:104,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: end
      Src: /src/geos/src/geom/MultiLineString.cpp:107,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiLineString.cpp:108,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiLineString.cpp:110,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: geos::geom::MultiLineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiLineString
    signature: 'MultiLineString *

      MultiLineString::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geom::MultiLineString::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - get
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      MultiLineString::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<LineString>>
      && newLines,\n        const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<Geometry>>
      && newLines,\n                                 const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiLineString::getDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiLineString::getDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiLineString::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiLineString::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiLineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiLineString::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:72,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::geom::MultiLineString::isClosed
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 11
    functionsReached:
    - LineString*::isClosed
    - get
    - detail::down_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiLineString::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiLineString.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::geom::MultiLineString::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiLineString::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::MultiLineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiLineString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:100,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiLineString.cpp:101,1
    - Dst: size
      Src: /src/geos/src/geom/MultiLineString.cpp:104,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: end
      Src: /src/geos/src/geom/MultiLineString.cpp:107,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiLineString.cpp:108,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiLineString.cpp:110,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: geos::geom::MultiLineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiLineString
    signature: 'MultiLineString *

      MultiLineString::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geom::MultiLineString::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - get
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      MultiLineString::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<LineString>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<LineString>>
      && newLines,\n        const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiLineString::MultiLineString
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiLineString::MultiLineString(std::vector<std::unique_ptr<Geometry>>
      && newLines,\n                                 const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geom::MultiLineString::getDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiLineString::getDimension() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiLineString::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiLineString::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiLineString::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiLineString::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiLineString::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiLineString::getGeometryType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:72,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:76,1
    - Dst: LineString*::isClosed
      Src: /src/geos/src/geom/MultiLineString.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: geos::geom::MultiLineString::isClosed
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 12
    functionsReached:
    - LineString*::isClosed
    - get
    - detail::down_cast<const LineString*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiLineString::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiLineString.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: geos::geom::MultiLineString::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiLineString::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: geos::geom::MultiLineString::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiLineString::getGeometryTypeId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiLineString.cpp:100,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiLineString.cpp:101,1
    - Dst: size
      Src: /src/geos/src/geom/MultiLineString.cpp:104,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiLineString.cpp:106,1
    - Dst: end
      Src: /src/geos/src/geom/MultiLineString.cpp:107,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiLineString.cpp:108,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiLineString.cpp:110,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiLineString.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: geos::geom::MultiLineString::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiLineString
    signature: 'MultiLineString *

      MultiLineString::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geom/MultiLineString.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geom::MultiLineString::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiLineString.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineString*>
    - get
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      MultiLineString::getGeometryN(std::size_t i) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:27,1
    - Dst: dynamic_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiCurve.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get
    - dynamic_cast<const Curve*>
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Geometry>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Curve>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiCurve.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiCurve::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::geom::MultiCurve::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiCurve::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiCurve::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiCurve::getDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiCurve::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiCurve::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Curve*>
    - get
    linkageType: ''
    returnType: Curve
    signature: 'Curve *

      MultiCurve::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::MultiCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiCurve::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:84,1
    - Dst: detail::down_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: Curve*::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiCurve::isClosed
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 1
    functionsReached:
    - get
    - Curve*::isClosed
    - detail::down_cast<const Curve*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiCurve.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiCurve.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiCurve.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiCurve.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiCurve.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiCurve
    signature: 'MultiCurve *

      MultiCurve::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:27,1
    - Dst: dynamic_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiCurve.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get
    - dynamic_cast<const Curve*>
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Geometry>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Curve>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiCurve.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiCurve::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::geom::MultiCurve::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiCurve::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiCurve::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiCurve::getDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiCurve::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiCurve::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Curve*>
    - get
    linkageType: ''
    returnType: Curve
    signature: 'Curve *

      MultiCurve::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::MultiCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiCurve::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:84,1
    - Dst: detail::down_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: Curve*::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiCurve::isClosed
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 2
    functionsReached:
    - get
    - Curve*::isClosed
    - detail::down_cast<const Curve*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiCurve.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiCurve.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiCurve.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiCurve.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiCurve.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiCurve
    signature: 'MultiCurve *

      MultiCurve::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:27,1
    - Dst: dynamic_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiCurve.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get
    - dynamic_cast<const Curve*>
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Geometry>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Curve>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiCurve.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiCurve::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::geom::MultiCurve::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiCurve::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiCurve::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiCurve::getDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiCurve::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiCurve::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Curve*>
    - get
    linkageType: ''
    returnType: Curve
    signature: 'Curve *

      MultiCurve::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::MultiCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiCurve::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:84,1
    - Dst: detail::down_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: Curve*::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiCurve::isClosed
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 3
    functionsReached:
    - get
    - Curve*::isClosed
    - detail::down_cast<const Curve*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiCurve.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiCurve.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiCurve.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiCurve.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiCurve.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiCurve
    signature: 'MultiCurve *

      MultiCurve::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:27,1
    - Dst: dynamic_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:30,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/MultiCurve.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - get
    - dynamic_cast<const Curve*>
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Geometry>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - ' newLines'
    - ' factory'
    argTypes:
    - std::vector<std::unique_ptr<Curve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::geom::MultiCurve::MultiCurve
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MultiCurve::MultiCurve(std::vector<std::unique_ptr<Curve>>&&
      newLines,\n                       const GeometryFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/MultiCurve.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::geom::MultiCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> MultiCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::MultiCurve::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::geom::MultiCurve::getBoundaryDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::MultiCurve::isClosed
    linkageType: ''
    returnType: int
    signature: int MultiCurve::getBoundaryDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: geos::geom::MultiCurve::getDimension
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Dimension::DimensionType
    signature: Dimension::DimensionType MultiCurve::getDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::MultiCurve::getGeometryN
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Curve*>
    - get
    linkageType: ''
    returnType: Curve
    signature: 'Curve *

      MultiCurve::getGeometryN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::geom::MultiCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MultiCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geom::MultiCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId MultiCurve::getGeometryTypeId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:84,1
    - Dst: detail::down_cast<const Curve*>
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: get
      Src: /src/geos/src/geom/MultiCurve.cpp:88,1
    - Dst: Curve*::isClosed
      Src: /src/geos/src/geom/MultiCurve.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: geos::geom::MultiCurve::isClosed
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 4
    functionsReached:
    - get
    - Curve*::isClosed
    - detail::down_cast<const Curve*>
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool MultiCurve::isClosed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/MultiCurve.cpp:99,1
    - Dst: clone
      Src: /src/geos/src/geom/MultiCurve.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geom/MultiCurve.cpp:103,1
    - Dst: std::transform
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geom/MultiCurve.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geom/MultiCurve.cpp:106,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/MultiCurve.cpp:107,1
    - Dst: reverse
      Src: /src/geos/src/geom/MultiCurve.cpp:109,1
    - Dst: getFactory
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    - Dst: std::move
      Src: /src/geos/src/geom/MultiCurve.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geom::MultiCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/MultiCurve.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - size
    - std::vector::begin
    - std::transform
    - reverse
    - isEmpty
    - std::move
    - end
    - begin
    - clone
    linkageType: ''
    returnType: MultiCurve
    signature: 'MultiCurve *

      MultiCurve::reverseImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:29,1
    - Dst: geos::geom::CompoundCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:30,1
    - Dst: geos::geom::CompoundCurve::validateConstruction
      Src: /src/geos/src/geom/CompoundCurve.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p_curves'
    - ' gf'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::CompoundCurve::validateConstruction
    - geos::geom::CompoundCurve::computeEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: "void CompoundCurve::CompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      p_curves,\n                             const GeometryFactory& gf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:36,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:39,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: geos::geom::CompoundCurve::clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::clone
    - size
    - static_cast<SimpleCurve*>
    - reset
    - curves::size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::CompoundCurve(const CompoundCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: '&

      CompoundCurve::operator=(const CompoundCurve& other)'
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<SimpleCurve*>
    - resize
    - reset
    - curves::size
    - clone
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve &

      CompoundCurve::operator=(const CompoundCurve& other)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateFilter* cf) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:69,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/geom/CompoundCurve.cpp:71,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' csf'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - isDone
    - filter_ro
    - getCoordinatesRO
    - size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateSequenceFilter& csf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_rw
      Src: /src/geos/src/geom/CompoundCurve.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(const CoordinateFilter* cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(CoordinateSequenceFilter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    - Dst: geos::geom::CompoundCurve::cloneImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::CompoundCurve::clone
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::cloneImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/CompoundCurve.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::CompoundCurve::cloneImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - CompoundCurve::CompoundCurve
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::cloneImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:108,1
    - Dst: compare
      Src: /src/geos/src/geom/CompoundCurve.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::geom::CompoundCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const CompoundCurve*>
    - compare
    linkageType: ''
    returnType: int
    signature: int CompoundCurve::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geom::CompoundCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CompoundCurve::computeEnvelopeInternal() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:125,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:129,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:134,1
    - Dst: geos::geom::CompoundCurve::equalsExact
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: geos::geom::CompoundCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - size
    - geos::geom::CompoundCurve::equalsExact
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:146,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:150,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:155,1
    - Dst: geos::geom::CompoundCurve::equalsIdentical
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: geos::geom::CompoundCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - size
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    - geos::geom::CompoundCurve::equalsIdentical
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/CompoundCurve.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: geos::geom::CompoundCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CompoundCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:175,1
    - Dst: geos::geom::CompoundCurve::getCoordinate
      Src: /src/geos/src/geom/CompoundCurve.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: geos::geom::CompoundCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      CompoundCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint8_t>
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::CompoundCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint8_t>
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CompoundCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: geos::geom::CompoundCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    - std::make_unique<CoordinateSequence>
    - getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CompoundCurve::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::geom::CompoundCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      CompoundCurve::getCurveN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::CompoundCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CompoundCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::CompoundCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CompoundCurve::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getLength
      Src: /src/geos/src/geom/CompoundCurve.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: geos::geom::CompoundCurve::getLength
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::getLength
    linkageType: ''
    returnType: double
    signature: double CompoundCurve::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::CompoundCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::geom::CompoundCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: geos::geom::CompoundCurve::hasZ
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::hasZ
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: geos::geom::CompoundCurve::hasM
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::hasM
    - std::any_of
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasM() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::hasCurvedComponents
      Src: /src/geos/src/geom/CompoundCurve.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: geos::geom::CompoundCurve::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:273,1
    - Dst: front
      Src: /src/geos/src/geom/CompoundCurve.cpp:277,1
    - Dst: back
      Src: /src/geos/src/geom/CompoundCurve.cpp:278,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: geos::geom::CompoundCurve::isClosed
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getNumPoints
    - getCoordinateN
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::geom::CompoundCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::isEmpty
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: geos::geom::CompoundCurve::normalize
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    - Dst: geos::geom::CompoundCurve::reverseImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geom::CompoundCurve::reverse
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::reverseImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::reverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:306,1
    - Dst: std::transform
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rbegin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rend
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::unique_ptr<SimpleCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: geos::geom::CompoundCurve::reverse
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: geos::geom::CompoundCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<SimpleCurve>
    - std::vector::begin
    - static_cast<SimpleCurve*>
    - rend
    - geos::geom::CompoundCurve::reverse
    - std::transform
    - std::move
    - rbegin
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:317,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:318,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:319,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: geos::geom::CompoundCurve::validateConstruction
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::util::IllegalArgumentException
    - getCoordinatesRO
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::validateConstruction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:29,1
    - Dst: geos::geom::CompoundCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:30,1
    - Dst: geos::geom::CompoundCurve::validateConstruction
      Src: /src/geos/src/geom/CompoundCurve.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p_curves'
    - ' gf'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::CompoundCurve::validateConstruction
    - geos::geom::CompoundCurve::computeEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: "void CompoundCurve::CompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      p_curves,\n                             const GeometryFactory& gf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:36,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:39,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: geos::geom::CompoundCurve::clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::clone
    - size
    - static_cast<SimpleCurve*>
    - reset
    - curves::size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::CompoundCurve(const CompoundCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: '&

      CompoundCurve::operator=(const CompoundCurve& other)'
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<SimpleCurve*>
    - resize
    - reset
    - curves::size
    - clone
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve &

      CompoundCurve::operator=(const CompoundCurve& other)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CompoundCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateFilter* cf) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:69,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/geom/CompoundCurve.cpp:71,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' csf'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - isDone
    - filter_ro
    - getCoordinatesRO
    - size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateSequenceFilter& csf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_rw
      Src: /src/geos/src/geom/CompoundCurve.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CompoundCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(const CoordinateFilter* cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(CoordinateSequenceFilter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    - Dst: geos::geom::CompoundCurve::cloneImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::CompoundCurve::clone
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CompoundCurve::cloneImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/CompoundCurve.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::CompoundCurve::cloneImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - CompoundCurve::CompoundCurve
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::cloneImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:108,1
    - Dst: compare
      Src: /src/geos/src/geom/CompoundCurve.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::geom::CompoundCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const CompoundCurve*>
    - compare
    linkageType: ''
    returnType: int
    signature: int CompoundCurve::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geom::CompoundCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CompoundCurve::computeEnvelopeInternal() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:125,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:129,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:134,1
    - Dst: geos::geom::CompoundCurve::equalsExact
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: geos::geom::CompoundCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::geom::CompoundCurve::equalsExact
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:146,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:150,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:155,1
    - Dst: geos::geom::CompoundCurve::equalsIdentical
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: geos::geom::CompoundCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - size
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    - geos::geom::CompoundCurve::equalsIdentical
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/CompoundCurve.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: geos::geom::CompoundCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CompoundCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:175,1
    - Dst: geos::geom::CompoundCurve::getCoordinate
      Src: /src/geos/src/geom/CompoundCurve.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: geos::geom::CompoundCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      CompoundCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint8_t>
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::CompoundCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint8_t>
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CompoundCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: geos::geom::CompoundCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    - std::make_unique<CoordinateSequence>
    - getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CompoundCurve::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::geom::CompoundCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      CompoundCurve::getCurveN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::CompoundCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CompoundCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::CompoundCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CompoundCurve::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getLength
      Src: /src/geos/src/geom/CompoundCurve.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: geos::geom::CompoundCurve::getLength
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CompoundCurve::getLength
    linkageType: ''
    returnType: double
    signature: double CompoundCurve::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::CompoundCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::geom::CompoundCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: geos::geom::CompoundCurve::hasZ
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 6
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::hasZ
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: geos::geom::CompoundCurve::hasM
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::CompoundCurve::hasM
    - std::any_of
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasM() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::hasCurvedComponents
      Src: /src/geos/src/geom/CompoundCurve.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: geos::geom::CompoundCurve::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CompoundCurve::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:273,1
    - Dst: front
      Src: /src/geos/src/geom/CompoundCurve.cpp:277,1
    - Dst: back
      Src: /src/geos/src/geom/CompoundCurve.cpp:278,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: geos::geom::CompoundCurve::isClosed
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getNumPoints
    - getCoordinateN
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::geom::CompoundCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 6
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::isEmpty
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: geos::geom::CompoundCurve::normalize
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    - Dst: geos::geom::CompoundCurve::reverseImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geom::CompoundCurve::reverse
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CompoundCurve::reverseImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::reverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:306,1
    - Dst: std::transform
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rbegin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rend
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::unique_ptr<SimpleCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: geos::geom::CompoundCurve::reverse
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: geos::geom::CompoundCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<SimpleCurve>
    - std::vector::begin
    - static_cast<SimpleCurve*>
    - rend
    - geos::geom::CompoundCurve::reverse
    - std::transform
    - std::move
    - rbegin
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:317,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:318,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:319,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: geos::geom::CompoundCurve::validateConstruction
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::util::IllegalArgumentException
    - getCoordinatesRO
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::validateConstruction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:29,1
    - Dst: geos::geom::CompoundCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:30,1
    - Dst: geos::geom::CompoundCurve::validateConstruction
      Src: /src/geos/src/geom/CompoundCurve.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p_curves'
    - ' gf'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::CompoundCurve::validateConstruction
    - geos::geom::CompoundCurve::computeEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: "void CompoundCurve::CompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      p_curves,\n                             const GeometryFactory& gf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:36,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:39,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: geos::geom::CompoundCurve::clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::clone
    - size
    - static_cast<SimpleCurve*>
    - reset
    - curves::size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::CompoundCurve(const CompoundCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: '&

      CompoundCurve::operator=(const CompoundCurve& other)'
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<SimpleCurve*>
    - resize
    - reset
    - curves::size
    - clone
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve &

      CompoundCurve::operator=(const CompoundCurve& other)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateFilter* cf) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:69,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/geom/CompoundCurve.cpp:71,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' csf'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - isDone
    - filter_ro
    - getCoordinatesRO
    - size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateSequenceFilter& csf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_rw
      Src: /src/geos/src/geom/CompoundCurve.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(const CoordinateFilter* cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(CoordinateSequenceFilter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    - Dst: geos::geom::CompoundCurve::cloneImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::CompoundCurve::clone
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::cloneImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/CompoundCurve.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::CompoundCurve::cloneImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - CompoundCurve::CompoundCurve
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::cloneImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:108,1
    - Dst: compare
      Src: /src/geos/src/geom/CompoundCurve.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::geom::CompoundCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const CompoundCurve*>
    - compare
    linkageType: ''
    returnType: int
    signature: int CompoundCurve::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geom::CompoundCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CompoundCurve::computeEnvelopeInternal() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:125,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:129,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:134,1
    - Dst: geos::geom::CompoundCurve::equalsExact
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: geos::geom::CompoundCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - size
    - geos::geom::CompoundCurve::equalsExact
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:146,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:150,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:155,1
    - Dst: geos::geom::CompoundCurve::equalsIdentical
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: geos::geom::CompoundCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - size
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    - geos::geom::CompoundCurve::equalsIdentical
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/CompoundCurve.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: geos::geom::CompoundCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CompoundCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:175,1
    - Dst: geos::geom::CompoundCurve::getCoordinate
      Src: /src/geos/src/geom/CompoundCurve.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: geos::geom::CompoundCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      CompoundCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint8_t>
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::CompoundCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint8_t>
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CompoundCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: geos::geom::CompoundCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    - std::make_unique<CoordinateSequence>
    - getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CompoundCurve::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::geom::CompoundCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      CompoundCurve::getCurveN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::CompoundCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CompoundCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::CompoundCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CompoundCurve::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getLength
      Src: /src/geos/src/geom/CompoundCurve.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: geos::geom::CompoundCurve::getLength
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::getLength
    linkageType: ''
    returnType: double
    signature: double CompoundCurve::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::CompoundCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::geom::CompoundCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::CompoundCurve::getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: geos::geom::CompoundCurve::hasZ
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 9
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::hasZ
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: geos::geom::CompoundCurve::hasM
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::CompoundCurve::hasM
    - std::any_of
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasM() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::hasCurvedComponents
      Src: /src/geos/src/geom/CompoundCurve.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: geos::geom::CompoundCurve::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:273,1
    - Dst: front
      Src: /src/geos/src/geom/CompoundCurve.cpp:277,1
    - Dst: back
      Src: /src/geos/src/geom/CompoundCurve.cpp:278,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: geos::geom::CompoundCurve::isClosed
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getNumPoints
    - getCoordinateN
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::geom::CompoundCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 9
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::isEmpty
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: geos::geom::CompoundCurve::normalize
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    - Dst: geos::geom::CompoundCurve::reverseImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geom::CompoundCurve::reverse
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CompoundCurve::reverseImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::reverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:306,1
    - Dst: std::transform
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rbegin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rend
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::unique_ptr<SimpleCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: geos::geom::CompoundCurve::reverse
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: geos::geom::CompoundCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<SimpleCurve>
    - std::vector::begin
    - static_cast<SimpleCurve*>
    - rend
    - geos::geom::CompoundCurve::reverse
    - std::transform
    - std::move
    - rbegin
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:317,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:318,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:319,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: geos::geom::CompoundCurve::validateConstruction
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::util::IllegalArgumentException
    - getCoordinatesRO
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::validateConstruction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:29,1
    - Dst: geos::geom::CompoundCurve::computeEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:30,1
    - Dst: geos::geom::CompoundCurve::validateConstruction
      Src: /src/geos/src/geom/CompoundCurve.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' p_curves'
    - ' gf'
    argTypes:
    - std::vector<std::unique_ptr<SimpleCurve>>
    - GeometryFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::CompoundCurve::validateConstruction
    - geos::geom::CompoundCurve::computeEnvelopeInternal
    linkageType: ''
    returnType: void
    signature: "void CompoundCurve::CompoundCurve(std::vector<std::unique_ptr<SimpleCurve>>&&
      p_curves,\n                             const GeometryFactory& gf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:36,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:39,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    - Dst: geos::geom::CompoundCurve::clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: geos::geom::CompoundCurve::CompoundCurve
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::clone
    - size
    - static_cast<SimpleCurve*>
    - reset
    - curves::size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::CompoundCurve(const CompoundCurve& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:47,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    - Dst: clone
      Src: /src/geos/src/geom/CompoundCurve.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - CompoundCurve
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: '&

      CompoundCurve::operator=(const CompoundCurve& other)'
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<SimpleCurve*>
    - resize
    - reset
    - curves::size
    - clone
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve &

      CompoundCurve::operator=(const CompoundCurve& other)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CompoundCurve::apply_ro
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateFilter* cf) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:69,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/geom/CompoundCurve.cpp:71,1
    - Dst: filter_ro
      Src: /src/geos/src/geom/CompoundCurve.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' csf'
    argTypes:
    - CoordinateSequenceFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: geos::geom::CompoundCurve::apply_ro
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - isDone
    - filter_ro
    - getCoordinatesRO
    - size
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_ro(CoordinateSequenceFilter& csf) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::apply_rw
      Src: /src/geos/src/geom/CompoundCurve.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cf
    argTypes:
    - CoordinateFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CompoundCurve::apply_rw
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(const CoordinateFilter* cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: geos::geom::CompoundCurve::apply_rw
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::apply_rw(CoordinateSequenceFilter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    - Dst: geos::geom::CompoundCurve::cloneImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::CompoundCurve::clone
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CompoundCurve::cloneImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompoundCurve::CompoundCurve
      Src: /src/geos/src/geom/CompoundCurve.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::CompoundCurve::cloneImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - CompoundCurve::CompoundCurve
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::cloneImpl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:108,1
    - Dst: compare
      Src: /src/geos/src/geom/CompoundCurve.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: geos::geom::CompoundCurve::compareToSameClass
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - detail::down_cast<const CompoundCurve*>
    - compare
    linkageType: ''
    returnType: int
    signature: int CompoundCurve::compareToSameClass(const Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/CompoundCurve.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geom::CompoundCurve::computeEnvelopeInternal
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: Envelope CompoundCurve::computeEnvelopeInternal() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:125,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:129,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:130,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:134,1
    - Dst: geos::geom::CompoundCurve::equalsExact
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - other
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: geos::geom::CompoundCurve::equalsExact
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::geom::CompoundCurve::equalsExact
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsExact(const Geometry* other, double tolerance)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEquivalentClass
      Src: /src/geos/src/geom/CompoundCurve.cpp:146,1
    - Dst: static_cast<const CompoundCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:150,1
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:151,1
    - Dst: CompoundCurve*::curves::size
      Src: /src/geos/src/geom/CompoundCurve.cpp:155,1
    - Dst: geos::geom::CompoundCurve::equalsIdentical
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - other
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: geos::geom::CompoundCurve::equalsIdentical
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - size
    - isEquivalentClass
    - get
    - static_cast<const CompoundCurve*>
    - CompoundCurve*::curves::size
    - geos::geom::CompoundCurve::equalsIdentical
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::equalsIdentical(const Geometry* other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::BoundaryOp::getBoundary
      Src: /src/geos/src/geom/CompoundCurve.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: geos::geom::CompoundCurve::getBoundary
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - operation::BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CompoundCurve::getBoundary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:175,1
    - Dst: geos::geom::CompoundCurve::getCoordinate
      Src: /src/geos/src/geom/CompoundCurve.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: geos::geom::CompoundCurve::getCoordinate
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getCoordinate
    linkageType: ''
    returnType: CoordinateXY
    signature: 'CoordinateXY *

      CompoundCurve::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint8_t>
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geom::CompoundCurve::getCoordinateDimension
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint8_t>
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CompoundCurve::getCoordinateDimension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:192,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: geos::geom::CompoundCurve::getCoordinates
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - geos::geom::CompoundCurve::hasZ
    - geos::geom::CompoundCurve::hasM
    - std::make_unique<CoordinateSequence>
    - getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CompoundCurve::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geom/CompoundCurve.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::geom::CompoundCurve::getCurveN
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: SimpleCurve
    signature: 'SimpleCurve *

      CompoundCurve::getCurveN(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: geos::geom::CompoundCurve::getGeometryType
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CompoundCurve::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::geom::CompoundCurve::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CompoundCurve::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getLength
      Src: /src/geos/src/geom/CompoundCurve.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: geos::geom::CompoundCurve::getLength
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CompoundCurve::getLength
    linkageType: ''
    returnType: double
    signature: double CompoundCurve::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::geom::CompoundCurve::getNumCurves
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumCurves() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: geos::geom::CompoundCurve::getNumPoints
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::CompoundCurve::getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t CompoundCurve::getNumPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:246,1
    - Dst: geos::geom::CompoundCurve::hasZ
      Src: /src/geos/src/geom/CompoundCurve.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: geos::geom::CompoundCurve::hasZ
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 12
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::hasZ
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasZ() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:254,1
    - Dst: geos::geom::CompoundCurve::hasM
      Src: /src/geos/src/geom/CompoundCurve.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: geos::geom::CompoundCurve::hasM
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::CompoundCurve::hasM
    - std::any_of
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasM() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::hasCurvedComponents
      Src: /src/geos/src/geom/CompoundCurve.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: geos::geom::CompoundCurve::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CompoundCurve::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::hasCurvedComponents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:273,1
    - Dst: front
      Src: /src/geos/src/geom/CompoundCurve.cpp:277,1
    - Dst: back
      Src: /src/geos/src/geom/CompoundCurve.cpp:278,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: getCoordinateN
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    - Dst: geos::geom::CompoundCurve::getNumPoints
      Src: /src/geos/src/geom/CompoundCurve.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: geos::geom::CompoundCurve::isClosed
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::CompoundCurve::isEmpty
    - geos::geom::CompoundCurve::getNumPoints
    - getCoordinateN
    - back
    - front
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isClosed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::any_of
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: end
      Src: /src/geos/src/geom/CompoundCurve.cpp:286,1
    - Dst: geos::geom::CompoundCurve::isEmpty
      Src: /src/geos/src/geom/CompoundCurve.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: geos::geom::CompoundCurve::isEmpty
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 12
    functionsReached:
    - std::any_of
    - begin
    - geos::geom::CompoundCurve::isEmpty
    - end
    linkageType: ''
    returnType: bool
    signature: bool CompoundCurve::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CompoundCurve.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: geos::geom::CompoundCurve::normalize
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CompoundCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    - Dst: geos::geom::CompoundCurve::reverseImpl
      Src: /src/geos/src/geom/CompoundCurve.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geom::CompoundCurve::reverse
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CompoundCurve::reverseImpl
    - std::unique_ptr<CompoundCurve>
    linkageType: ''
    returnType: std::unique_ptr<CompoundCurve>
    signature: std::unique_ptr<CompoundCurve> CompoundCurve::reverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:306,1
    - Dst: std::transform
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rbegin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: rend
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::vector::begin
      Src: /src/geos/src/geom/CompoundCurve.cpp:307,1
    - Dst: std::unique_ptr<SimpleCurve>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: static_cast<SimpleCurve*>
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: geos::geom::CompoundCurve::reverse
      Src: /src/geos/src/geom/CompoundCurve.cpp:308,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/CompoundCurve.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: geos::geom::CompoundCurve::reverseImpl
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - getFactory
    - size
    - std::unique_ptr<SimpleCurve>
    - std::vector::begin
    - static_cast<SimpleCurve*>
    - rend
    - geos::geom::CompoundCurve::reverse
    - std::transform
    - std::move
    - rbegin
    linkageType: ''
    returnType: CompoundCurve
    signature: 'CompoundCurve *

      CompoundCurve::reverseImpl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/CompoundCurve.cpp:317,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:318,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geom/CompoundCurve.cpp:319,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geom/CompoundCurve.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: geos::geom::CompoundCurve::validateConstruction
    functionSourceFile: /src/geos/src/geom/CompoundCurve.cpp
    functionUses: 4
    functionsReached:
    - geos::util::IllegalArgumentException
    - getCoordinatesRO
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void CompoundCurve::validateConstruction() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:27,1
    - Dst: dynamic_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: get
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: geos::geom::CurvePolygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - get
    - auto::getCoordinatesRO
    - geos::geom::CurvePolygon::getCoordinates
    - dynamic_cast<const SimpleCurve*>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CurvePolygon::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::CurvePolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CurvePolygon::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::CurvePolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CurvePolygon::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::geom::CurvePolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CurvePolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: geos::geom::CurvePolygon::normalize
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CurvePolygon::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:57,1
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::CurvePolygon::getArea
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Area::ofClosedCurve
    linkageType: ''
    returnType: double
    signature: double CurvePolygon::getArea() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:65,1
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::geom::CurvePolygon::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::CurvePolygon::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CurvePolygon::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: geos::geom::CurvePolygon::cloneImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::cloneImpl() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: size
      Src: /src/geos/src/geom/CurvePolygon.cpp:84,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/CurvePolygon.cpp:85,1
    - Dst: reset
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: geos::geom::CurvePolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Curve*>
    - getFactory
    - size
    - reverse
    - CurvePolygon::CurvePolygon
    - std::vector::size
    - reset
    - std::move
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::reverseImpl() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:27,1
    - Dst: dynamic_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: get
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: geos::geom::CurvePolygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - get
    - auto::getCoordinatesRO
    - geos::geom::CurvePolygon::getCoordinates
    - dynamic_cast<const SimpleCurve*>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CurvePolygon::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::CurvePolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CurvePolygon::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::CurvePolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CurvePolygon::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::geom::CurvePolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CurvePolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: geos::geom::CurvePolygon::normalize
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CurvePolygon::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:57,1
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::CurvePolygon::getArea
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Area::ofClosedCurve
    linkageType: ''
    returnType: double
    signature: double CurvePolygon::getArea() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:65,1
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::geom::CurvePolygon::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::CurvePolygon::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CurvePolygon::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: geos::geom::CurvePolygon::cloneImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::cloneImpl() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: size
      Src: /src/geos/src/geom/CurvePolygon.cpp:84,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/CurvePolygon.cpp:85,1
    - Dst: reset
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: geos::geom::CurvePolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Curve*>
    - getFactory
    - size
    - reverse
    - CurvePolygon::CurvePolygon
    - std::vector::size
    - reset
    - std::move
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::reverseImpl() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:27,1
    - Dst: dynamic_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: get
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: geos::geom::CurvePolygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - get
    - auto::getCoordinatesRO
    - geos::geom::CurvePolygon::getCoordinates
    - dynamic_cast<const SimpleCurve*>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CurvePolygon::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::CurvePolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CurvePolygon::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::CurvePolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CurvePolygon::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::geom::CurvePolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CurvePolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: geos::geom::CurvePolygon::normalize
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CurvePolygon::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:57,1
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::CurvePolygon::getArea
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Area::ofClosedCurve
    linkageType: ''
    returnType: double
    signature: double CurvePolygon::getArea() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:65,1
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::geom::CurvePolygon::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::CurvePolygon::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CurvePolygon::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: geos::geom::CurvePolygon::cloneImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::cloneImpl() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: size
      Src: /src/geos/src/geom/CurvePolygon.cpp:84,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/CurvePolygon.cpp:85,1
    - Dst: reset
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: geos::geom::CurvePolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Curve*>
    - getFactory
    - size
    - reverse
    - CurvePolygon::CurvePolygon
    - std::vector::size
    - reset
    - std::move
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::reverseImpl() const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:27,1
    - Dst: dynamic_cast<const SimpleCurve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: get
      Src: /src/geos/src/geom/CurvePolygon.cpp:29,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/geom/CurvePolygon.cpp:30,1
    - Dst: auto::add
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    - Dst: geos::geom::CurvePolygon::getCoordinates
      Src: /src/geos/src/geom/CurvePolygon.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: geos::geom::CurvePolygon::getCoordinates
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - get
    - auto::getCoordinatesRO
    - geos::geom::CurvePolygon::getCoordinates
    - dynamic_cast<const SimpleCurve*>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> CurvePolygon::getCoordinates()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: geos::geom::CurvePolygon::getGeometryType
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CurvePolygon::getGeometryType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: geos::geom::CurvePolygon::getGeometryTypeId
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryTypeId
    signature: GeometryTypeId CurvePolygon::getGeometryTypeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: geos::geom::CurvePolygon::getBoundary
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> CurvePolygon::getBoundary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/CurvePolygon.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: geos::geom::CurvePolygon::normalize
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::util::UnsupportedOperationException
    linkageType: ''
    returnType: void
    signature: void CurvePolygon::normalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:57,1
    - Dst: geos::algorithm::Area::ofClosedCurve
      Src: /src/geos/src/geom/CurvePolygon.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::CurvePolygon::getArea
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Area::ofClosedCurve
    linkageType: ''
    returnType: double
    signature: double CurvePolygon::getArea() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:65,1
    - Dst: geos::geom::CurvePolygon::hasCurvedComponents
      Src: /src/geos/src/geom/CurvePolygon.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: geos::geom::CurvePolygon::hasCurvedComponents
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::CurvePolygon::hasCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool CurvePolygon::hasCurvedComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: geos::geom::CurvePolygon::cloneImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - CurvePolygon::CurvePolygon
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::cloneImpl() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:83,1
    - Dst: size
      Src: /src/geos/src/geom/CurvePolygon.cpp:84,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/CurvePolygon.cpp:85,1
    - Dst: reset
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: static_cast<Curve*>
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: reverse
      Src: /src/geos/src/geom/CurvePolygon.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: std::move
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: getFactory
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    - Dst: CurvePolygon::CurvePolygon
      Src: /src/geos/src/geom/CurvePolygon.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: geos::geom::CurvePolygon::reverseImpl
    functionSourceFile: /src/geos/src/geom/CurvePolygon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Curve*>
    - getFactory
    - size
    - reverse
    - CurvePolygon::CurvePolygon
    - std::vector::size
    - reset
    - std::move
    linkageType: ''
    returnType: Geometry
    signature: "Geometry *\n    CurvePolygon::reverseImpl() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 10
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 12
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 14
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 16
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 17
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 18
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 19
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 20
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 21
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 22
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' polys'
    argTypes:
    - Geometry
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 23
    functionsReached:
    - geos::geom::util::PolygonalExtracter::getPolygonals
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry& geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:36,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:37,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:38,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:40,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:41,1
    - Dst: geos::geom::util::PolygonalExtracter::getPolygonals
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/geom/util/PolygonalExtracter.cpp:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - ' polys'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::geom::util::PolygonalExtracter::getPolygonals
    functionSourceFile: /src/geos/src/geom/util/PolygonalExtracter.cpp
    functionUses: 24
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - push_back
    - dynamic_cast<const Polygon*>
    - Geometry*::getNumGeometries
    - dynamic_cast<const MultiPolygon*>
    - geos::geom::util::PolygonalExtracter::getPolygonals
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void PolygonalExtracter::getPolygonals(const Geometry* geom, std::vector<const
      Geometry*>& polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 5
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 6
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 7
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - distTol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Densifier::DensifyTransformer::DensifyTransformer(double distTol)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::DensifyTransformer::DensifyTransformer(double distTol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::Densifier::densifyPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/geom/util/Densifier.cpp:62,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/Densifier.cpp:64,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/geom/util/Densifier.cpp:65,1
    - Dst: auto::clear
      Src: /src/geos/src/geom/util/Densifier.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: Densifier::DensifyTransformer::transformCoordinates(const CoordinateSequence*
      coords, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - auto::clear
    - geos::geom::util::Densifier::densifyPoints
    - LineString*::getNumPoints
    - dynamic_cast<const LineString*>
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr Densifier::DensifyTransformer::transformCoordinates(const
      CoordinateSequence* coords, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:76,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/Densifier.cpp:78,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: Densifier::DensifyTransformer::transformPolygon(const Polygon* geom,
      const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformPolygon
    - Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformPolygon(const
      Polygon* geom, const Geometry* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/Densifier.cpp:88,1
    - Dst: createValidArea
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/Densifier.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: Densifier::DensifyTransformer::transformMultiPolygon(const MultiPolygon*
      geom, const Geometry* parent)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - createValidArea
    - Geometry::Ptr::get
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::DensifyTransformer::transformMultiPolygon(const
      MultiPolygon* geom, const Geometry* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isValid
      Src: /src/geos/src/geom/util/Densifier.cpp:96,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/Densifier.cpp:97,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/geom/util/Densifier.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Densifier::DensifyTransformer::createValidArea(const Geometry* roughAreaGeom)
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    - Geometry*::buffer
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> Densifier::DensifyTransformer::createValidArea(const
      Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: geos::geom::util::Densifier::Densifier
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Densifier::Densifier(const Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/Densifier.cpp:111,1
    - Dst: items
      Src: /src/geos/src/geom/util/Densifier.cpp:113,1
    - Dst: auto::cbegin
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::cend
      Src: /src/geos/src/geom/util/Densifier.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:117,1
    - Dst: geom::LineSegment::getLength
      Src: /src/geos/src/geom/util/Densifier.cpp:118,1
    - Dst: ceil
      Src: /src/geos/src/geom/util/Densifier.cpp:119,1
    - Dst: geos::operation::intersection::xmax
      Src: /src/geos/src/geom/util/Densifier.cpp:120,1
    - Dst: geos::util::GEOSException
      Src: /src/geos/src/geom/util/Densifier.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geom/util/Densifier.cpp:125,1
    - Dst: geom::LineSegment::pointAlong
      Src: /src/geos/src/geom/util/Densifier.cpp:131,1
    - Dst: PrecisionModel*::makePrecise
      Src: /src/geos/src/geom/util/Densifier.cpp:132,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:133,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:138,1
    - Dst: auto::add
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    - Dst: size
      Src: /src/geos/src/geom/util/Densifier.cpp:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' pts'
    - distanceTolerance
    - precModel
    argTypes:
    - CoordinateSequence
    - double
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: geos::geom::util::Densifier::densifyPoints
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 8
    functionsReached:
    - auto::add
    - geos::util::GEOSException
    - geom::LineSegment::getLength
    - size
    - auto::cbegin
    - items
    - PrecisionModel*::makePrecise
    - detail::make_unique<CoordinateSequence>
    - static_cast<int>
    - geom::LineSegment::pointAlong
    - auto::cend
    - geos::operation::intersection::xmax
    - ceil
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> Densifier::densifyPoints(const
      CoordinateSequence& pts, double distanceTolerance, const PrecisionModel* precModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::Densifier::setDistanceTolerance
      Src: /src/geos/src/geom/util/Densifier.cpp:158,1
    - Dst: util::Densifier::getResultGeometry
      Src: /src/geos/src/geom/util/Densifier.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - distTol
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: geos::geom::util::Densifier::densify
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - util::Densifier::setDistanceTolerance
    - util::Densifier::getResultGeometry
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::densify(const Geometry* geom, double distTol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/util/Densifier.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: geos::geom::util::Densifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void Densifier::setDistanceTolerance(double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/Densifier.cpp:175,1
    - Dst: clone
      Src: /src/geos/src/geom/util/Densifier.cpp:176,1
    - Dst: DensifyTransformer::transform
      Src: /src/geos/src/geom/util/Densifier.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geom::util::Densifier::getResultGeometry
    functionSourceFile: /src/geos/src/geom/util/Densifier.cpp
    functionUses: 0
    functionsReached:
    - clone
    - DensifyTransformer::transform
    - isEmpty
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr Densifier::getResultGeometry() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:42,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:43,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:56,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:57,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:59,1
    - Dst: floor
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:64,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:70,1
    - Dst: cos
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:77,1
    - Dst: sin
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:78,1
    - Dst: coord
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:79,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:83,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/SineStarFactory.cpp:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 86
    functionName: geos::geom::util::SineStarFactory::createSineStar
    functionSourceFile: /src/geos/src/geom/util/SineStarFactory.cpp
    functionUses: 0
    functionsReached:
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - floor
    - cos
    - detail::make_unique<CoordinateSequence>
    - coord
    - sin
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> SineStarFactory::createSineStar() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PointExtracter.cpp:31,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PointExtracter.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: geos::geom::util::PointExtracter::getPoints
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PointExtracter::getPoints(const Geometry& geom, Point::ConstVect&
      ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - Point::ConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: geos::geom::util::PointExtracter::PointExtracter
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointExtracter::PointExtracter(Point::ConstVect& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:51,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: geos::geom::util::PointExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/PointExtracter.cpp:59,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/PointExtracter.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: geos::geom::util::PointExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PointExtracter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Point*>
    - Geometry*::getGeometryTypeId
    - push_back
    linkageType: ''
    returnType: void
    signature: void PointExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::createGeometry
      Src: /src/geos/src/geom/util/NoOpGeometryOperation.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: geos::geom::util::NoOpGeometryOperation::edit
    functionSourceFile: /src/geos/src/geom/util/NoOpGeometryOperation.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::createGeometry
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> NoOpGeometryOperation::edit(const Geometry*
      geometry,\n                            const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 7
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:33,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:34,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:39,1
    - Dst: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:40,1
    - Dst: visit
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:44,1
    - Dst: isDone
      Src: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 54
    functionName: geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    functionSourceFile: /src/geos/src/geom/util/ShortCircuitedGeometryVisitor.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const GeometryCollection*>
    - isDone
    - visit
    - getGeometryN
    - geos::geom::util::ShortCircuitedGeometryVisitor::applyTo
    - getNumGeometries
    linkageType: ''
    returnType: void
    signature: void ShortCircuitedGeometryVisitor::applyTo(const Geometry& geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 3
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 2
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 5
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 4
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 7
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 6
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 9
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 10
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 8
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 11
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 12
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 10
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 13
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 14
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 12
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 15
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 16
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 14
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:34,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:35,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:36,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:38,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' geom'
    - op
    argTypes:
    - Geometry
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryMapper::map
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getGeometryN
    - getNumGeometries
    - std::vector::push_back
    - op
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::map(const Geometry& geom,
      mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:50,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:52,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:53,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:55,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:56,1
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' geom'
    - emptyDim
    - op
    argTypes:
    - Geometry
    - int
    - mapOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 17
    functionsReached:
    - getFactory
    - std::vector::empty
    - geos::geom::util::GeometryMapper::flatMap
    - std::vector::at
    - std::vector::size
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryMapper::flatMap(const Geometry& geom,
      int emptyDim, mapOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:66,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:67,1
    - Dst: Geometry*::isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:68,1
    - Dst: geos::geom::util::GeometryMapper::flatMap
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:69,1
    - Dst: op
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:72,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:73,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ' geom'
    - op
    - ' mapped'
    argTypes:
    - Geometry
    - mapOp
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: geos::geom::util::GeometryMapper::flatMap
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 18
    functionsReached:
    - geos::geom::util::GeometryMapper::flatMap
    - std::unique_ptr::isEmpty
    - getGeometryN
    - geos::geom::util::GeometryMapper::addFlat
    - Geometry*::isCollection
    - getNumGeometries
    - op
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::flatMap(const Geometry& geom, mapOp op, std::vector<std::unique_ptr<Geometry>>&
      mapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:84,1
    - Dst: isCollection
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:85,1
    - Dst: static_cast<GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:86,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:87,1
    - Dst: geos::geom::util::GeometryMapper::addFlat
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:89,1
    - Dst: emplace_back
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    - Dst: release
      Src: /src/geos/src/geom/util/GeometryMapper.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' geom'
    - ' geomList'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: geos::geom::util::GeometryMapper::addFlat
    functionSourceFile: /src/geos/src/geom/util/GeometryMapper.cpp
    functionUses: 16
    functionsReached:
    - release
    - geos::geom::util::GeometryMapper::addFlat
    - get
    - isCollection
    - emplace_back
    - static_cast<GeometryCollection*>
    - auto::releaseGeometries
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void GeometryMapper::addFlat(std::unique_ptr<Geometry>& geom, std::vector<std::unique_ptr<Geometry>>&
      geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::LinearComponentExtracter(std::vector<const
      LineString*>& newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDimension
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:35,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: geos::geom::util::LinearComponentExtracter::getLines
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 10
    functionsReached:
    - apply_ro
    - getDimension
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::getLines(const Geometry& geom, std::vector<const
      LineString*>& ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:46,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:47,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    - Dst: detail::down_cast<const LineString*>
      Src: /src/geos/src/geom/util/LinearComponentExtracter.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: geos::geom::util::LinearComponentExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/LinearComponentExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::isEmpty
    - detail::down_cast<const LineString*>
    - push_back
    linkageType: ''
    returnType: void
    signature: void LinearComponentExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: geos::geom::util::ComponentCoordinateExtracter::ComponentCoordinateExtracter
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::ComponentCoordinateExtracter(std::vector<const
      CoordinateXY*>& newComps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:31,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:33,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:34,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:35,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_rw(Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:47,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:51,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:52,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: geos::geom::util::ComponentCoordinateExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryTypeId
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - push_back
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const CoordinateXY*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    functionSourceFile: /src/geos/src/geom/util/ComponentCoordinateExtracter.cpp
    functionUses: 0
    functionsReached:
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void ComponentCoordinateExtracter::getCoordinates(const Geometry& geom,
      std::vector<const CoordinateXY*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<std::unique_ptr<Geometry>>&&
      geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(std::vector<const
      Geometry*> const& geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:45,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:46,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:57,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:58,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' g0'
    - ' g1'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:69,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:70,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:71,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ' g0'
    - ' g1'
    - ' g2'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    - std::unique_ptr<Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(std::unique_ptr<Geometry>
      && g0,\n                          std::unique_ptr<Geometry> && g1,\n                          std::unique_ptr<Geometry>
      && g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:82,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:83,1
    - Dst: GeometryCombiner::combine
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - g0
    - g1
    - g2
    argTypes:
    - Geometry*
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - GeometryCombiner::combine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryCombiner::combine(const Geometry*
      g0, const Geometry* g1,\n                          const Geometry* g2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:92,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    - Dst: auto::clone
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - getNumGeometries
    - auto::clone
    - getGeometryN
    - push_back
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<const Geometry*>
      const& geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<GeometryCollection *>
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:102,1
    - Dst: auto::releaseGeometries
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:104,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:105,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' geoms'
    argTypes:
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryCombiner::GeometryCombiner
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<GeometryCollection *>
    - push_back
    - get
    - std::move
    - auto::releaseGeometries
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::GeometryCombiner(std::vector<std::unique_ptr<Geometry>>
      && geoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: geos::geom::GeometryFactory::getDefaultInstance
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: front
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:116,1
    - Dst: erase
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: std::remove_if
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: begin
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:119,1
    - Dst: isEmpty
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:120,1
    - Dst: end
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:121,1
    - Dst: auto::buildGeometry
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryCombiner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: geos::geom::util::GeometryCombiner::combine
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::GeometryFactory::getDefaultInstance
    - std::remove_if
    - auto::buildGeometry
    - front
    - isEmpty
    - std::move
    - end
    - begin
    - empty
    - erase
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryCombiner::combine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: geos::geom::util::GeometryCombiner::setSkipEmpty
    functionSourceFile: /src/geos/src/geom/util/GeometryCombiner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryCombiner::setSkipEmpty(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 1
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 2
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 3
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 6
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 4
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 8
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 5
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 10
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 6
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 12
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 7
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 7
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::geom::util::GeometryEditor::GeometryEditor
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryEditor::GeometryEditor(const GeometryFactory* newFactory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:77,1
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:81,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:85,1
    - Dst: geos::geom::util::GeometryEditor::editGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:86,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:89,1
    - Dst: geos::geom::util::GeometryEditor::editPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:90,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:93,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:94,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:97,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - geometry
    - operation
    argTypes:
    - Geometry*
    - GeometryEditorOperation*
    assertStmts:
    - condition: (!static_cast<bool>("SHOULD NEVER GET HERE"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/geom/util/GeometryEditor.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: geos::geom::util::GeometryEditor::edit
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 14
    functionsReached:
    - Geometry*::getFactory
    - dynamic_cast<const GeometryCollection*>
    - dynamic_cast<const Point*>
    - GeometryEditorOperation*::edit
    - static_cast<bool>
    - geos::util::ensureNoCurvedComponents
    - geos::geom::util::GeometryEditor::editPolygon
    - dynamic_cast<const Polygon*>
    - dynamic_cast<const LineString*>
    - assert
    - geos::geom::util::GeometryEditor::editGeometryCollection
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryEditor::edit(const Geometry* geometry,
      GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<Polygon*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:109,1
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:110,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:112,1
    - Dst: std::unique_ptr::getFactory
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:114,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:115,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:123,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:124,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:126,1
    - Dst: std::unique_ptr<Polygon>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: Polygon*::getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:128,1
    - Dst: std::unique_ptr::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:132,1
    - Dst: detail::down_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:134,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:135,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:137,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:140,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - polygon
    - operation
    argTypes:
    - Polygon*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: geos::geom::util::GeometryEditor::editPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr<Polygon>
    - std::unique_ptr::getInteriorRingN
    - std::move
    - std::unique_ptr::isEmpty
    - GeometryEditorOperation*::edit
    - createPolygon
    - geos::geom::util::GeometryEditor::edit
    - std::unique_ptr::getFactory
    - detail::down_cast<LinearRing*>
    - std::unique_ptr::getExteriorRing
    - std::vector::push_back
    - Polygon*::getCoordinateDimension
    - detail::down_cast<Polygon*>
    - std::unique_ptr::getNumInteriorRing
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometryEditor::editPolygon(const Polygon*
      polygon, GeometryEditorOperation* operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GeometryEditorOperation*::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:149,1
    - Dst: auto::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:151,1
    - Dst: geos::geom::util::GeometryEditor::edit
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::getGeometryN
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:152,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:154,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:157,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:160,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:161,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:163,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:164,1
    - Dst: auto::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:166,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:167,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryEditor.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - collection
    - operation
    argTypes:
    - GeometryCollection*
    - GeometryEditorOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: geos::geom::util::GeometryEditor::editGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryEditor.cpp
    functionUses: 8
    functionsReached:
    - auto::getGeometryN
    - createMultiLineString
    - std::move
    - GeometryEditorOperation*::edit
    - geos::geom::util::GeometryEditor::edit
    - createGeometryCollection
    - createMultiPoint
    - auto::isEmpty
    - auto::getNumGeometries
    - createMultiPolygon
    - std::vector::push_back
    - auto::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<GeometryCollection>
    signature: std::unique_ptr<GeometryCollection> GeometryEditor::editGeometryCollection(const
      GeometryCollection* collection, GeometryEditorOperation* operation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDimension
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:30,1
    - Dst: apply_ro
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' geom'
    - ' ret'
    argTypes:
    - Geometry
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: geos::geom::util::PolygonExtracter::getPolygons
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 30
    functionsReached:
    - hasDimension
    - apply_ro
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::getPolygons(const Geometry& geom, std::vector<const
      Polygon*>& ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newComps'
    argTypes:
    - std::vector<const Polygon*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::geom::util::PolygonExtracter::PolygonExtracter
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::PolygonExtracter(std::vector<const Polygon*>&
      newComps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:46,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: geos::geom::util::PolygonExtracter::filter_rw
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_rw(Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:54,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/PolygonExtracter.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::geom::util::PolygonExtracter::filter_ro
    functionSourceFile: /src/geos/src/geom/util/PolygonExtracter.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: void
    signature: void PolygonExtracter::filter_ro(const Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 7
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:37,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:38,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:39,1
    - Dst: GeometryFactory*::createLinearRing
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:41,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:43,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:44,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:45,1
    - Dst: GeometryFactory*::createLineString
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:46,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:48,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:49,1
    - Dst: geos::geom::util::CoordinateOperation::edit
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:50,1
    - Dst: GeometryFactory*::createPoint
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:51,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/CoordinateOperation.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geometry
    - factory
    argTypes:
    - Geometry*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 55
    functionName: geos::geom::util::CoordinateOperation::edit
    functionSourceFile: /src/geos/src/geom/util/CoordinateOperation.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<const Point*>
    - GeometryFactory*::createLinearRing
    - LinearRing*::getCoordinatesRO
    - Point*::getCoordinatesRO
    - GeometryFactory*::createLineString
    - geos::geom::util::CoordinateOperation::edit
    - dynamic_cast<const LineString*>
    - std::move
    - dynamic_cast<const LinearRing*>
    - GeometryFactory*::createPoint
    - Geometry*::clone
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> CoordinateOperation::edit(const Geometry*
      geometry,\n                          const GeometryFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 1
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 2
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 3
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 4
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 9
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 10
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 10
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 5
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 9
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 11
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 12
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 12
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 6
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 10
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 13
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 14
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 14
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 7
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFixer::getResult
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::geom::util::GeometryFixer::fix
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 11
    functionsReached:
    - GeometryFixer::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fix(const Geometry* p_geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_isKeepCollapsed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::geom::util::GeometryFixer::setKeepCollapsed
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryFixer::setKeepCollapsed(bool p_isKeepCollapsed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:58,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:59,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:62,1
    - Dst: geos::geom::util::GeometryFixer::fixPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: static_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:64,1
    - Dst: geos::geom::util::GeometryFixer::fixLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: static_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:66,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:68,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:70,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: static_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:72,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: static_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:74,1
    - Dst: geos::geom::util::GeometryFixer::fixMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:76,1
    - Dst: geos::geom::util::GeometryFixer::fixCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: static_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:78,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 82
    functionName: geos::geom::util::GeometryFixer::getResult
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const Polygon*>
    - geos::geom::util::GeometryFixer::fixMultiPolygon
    - static_cast<const MultiPoint*>
    - geos::geom::util::GeometryFixer::fixPoint
    - clone
    - static_cast<const LinearRing*>
    - geos::util::UnsupportedOperationException
    - geos::geom::util::GeometryFixer::fixLinearRing
    - static_cast<const LineString*>
    - static_cast<const GeometryCollection*>
    - geos::geom::util::GeometryFixer::fixCollection
    - getGeometryTypeId
    - static_cast<const MultiLineString*>
    - getNumGeometries
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixPolygon
    - static_cast<const MultiPolygon*>
    - geos::geom::util::GeometryFixer::fixMultiPoint
    - geos::geom::util::GeometryFixer::fixMultiLineString
    - static_cast<const Point*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::getResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:88,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: geos::geom::util::GeometryFixer::fixPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::util::GeometryFixer::fixPointElement
    - createPoint
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPoint(const Point* p_geom)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: geos::geom::util::GeometryFixer::isValidPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:99,1
    - Dst: Point*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: geos::geom::util::GeometryFixer::fixPointElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::util::GeometryFixer::isValidPoint
    - Point*::isEmpty
    - Point*::clone
    linkageType: ''
    returnType: std::unique_ptr<Point>
    signature: std::unique_ptr<Point> GeometryFixer::fixPointElement(const Point*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:109,1
    - Dst: CoordinateXY*::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: geos::geom::util::GeometryFixer::isValidPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - Point*::getCoordinate
    - CoordinateXY*::isValid
    linkageType: ''
    returnType: bool
    signature: bool GeometryFixer::isValidPoint(const Point* pt) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:118,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:119,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:120,1
    - Dst: geos::geom::util::GeometryFixer::fixPointElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:121,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:123,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: geos::geom::util::GeometryFixer::fixMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - Point*::isEmpty
    - MultiPoint*::getGeometryN
    - createMultiPoint
    - std::unique_ptr::release
    - geos::geom::util::GeometryFixer::fixPointElement
    - std::move
    - MultiPoint*::getNumGeometries
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPoint(const MultiPoint*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLinearRingElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:133,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: geos::geom::util::GeometryFixer::fixLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLinearRingElement
    - createLinearRing
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRing(const LinearRing*
      p_geom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:144,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:148,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:151,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:152,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:156,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:163,1
    - Dst: std::unique_ptr::isValid
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:165,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    - Dst: std::unique_ptr::getCoordinates
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: geos::geom::util::GeometryFixer::fixLinearRingElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - LinearRing*::getCoordinatesRO
    - std::unique_ptr::getCoordinates
    - auto::getAt
    - LinearRing*::isEmpty
    - createLinearRing
    - std::move
    - std::unique_ptr::isValid
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLinearRingElement(const
      LinearRing* p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:175,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: geos::geom::util::GeometryFixer::fixLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineString(const LineString*
      p_geom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:186,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:189,1
    - Dst: auto::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:190,1
    - Dst: auto::getAt
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:192,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:193,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: geos::geom::util::GeometryFixer::fixLineStringElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 15
    functionsReached:
    - auto::size
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedAndInvalidPoints
    - createPoint
    - auto::getAt
    - LineString*::isEmpty
    - std::move
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixLineStringElement(const
      LineString* p_geom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:209,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:210,1
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:211,1
    - Dst: geos::geom::util::GeometryFixer::fixLineStringElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:214,1
    - Dst: std::unique_ptr::getGeometryTypeId
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:218,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:221,1
    - Dst: std::vector::size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:223,1
    - Dst: std::vector::at
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:224,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:228,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiLineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: geos::geom::util::GeometryFixer::fixMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - createMultiLineString
    - std::unique_ptr::getGeometryTypeId
    - MultiLineString*::getGeometryN
    - std::vector::at
    - geos::geom::util::GeometryFixer::fixLineStringElement
    - createGeometryCollection
    - MultiLineString*::getNumGeometries
    - LineString*::isEmpty
    - std::unique_ptr::release
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiLineString(const MultiLineString*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:237,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: geos::geom::util::GeometryFixer::fixPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - createPolygon
    - geos::geom::util::GeometryFixer::fixPolygonElement
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygon(const Polygon*
      p_geom) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:248,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:249,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:250,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:252,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:253,1
    - Dst: geos::geom::util::GeometryFixer::fixLineString
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:254,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:260,1
    - Dst: geos::geom::util::GeometryFixer::fixHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:265,1
    - Dst: geos::geom::util::GeometryFixer::classifyHoles
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:269,1
    - Dst: geos::geom::util::GeometryFixer::difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:270,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:271,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:276,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: geos::geom::util::GeometryFixer::fixPolygonElement
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::util::GeometryFixer::fixHoles
    - std::vector::empty
    - geos::geom::util::GeometryFixer::fixLineString
    - geos::geom::util::GeometryFixer::fixRing
    - std::unique_ptr::isEmpty
    - std::unique_ptr::get
    - LinearRing*::getCoordinatesRO
    - geos::geom::util::GeometryFixer::difference
    - Polygon*::getNumInteriorRing
    - geos::geom::util::GeometryFixer::classifyHoles
    - geos::geom::util::GeometryFixer::unionGeometry
    - std::vector::push_back
    - Polygon*::getExteriorRing
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixPolygonElement(const Polygon*
      p_geom) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:285,1
    - Dst: geos::geom::util::GeometryFixer::fixRing
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:286,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: geos::geom::util::GeometryFixer::fixHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::util::GeometryFixer::fixRing
    - Polygon*::getNumInteriorRing
    - std::unique_ptr::release
    - Polygon*::getInteriorRingN
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Geometry>>
    signature: std::vector<std::unique_ptr<Geometry>> GeometryFixer::fixHoles(const
      Polygon* poly) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:303,1
    - Dst: get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:306,1
    - Dst: std::unique_ptr::intersects
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:307,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - shell
    - ' holesFixed'
    - ' holes'
    - ' shells'
    argTypes:
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    - std::vector<const Geometry*>
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: geos::geom::util::GeometryFixer::classifyHoles
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::intersects
    - get
    - push_back
    - prepare
    linkageType: ''
    returnType: void
    signature: "void GeometryFixer::classifyHoles(\n    const Geometry* shell,\n    std::vector<std::unique_ptr<Geometry>>&
      holesFixed,\n    std::vector<const Geometry*>& holes,\n    std::vector<const
      Geometry*>& shells) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:323,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:324,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:325,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:326,1
    - Dst: geos::geom::util::GeometryFixer::unionGeometry
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:327,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Difference
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - shell
    - ' holes'
    argTypes:
    - Geometry*
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: geos::geom::util::GeometryFixer::difference
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - size
    - std::unique_ptr::get
    - geos::geom::util::GeometryFixer::unionGeometry
    - geos::operation::overlayng::OverlayNGRobust::Difference
    - Geometry*::clone
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: "std::unique_ptr<Geometry> GeometryFixer::difference(\n    const Geometry*
      shell,\n    std::vector<const Geometry*>& holes) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:336,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: getCoordinateDimension
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:337,1
    - Dst: size
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:339,1
    - Dst: clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:340,1
    - Dst: UnaryUnionOp::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' polys'
    argTypes:
    - std::vector<const Geometry*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: geos::geom::util::GeometryFixer::unionGeometry
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 16
    functionsReached:
    - size
    - createPolygon
    - UnaryUnionOp::Union
    - getCoordinateDimension
    - empty
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::unionGeometry(std::vector<const
      Geometry*>& polys) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::clone
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:354,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:355,1
    - Dst: geos::operation::buffer::BufferOp::bufferByZero
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryFixer::fixRing
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 16
    functionsReached:
    - std::unique_ptr::get
    - createPolygon
    - LinearRing*::clone
    - geos::operation::buffer::BufferOp::bufferByZero
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixRing(const LinearRing*
      ring) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:366,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:367,1
    - Dst: geos::geom::util::GeometryFixer::fixPolygonElement
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:368,1
    - Dst: std::unique_ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:369,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:370,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:373,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:374,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:376,1
    - Dst: geos::operation::overlayng::OverlayNGRobust::Union
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: geos::geom::util::GeometryFixer::fixMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::geom::util::GeometryFixer::fixPolygonElement
    - std::unique_ptr::isEmpty
    - std::vector::empty
    - std::unique_ptr::get
    - createGeometryCollection
    - createMultiPolygon
    - std::unique_ptr::release
    - geos::operation::overlayng::OverlayNGRobust::Union
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixMultiPolygon(const MultiPolygon*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:385,1
    - Dst: geos::geom::util::GeometryFixer::fix
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:386,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:387,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryFixer.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_geom
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: geos::geom::util::GeometryFixer::fixCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryFixer.cpp
    functionUses: 8
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - geos::geom::util::GeometryFixer::fix
    - createGeometryCollection
    - std::unique_ptr::release
    - std::move
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryFixer::fixCollection(const GeometryCollection*
      p_geom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 1
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 9
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 1
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 2
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 11
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 10
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 2
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 6
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 13
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 11
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 9
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 4
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 15
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 12
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 4
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 12
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 9
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 5
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 17
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 13
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 5
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 15
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 11
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 6
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 19
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 14
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 6
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 18
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 7
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 13
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 7
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 21
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 15
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 7
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: geos::geom::util::GeometryTransformer::GeometryTransformer
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::GeometryTransformer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::geom::util::GeometryTransformer::setSkipTransformedInvalidInteriorRings
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryTransformer::setSkipTransformedInvalidInteriorRings(bool
      b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:80,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:82,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:83,1
    - Dst: dynamic_cast<const MultiPoint*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:85,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:86,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:88,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:89,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:91,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:92,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:94,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:95,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:97,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:98,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:100,1
    - Dst: geos::geom::util::GeometryTransformer::transformMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:101,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:103,1
    - Dst: geos::geom::util::GeometryTransformer::transformGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:104,1
    - Dst: IllegalArgumentException
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - nInputGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: geos::geom::util::GeometryTransformer::transform
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 7
    functionsReached:
    - dynamic_cast<const Point*>
    - getFactory
    - dynamic_cast<const MultiPoint*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - geos::geom::util::GeometryTransformer::transformMultiPolygon
    - geos::geom::util::GeometryTransformer::transformLineString
    - geos::geom::util::GeometryTransformer::transformPolygon
    - dynamic_cast<const MultiLineString*>
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::geom::util::GeometryTransformer::transformMultiPoint
    - dynamic_cast<const Polygon*>
    - geos::geom::util::GeometryTransformer::transformMultiLineString
    - geos::geom::util::GeometryTransformer::transformGeometryCollection
    - dynamic_cast<const LineString*>
    - IllegalArgumentException
    - dynamic_cast<const MultiPolygon*>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> GeometryTransformer::transform(const Geometry*
      nInputGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:116,1
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    - Dst: CoordinateSequence*::clone
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: geos::geom::util::GeometryTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 21
    functionsReached:
    - geos::ignore_unused_variable_warning
    - CoordinateSequence*::clone
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> GeometryTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:130,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:136,1
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:137,1
    - Dst: createPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Point*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: geos::geom::util::GeometryTransformer::transformPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - createPoint
    - Point*::getCoordinatesRO
    - std::move
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPoint(\n    const Point*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:147,1
    - Dst: MultiPoint*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:156,1
    - Dst: MultiPoint*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:157,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:158,1
    - Dst: geos::geom::util::GeometryTransformer::transformPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:160,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:161,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:168,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:171,1
    - Dst: createMultiPoint
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:172,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPoint*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: geos::geom::util::GeometryTransformer::transformMultiPoint
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiPoint*::getGeometryN
    - std::vector::push_back
    - geos::geom::util::GeometryTransformer::transformPoint
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - createMultiPoint
    - buildGeometry
    - assert
    - MultiPoint*::getNumGeometries
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPoint(\n    const
      MultiPoint* geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:184,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:191,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:192,1
    - Dst: CoordinateSequence::Ptr::size
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:194,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:198,1
    - Dst: createLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: geos::geom::util::GeometryTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - LinearRing*::getCoordinatesRO
    - createLinearRing
    - std::move
    - geos::ignore_unused_variable_warning
    - createLineString
    - CoordinateSequence::Ptr::size
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLinearRing(\n    const
      LinearRing* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:210,1
    - Dst: createLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:218,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LineString*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: geos::geom::util::GeometryTransformer::transformLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 15
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - geos::ignore_unused_variable_warning
    - createLineString
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformLineString(\n    const
      LineString* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:227,1
    - Dst: MultiLineString*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:236,1
    - Dst: MultiLineString*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:237,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:238,1
    - Dst: geos::geom::util::GeometryTransformer::transformLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:240,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:241,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:248,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:251,1
    - Dst: createMultiLineString
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:252,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiLineString*
    - Geometry*
    assertStmts:
    - condition: (l)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: geos::geom::util::GeometryTransformer::transformMultiLineString
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 8
    functionsReached:
    - createMultiLineString
    - std::move
    - std::vector::empty
    - Geometry::Ptr::isEmpty
    - MultiLineString*::getGeometryN
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - MultiLineString*::getNumGeometries
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - geos::geom::util::GeometryTransformer::transformLineString
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiLineString(\n    const
      MultiLineString* geom,\n    const Geometry* parent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:264,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:272,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:273,1
    - Dst: geos::geom::util::GeometryTransformer::transformLinearRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:275,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:276,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:277,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:278,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:283,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:284,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:285,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:289,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:293,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:294,1
    - Dst: dynamic_cast<LinearRing*>
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: Geometry::Ptr::release
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:305,1
    - Dst: createPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:306,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:310,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:315,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts:
    - condition: (p_lr)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    - condition: (lr)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 321
    functionName: geos::geom::util::GeometryTransformer::transformPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 23
    functionsReached:
    - std::move
    - geos::geom::util::GeometryTransformer::transformLinearRing
    - Geometry::Ptr::isEmpty
    - createPolygon
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Geometry::Ptr::release
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    - Geometry::Ptr::get
    - buildGeometry
    - assert
    - dynamic_cast<LinearRing*>
    - Polygon*::getExteriorRing
    - std::vector::emplace_back
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:328,1
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:337,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:338,1
    - Dst: assert
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:339,1
    - Dst: geos::geom::util::GeometryTransformer::transformPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:341,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:342,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:345,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:349,1
    - Dst: std::vector::empty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:352,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:353,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/geos/src/geom/util/GeometryTransformer.cpp
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: geos::geom::util::GeometryTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 16
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - std::move
    - Geometry::Ptr::isEmpty
    - std::vector::empty
    - geos::geom::util::GeometryTransformer::transformPolygon
    - std::vector::push_back
    - Geometry::Ptr::get
    - buildGeometry
    - createMultiPolygon
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformMultiPolygon(\n    const
      MultiPolygon* geom,\n    const Geometry* parent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:365,1
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:374,1
    - Dst: geos::geom::util::GeometryTransformer::transform
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:375,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:376,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:377,1
    - Dst: Geometry::Ptr::isEmpty
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:380,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:384,1
    - Dst: createGeometryCollection
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:388,1
    - Dst: buildGeometry
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    - Dst: std::move
      Src: /src/geos/src/geom/util/GeometryTransformer.cpp:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - GeometryCollection*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: geos::geom::util::GeometryTransformer::transformGeometryCollection
    functionSourceFile: /src/geos/src/geom/util/GeometryTransformer.cpp
    functionUses: 8
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - GeometryCollection*::getGeometryN
    - Geometry::Ptr::isEmpty
    - std::move
    - createGeometryCollection
    - Geometry::Ptr::get
    - buildGeometry
    - geos::geom::util::GeometryTransformer::transform
    - std::vector::push_back
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr GeometryTransformer::transformGeometryCollection(\n
      \   const GeometryCollection* geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::geom::prep::PreparedPolygon::PreparedPolygon
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::PreparedPolygon(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:51,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: PreparedPolygon::~PreparedPolygon()
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedPolygon::~PreparedPolygon()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:62,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::geom::prep::PreparedPolygon::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedPolygon::

      getIntersectionFinder() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:78,1
    - Dst: detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:80,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedPolygon::getPointLocator
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - get
    - detail::make_unique<algorithm::locate::SimplePointInAreaLocator>
    - detail::make_unique<algorithm::locate::IndexedPointInAreaLocator>
    linkageType: ''
    returnType: algorithm::locate::PointOnGeometryLocator
    signature: 'algorithm::locate::PointOnGeometryLocator *

      PreparedPolygon::

      getPointLocator() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:91,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:97,1
    - Dst: detail::down_cast<geom::Polygon const*>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:98,1
    - Dst: geos::operation::predicate::RectangleContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:100,1
    - Dst: geos::geom::prep::PreparedPolygonContains::contains
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: geos::geom::prep::PreparedPolygon::contains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::predicate::RectangleContains::contains
    - getGeometry
    - detail::down_cast<geom::Polygon const*>
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContains::contains
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      contains(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:111,1
    - Dst: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: geos::geom::prep::PreparedPolygon::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      containsProperly(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: envelopeCovers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:123,1
    - Dst: geos::geom::prep::PreparedPolygonCovers::covers
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::PreparedPolygon::covers
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - envelopeCovers
    - geos::geom::prep::PreparedPolygonCovers::covers
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      covers(const geom::Geometry* g) const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:139,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:142,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:148,1
    - Dst: dynamic_cast<geom::Polygon const&>
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:149,1
    - Dst: geos::operation::predicate::RectangleIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:151,1
    - Dst: geos::geom::prep::PreparedPolygonIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: geos::geom::prep::PreparedPolygon::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonIntersects::intersects
    - getGeometry
    - geos::util::ensureNoCurvedComponents
    - envelopesIntersect
    - dynamic_cast<geom::Polygon const&>
    - geos::operation::predicate::RectangleIntersects::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool PreparedPolygon::

      intersects(const geom::Geometry* g) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:163,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: geos::geom::prep::PreparedPolygon::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedPolygon::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedPolygonDistance::distance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: geos::geom::prep::PreparedPolygon::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedPolygonDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedPolygon::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedPolygonDistance
      Src: /src/geos/src/geom/prep/PreparedPolygon.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: geos::geom::prep::PreparedPolygon::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygon.cpp
    functionUses: 0
    functionsReached:
    - PreparedPolygonDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygon::isWithinDistance(const geom::Geometry* g, double
      d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:35,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:41,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:46,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:47,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::PreparedPolygonDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    linkageType: ''
    returnType: double
    signature: double PreparedPolygonDistance::distance(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:61,1
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:67,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:72,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:73,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:77,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::PreparedPolygonDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - geom::Geometry*::getDimension
    - getGeometry
    - isAnyTargetComponentInAreaTest
    - isAnyTestComponentInTarget
    - getIndexedFacetDistance
    - getRepresentativePoints
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isAllTestComponentsInTargetInterior
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:52,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:59,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:60,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:62,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:75,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:76,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: geos::geom::prep::PreparedPolygonContainsProperly::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContainsProperly.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - isAnyTargetComponentInAreaTest
    - getIntersectionFinder
    - geom::Geometry*::getGeometryTypeId
    - isAllTestComponentsInTargetInterior
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContainsProperly::containsProperly(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PreparedLineString::~PreparedLineString()
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PreparedLineString::~PreparedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:50,1
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:51,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::geom::prep::PreparedLineString::getIntersectionFinder
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - getGeometry
    - get
    - noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    - reset
    linkageType: ''
    returnType: noding::FastSegmentSetIntersectionFinder
    signature: 'noding::FastSegmentSetIntersectionFinder *

      PreparedLineString::getIntersectionFinder()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:60,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:62,1
    - Dst: const_cast<PreparedLineString*>
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:66,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::intersects
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: geos::geom::prep::PreparedLineString::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - geos::geom::prep::PreparedLineStringIntersects::intersects
    - geos::util::ensureNoCurvedComponents
    - const_cast<PreparedLineString*>
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: operation::distance::IndexedFacetDistance::IndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:77,1
    - Dst: get
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::geom::prep::PreparedLineString::getIndexedFacetDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getGeometry
    - operation::distance::IndexedFacetDistance::IndexedFacetDistance
    - get
    linkageType: ''
    returnType: operation::distance::IndexedFacetDistance
    signature: 'operation::distance::IndexedFacetDistance *

      PreparedLineString::

      getIndexedFacetDistance() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedLineString::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineString::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::PreparedLineStringDistance::distance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::PreparedLineString::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::PreparedLineStringDistance::distance
    linkageType: ''
    returnType: double
    signature: double PreparedLineString::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PreparedLineStringDistance
      Src: /src/geos/src/geom/prep/PreparedLineString.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::geom::prep::PreparedLineString::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineString.cpp
    functionUses: 0
    functionsReached:
    - PreparedLineStringDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineString::isWithinDistance(const geom::Geometry* g,
      double d) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAnyTestComponentInTarget
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:51,1
    - Dst: geom::Geometry*::isPuntal
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:56,1
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:64,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:65,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:67,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:78,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 87
    functionName: geos::geom::prep::PreparedPolygonIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonIntersects.cpp
    functionUses: 8
    functionsReached:
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::getDimension
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::isPuntal
    - isAnyTestComponentInTarget
    - getIntersectionFinder
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonIntersects::intersects(const geom::Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPolygonCovers::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonCovers.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonCovers::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:45,1
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:52,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: PreparedPoint::PreparedPoint
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:55,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: PreparedLineString::PreparedLineString
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:61,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: PreparedPolygon::PreparedPolygon
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:66,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    - Dst: BasicPreparedGeometry::BasicPreparedGeometry
      Src: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: geos::geom::prep::PreparedGeometryFactory::create
    functionSourceFile: /src/geos/src/geom/prep/PreparedGeometryFactory.cpp
    functionUses: 0
    functionsReached:
    - BasicPreparedGeometry::BasicPreparedGeometry
    - PreparedPolygon::PreparedPolygon
    - PreparedPoint::PreparedPoint
    - std::unique_ptr::reset
    - geos::util::ensureNoCurvedComponents
    - PreparedLineString::PreparedLineString
    - geos::util::IllegalArgumentException
    - geom::Geometry*::getGeometryTypeId
    linkageType: ''
    returnType: std::unique_ptr<PreparedGeometry>
    signature: std::unique_ptr<PreparedGeometry> PreparedGeometryFactory::create(const
      geom::Geometry* g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 1
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 1
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 2
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 1
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 2
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 3
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 2
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 3
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 4
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 3
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 4
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 5
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 4
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 5
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 5
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 6
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 5
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 6
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 6
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 7
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 6
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 7
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:48,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:49,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 7
    functionsReached:
    - geom::Geometry*::getGeometryTypeId
    - geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation(const
      geom::Geometry* testGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:68,1
    - Dst: getGeometryN
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:72,1
    - Dst: detail::down_cast<const Polygon*>
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:73,1
    - Dst: geom::Polygon*::getNumInteriorRing
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::isSingleShell
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 8
    functionsReached:
    - getNumGeometries
    - detail::down_cast<const Polygon*>
    - getGeometryN
    - geom::Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::isSingleShell(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:84,1
    - Dst: noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:90,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:91,1
    - Dst: noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:93,1
    - Dst: noding::SegmentIntersectionDetector::hasProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:94,1
    - Dst: noding::SegmentIntersectionDetector::hasNonProperIntersection
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:95,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 7
    functionsReached:
    - noding::SegmentIntersectionDetector::hasProperIntersection
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - noding::SegmentIntersectionDetector::setFindAllIntersectionTypes
    - getIntersectionFinder
    - noding::SegmentIntersectionDetector::hasIntersection
    - noding::SegmentIntersectionDetector::hasNonProperIntersection
    linkageType: ''
    returnType: void
    signature: void AbstractPreparedPolygonContains::findAndClassifyIntersections(const
      geom::Geometry* geom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getOutermostTestComponentLocation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:111,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:114,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:115,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:134,1
    - Dst: geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:137,1
    - Dst: fullTopologicalPredicate
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:164,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:170,1
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:171,1
    - Dst: isAnyTargetComponentInAreaTest
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    - Dst: getRepresentativePoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 181
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::eval
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getDimension
    - getOutermostTestComponentLocation
    - geos::geom::prep::AbstractPreparedPolygonContains::findAndClassifyIntersections
    - geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    - geos::geom::prep::AbstractPreparedPolygonContains::isProperIntersectionImpliesNotContainedSituation
    - isAnyTargetComponentInAreaTest
    - geom::Geometry*::getGeometryTypeId
    - fullTopologicalPredicate
    - getRepresentativePoints
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::eval(const geom::Geometry* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:204,1
    - Dst: isAnyTestComponentInTargetInterior
      Src: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - geom
    - outermostLoc
    argTypes:
    - Geometry*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: geos::geom::prep::AbstractPreparedPolygonContains::evalPointTestGeom
    functionSourceFile: /src/geos/src/geom/prep/AbstractPreparedPolygonContains.cpp
    functionUses: 8
    functionsReached:
    - Geometry*::getNumPoints
    - isAnyTestComponentInTargetInterior
    linkageType: ''
    returnType: bool
    signature: bool AbstractPreparedPolygonContains::evalPointTestGeom(const Geometry
      *geom, Location outermostLoc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:32,1
    - Dst: operation::distance::IndexedFacetDistance*::nearestPoints
      Src: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedLineStringNearestPoints::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringNearestPoints.cpp
    functionUses: 8
    functionsReached:
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> PreparedLineStringNearestPoints::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:32,1
    - Dst: envelopesIntersect
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:34,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedPoint.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: geos::geom::prep::PreparedPoint::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedPoint.cpp
    functionUses: 0
    functionsReached:
    - envelopesIntersect
    - isAnyTargetComponentInTest
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: bool
    signature: bool PreparedPoint::intersects(const geom::Geometry* g) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:30,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:36,1
    - Dst: operation::distance::IndexedFacetDistance*::distance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:37,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:43,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: geos::geom::prep::PreparedLineStringDistance::distance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 8
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - operation::distance::IndexedFacetDistance*::distance
    - getGeometry
    - getIndexedFacetDistance
    linkageType: ''
    returnType: double
    signature: double PreparedLineStringDistance::distance(const geom::Geometry* g)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: geom::Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:53,1
    - Dst: getIndexedFacetDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:58,1
    - Dst: operation::distance::IndexedFacetDistance*::isWithinDistance
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:59,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:64,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: geos::geom::prep::PreparedLineStringDistance::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringDistance.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::isEmpty
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - getGeometry
    - getIndexedFacetDistance
    - operation::distance::IndexedFacetDistance*::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringDistance::isWithinDistance(const geom::Geometry*
      g, double d) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 1
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 2
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 3
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 4
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 5
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 6
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:45,1
    - Dst: PointLocator::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 7
    functionsReached:
    - getGeometry
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    - PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::isAnyTestPointInTarget(const geom::Geometry*
      testGeom) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentStringUtil::extractSegmentStrings
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:60,1
    - Dst: getIntersectionFinder
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:61,1
    - Dst: noding::FastSegmentSetIntersectionFinder*::intersects
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:62,1
    - Dst: noding::SegmentString::ConstVect::size
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:64,1
    - Dst: geom::Geometry*::getDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:73,1
    - Dst: isAnyTargetComponentInTest
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:74,1
    - Dst: geom::Geometry*::hasDimension
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:79,1
    - Dst: geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
      Src: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: geos::geom::prep::PreparedLineStringIntersects::intersects
    functionSourceFile: /src/geos/src/geom/prep/PreparedLineStringIntersects.cpp
    functionUses: 8
    functionsReached:
    - isAnyTargetComponentInTest
    - geom::Geometry*::getDimension
    - noding::SegmentString::ConstVect::size
    - geos::noding::SegmentStringUtil::extractSegmentStrings
    - geom::Geometry*::hasDimension
    - geos::geom::prep::PreparedLineStringIntersects::isAnyTestPointInTarget
    - getIntersectionFinder
    - noding::FastSegmentSetIntersectionFinder*::intersects
    linkageType: ''
    returnType: bool
    signature: bool PreparedLineStringIntersects::intersects(const geom::Geometry*
      g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: geos::geom::prep::LocationMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:50,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:52,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - locator
    - loc
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: geos::geom::prep::LocationNotMatchingFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationNotMatchingFilter(algorithm::locate::PointOnGeometryLocator*
      locator, Location loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:74,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:76,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - locator
    argTypes:
    - algorithm::locate::PointOnGeometryLocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: geos::geom::prep::OutermostLocationFilter
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutermostLocationFilter(algorithm::locate::PointOnGeometryLocator*
      locator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:100,1
    - Dst: Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:102,1
    - Dst: locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: geos::geom::prep::filter_ro
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getCoordinate
    - Geometry*::isEmpty
    - locate
    linkageType: ''
    returnType: void
    signature: void filter_ro(const Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::isDone
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: geos::geom::prep::getOutermostLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Location
    signature: Location getOutermostLocation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:125,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:126,1
    - Dst: OutermostLocationFilter::getOutermostLocation
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: geos::geom::prep::PreparedPolygonPredicate::getOutermostTestComponentLocation
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - OutermostLocationFilter::getOutermostLocation
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: Location
    signature: Location PreparedPolygonPredicate::getOutermostTestComponentLocation(const
      geom::Geometry* testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:135,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAllTestComponentsInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAllTestComponentsInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:145,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTarget
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTarget(\n    const
      geom::Geometry* testGeom) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPointLocator
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:155,1
    - Dst: geom::Geometry*::apply_ro
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTestComponentInTargetInterior
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - getPointLocator
    - geom::Geometry*::apply_ro
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTestComponentInTargetInterior(\n
      \   const geom::Geometry* testGeom) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - testGeom
    - targetRepPts
    argTypes:
    - geom::Geometry*
    - std::vector<const CoordinateXY*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: geos::geom::prep::PreparedPolygonPredicate::isAnyTargetComponentInAreaTest
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonPredicate.cpp
    functionUses: 0
    functionsReached:
    - algorithm::locate::SimplePointInAreaLocator::locate
    linkageType: ''
    returnType: bool
    signature: "bool PreparedPolygonPredicate::isAnyTargetComponentInAreaTest(\n    const
      geom::Geometry* testGeom,\n    const std::vector<const CoordinateXY*>* targetRepPts)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 1
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 1
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 2
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 2
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 3
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 3
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 4
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 4
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 5
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 5
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 6
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 6
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::util::ComponentCoordinateExtracter::getCoordinates
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: geos::geom::prep::BasicPreparedGeometry::setGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 7
    functionsReached:
    - geos::geom::util::ComponentCoordinateExtracter::getCoordinates
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::setGeometry(const geom::Geometry* geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:47,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:48,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:52,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopesIntersect
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopesIntersect(const geom::Geometry*
      g) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geom::Geometry*::getGeometryTypeId
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:61,1
    - Dst: geom::Geometry*::getCoordinate
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:62,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:66,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    - Dst: geom::Geometry*::getEnvelopeInternal
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: geos::geom::prep::BasicPreparedGeometry::envelopeCovers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geom::Geometry*::getEnvelopeInternal
    - geom::Geometry*::getCoordinate
    - geom::Geometry*::getGeometryTypeId
    - getEnvelopeInternal
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::envelopeCovers(const geom::Geometry* g)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::setGeometry
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::setGeometry
    linkageType: ''
    returnType: void
    signature: void BasicPreparedGeometry::BasicPreparedGeometry(const Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::PointLocator::intersects
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - testGeom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - algorithm::PointLocator::intersects
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isAnyTargetComponentInTest(const geom::Geometry*
      testGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::geom::prep::BasicPreparedGeometry::within
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::within(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: geos::geom::prep::BasicPreparedGeometry::contains
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::contains(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: geos::geom::prep::BasicPreparedGeometry::containsProperly
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::containsProperly(const geom::Geometry*
      g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: geos::geom::prep::BasicPreparedGeometry::coveredBy
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::coveredBy(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: geos::geom::prep::BasicPreparedGeometry::covers
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::covers(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geom::prep::BasicPreparedGeometry::crosses
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::crosses(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: geos::geom::prep::BasicPreparedGeometry::disjoint
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::disjoint(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: geos::geom::prep::BasicPreparedGeometry::intersects
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::intersects(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: geos::geom::prep::BasicPreparedGeometry::overlaps
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: "bool BasicPreparedGeometry::overlaps(const geom::Geometry* g)\tconst"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: geos::geom::prep::BasicPreparedGeometry::touches
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::touches(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - ' pat'
    argTypes:
    - geom::Geometry*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::relate(const geom::Geometry* g, const std::string&
      pat) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRelateNG
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: geos::geom::prep::BasicPreparedGeometry::relate
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - getRelateNG
    linkageType: ''
    returnType: std::unique_ptr<IntersectionMatrix>
    signature: std::unique_ptr<IntersectionMatrix> BasicPreparedGeometry::relate(const
      geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation::distance::DistanceOp::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: geos::geom::prep::BasicPreparedGeometry::nearestPoints
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 7
    functionsReached:
    - operation::distance::DistanceOp::nearestPoints
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> BasicPreparedGeometry::nearestPoints(const
      geom::Geometry* g) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::nearestPoints
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:176,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    - Dst: std::unique_ptr::getAt
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: geos::geom::prep::BasicPreparedGeometry::distance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::nearestPoints
    - std::unique_ptr::getAt
    linkageType: ''
    returnType: double
    signature: double BasicPreparedGeometry::distance(const geom::Geometry* g) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - dist
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::isWithinDistance
    linkageType: ''
    returnType: bool
    signature: bool BasicPreparedGeometry::isWithinDistance(const geom::Geometry*
      g, double dist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::prep::BasicPreparedGeometry::toString
      Src: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::geom::prep::BasicPreparedGeometry::toString
    functionSourceFile: /src/geos/src/geom/prep/BasicPreparedGeometry.cpp
    functionUses: 8
    functionsReached:
    - geos::geom::prep::BasicPreparedGeometry::toString
    linkageType: ''
    returnType: std::string
    signature: std::string BasicPreparedGeometry::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_prepPoly
    argTypes:
    - PreparedPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::geom::prep::PreparedPolygonContains::PreparedPolygonContains
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreparedPolygonContains::PreparedPolygonContains(const PreparedPolygon*
      const p_prepPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getGeometry
      Src: /src/geos/src/geom/prep/PreparedPolygonContains.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: geos::geom::prep::PreparedPolygonContains::fullTopologicalPredicate
    functionSourceFile: /src/geos/src/geom/prep/PreparedPolygonContains.cpp
    functionUses: 0
    functionsReached:
    - getGeometry
    linkageType: ''
    returnType: bool
    signature: bool PreparedPolygonContains::fullTopologicalPredicate(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/math/DD.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::math::DD::isNaN
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: bool
    signature: bool DD::isNaN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::math::DD::isNegative
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isNegative() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::math::DD::isPositive
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isPositive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: geos::math::DD::isZero
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::math::DD::doubleValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DD::doubleValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: geos::math::DD::intValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::intValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 1
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(const DD &y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: operator+(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: operator+(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_hi
    - p_lo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double p_hi, double p_lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: operator-(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: operator-(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 1
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(DD const &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: operator*(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: operator*(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 1
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: operator/(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: operator/(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, double rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: geos::math::DD::negate
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::negate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: geos::math::DD::reciprocal
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::reciprocal() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:271,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:272,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: geos::math::DD::floor
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 1
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::floor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:287,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:288,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: geos::math::DD::ceil
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 1
    functionsReached:
    - geos::math::DD::ceil
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::ceil() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: geos::math::DD::signum
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::signum() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:312,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: geos::math::DD::rint
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::rint() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:320,1
    - Dst: DD::isPositive
      Src: /src/geos/src/math/DD.cpp:321,1
    - Dst: DD::floor
      Src: /src/geos/src/math/DD.cpp:322,1
    - Dst: DD::ceil
      Src: /src/geos/src/math/DD.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: geos::math::DD::trunc
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD::floor
    - DD::ceil
    - DD::isNaN
    - DD::isPositive
    linkageType: ''
    returnType: DD
    signature: DD DD::trunc(const DD &d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:330,1
    - Dst: DD::isNegative
      Src: /src/geos/src/math/DD.cpp:331,1
    - Dst: DD::negate
      Src: /src/geos/src/math/DD.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: geos::math::DD::abs
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD::negate
    - DD::isNaN
    - DD::isNegative
    linkageType: ''
    returnType: DD
    signature: DD DD::abs(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(const DD &x1, const DD &y1, const DD &x2, const
      DD &y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached:
    - geos::math::DD::determinant
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(double x1, double y1, double x2, double y2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:357,1
    - Dst: geos::math::DD::abs
      Src: /src/geos/src/math/DD.cpp:361,1
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:367,1
    - Dst: DD::reciprocal
      Src: /src/geos/src/math/DD.cpp:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - d
    - exp
    argTypes:
    - DD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: geos::math::DD::pow
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD
    - DD::selfMultiply
    - geos::math::DD::abs
    - DD::reciprocal
    linkageType: ''
    returnType: DD
    signature: DD DD::pow(const DD &d, int exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/math/DD.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::math::DD::isNaN
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 3
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: bool
    signature: bool DD::isNaN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::math::DD::isNegative
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isNegative() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::math::DD::isPositive
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isPositive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: geos::math::DD::isZero
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::math::DD::doubleValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DD::doubleValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: geos::math::DD::intValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::intValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(const DD &y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: operator+(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: operator+(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_hi
    - p_lo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double p_hi, double p_lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: operator-(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: operator-(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 3
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(DD const &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 4
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: operator*(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: operator*(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 3
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 4
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: operator/(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: operator/(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, double rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: geos::math::DD::negate
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::negate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: geos::math::DD::reciprocal
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::reciprocal() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:271,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:272,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: geos::math::DD::floor
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 3
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::floor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:287,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:288,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: geos::math::DD::ceil
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - geos::math::DD::ceil
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::ceil() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: geos::math::DD::signum
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::signum() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:312,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: geos::math::DD::rint
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::rint() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:320,1
    - Dst: DD::isPositive
      Src: /src/geos/src/math/DD.cpp:321,1
    - Dst: DD::floor
      Src: /src/geos/src/math/DD.cpp:322,1
    - Dst: DD::ceil
      Src: /src/geos/src/math/DD.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: geos::math::DD::trunc
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD::floor
    - DD::ceil
    - DD::isNaN
    - DD::isPositive
    linkageType: ''
    returnType: DD
    signature: DD DD::trunc(const DD &d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:330,1
    - Dst: DD::isNegative
      Src: /src/geos/src/math/DD.cpp:331,1
    - Dst: DD::negate
      Src: /src/geos/src/math/DD.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: geos::math::DD::abs
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 3
    functionsReached:
    - DD::negate
    - DD::isNaN
    - DD::isNegative
    linkageType: ''
    returnType: DD
    signature: DD DD::abs(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(const DD &x1, const DD &y1, const DD &x2, const
      DD &y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 6
    functionsReached:
    - geos::math::DD::determinant
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(double x1, double y1, double x2, double y2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:357,1
    - Dst: geos::math::DD::abs
      Src: /src/geos/src/math/DD.cpp:361,1
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:367,1
    - Dst: DD::reciprocal
      Src: /src/geos/src/math/DD.cpp:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - d
    - exp
    argTypes:
    - DD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: geos::math::DD::pow
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD
    - DD::selfMultiply
    - geos::math::DD::abs
    - DD::reciprocal
    linkageType: ''
    returnType: DD
    signature: DD DD::pow(const DD &d, int exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/math/DD.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::math::DD::isNaN
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 6
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: bool
    signature: bool DD::isNaN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::math::DD::isNegative
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isNegative() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::math::DD::isPositive
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isPositive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: geos::math::DD::isZero
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::math::DD::doubleValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DD::doubleValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: geos::math::DD::intValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::intValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 9
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(const DD &y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: operator+(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: operator+(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_hi
    - p_lo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double p_hi, double p_lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: operator-(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: operator-(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(DD const &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 6
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: operator*(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: operator*(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 6
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: operator/(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: operator/(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, double rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: geos::math::DD::negate
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::negate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: geos::math::DD::reciprocal
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::reciprocal() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:271,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:272,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: geos::math::DD::floor
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::floor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:287,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:288,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: geos::math::DD::ceil
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 3
    functionsReached:
    - geos::math::DD::ceil
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::ceil() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: geos::math::DD::signum
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::signum() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:312,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: geos::math::DD::rint
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::rint() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:320,1
    - Dst: DD::isPositive
      Src: /src/geos/src/math/DD.cpp:321,1
    - Dst: DD::floor
      Src: /src/geos/src/math/DD.cpp:322,1
    - Dst: DD::ceil
      Src: /src/geos/src/math/DD.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: geos::math::DD::trunc
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD::floor
    - DD::ceil
    - DD::isNaN
    - DD::isPositive
    linkageType: ''
    returnType: DD
    signature: DD DD::trunc(const DD &d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:330,1
    - Dst: DD::isNegative
      Src: /src/geos/src/math/DD.cpp:331,1
    - Dst: DD::negate
      Src: /src/geos/src/math/DD.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: geos::math::DD::abs
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 4
    functionsReached:
    - DD::negate
    - DD::isNaN
    - DD::isNegative
    linkageType: ''
    returnType: DD
    signature: DD DD::abs(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(const DD &x1, const DD &y1, const DD &x2, const
      DD &y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 7
    functionsReached:
    - geos::math::DD::determinant
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(double x1, double y1, double x2, double y2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:357,1
    - Dst: geos::math::DD::abs
      Src: /src/geos/src/math/DD.cpp:361,1
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:367,1
    - Dst: DD::reciprocal
      Src: /src/geos/src/math/DD.cpp:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - d
    - exp
    argTypes:
    - DD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: geos::math::DD::pow
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD
    - DD::selfMultiply
    - geos::math::DD::abs
    - DD::reciprocal
    linkageType: ''
    returnType: DD
    signature: DD DD::pow(const DD &d, int exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/math/DD.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: geos::math::DD::isNaN
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 9
    functionsReached:
    - std::isnan
    linkageType: ''
    returnType: bool
    signature: bool DD::isNaN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geos::math::DD::isNegative
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isNegative() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: geos::math::DD::isPositive
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isPositive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: geos::math::DD::isZero
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DD::isZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: geos::math::DD::doubleValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DD::doubleValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: geos::math::DD::intValue
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::intValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 13
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(const DD &y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: geos::math::DD::selfAdd
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfAdd(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: operator+(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: operator+(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfAdd
    linkageType: ''
    returnType: DD
    signature: DD operator+(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_hi
    - p_lo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double p_hi, double p_lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfAdd
      Src: /src/geos/src/math/DD.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: geos::math::DD::selfSubtract
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::selfAdd
    linkageType: ''
    returnType: void
    signature: void DD::selfSubtract(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: operator-(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfSubtract
      Src: /src/geos/src/math/DD.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: operator-(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfSubtract
    linkageType: ''
    returnType: DD
    signature: DD operator-(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 7
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(DD const &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: geos::math::DD::selfMultiply
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 8
    functionsReached:
    - geos::math::DD::selfMultiply
    linkageType: ''
    returnType: void
    signature: void DD::selfMultiply(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: operator*(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: operator*(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfMultiply
    linkageType: ''
    returnType: DD
    signature: DD operator*(const DD &lhs, double rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - yhi
    - ylo
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double yhi, double ylo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 7
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: geos::math::DD::selfDivide
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 8
    functionsReached:
    - geos::math::DD::selfDivide
    linkageType: ''
    returnType: void
    signature: void DD::selfDivide(double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: operator/(const DD &lhs, const DD &rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, const DD &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD::selfDivide
      Src: /src/geos/src/math/DD.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - DD
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: operator/(const DD &lhs, double rhs)
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::selfDivide
    linkageType: ''
    returnType: DD
    signature: DD operator/(const DD &lhs, double rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: geos::math::DD::negate
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::negate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: geos::math::DD::reciprocal
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::reciprocal() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:271,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:272,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: geos::math::DD::floor
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 7
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::floor() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:287,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:288,1
    - Dst: geos::math::DD::ceil
      Src: /src/geos/src/math/DD.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: geos::math::DD::ceil
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 4
    functionsReached:
    - geos::math::DD::ceil
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::ceil() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: geos::math::DD::signum
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DD::signum() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::isNaN
      Src: /src/geos/src/math/DD.cpp:312,1
    - Dst: geos::math::DD::floor
      Src: /src/geos/src/math/DD.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: geos::math::DD::rint
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 0
    functionsReached:
    - geos::math::DD::floor
    - geos::math::DD::isNaN
    linkageType: ''
    returnType: DD
    signature: DD DD::rint() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:320,1
    - Dst: DD::isPositive
      Src: /src/geos/src/math/DD.cpp:321,1
    - Dst: DD::floor
      Src: /src/geos/src/math/DD.cpp:322,1
    - Dst: DD::ceil
      Src: /src/geos/src/math/DD.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: geos::math::DD::trunc
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD::floor
    - DD::ceil
    - DD::isNaN
    - DD::isPositive
    linkageType: ''
    returnType: DD
    signature: DD DD::trunc(const DD &d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DD::isNaN
      Src: /src/geos/src/math/DD.cpp:330,1
    - Dst: DD::isNegative
      Src: /src/geos/src/math/DD.cpp:331,1
    - Dst: DD::negate
      Src: /src/geos/src/math/DD.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: geos::math::DD::abs
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 5
    functionsReached:
    - DD::negate
    - DD::isNaN
    - DD::isNegative
    linkageType: ''
    returnType: DD
    signature: DD DD::abs(const DD &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - DD
    - DD
    - DD
    - DD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(const DD &x1, const DD &y1, const DD &x2, const
      DD &y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::math::DD::determinant
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: geos::math::DD::determinant
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 8
    functionsReached:
    - geos::math::DD::determinant
    - DD
    linkageType: ''
    returnType: DD
    signature: DD DD::determinant(double x1, double y1, double x2, double y2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DD
      Src: /src/geos/src/math/DD.cpp:357,1
    - Dst: geos::math::DD::abs
      Src: /src/geos/src/math/DD.cpp:361,1
    - Dst: DD::selfMultiply
      Src: /src/geos/src/math/DD.cpp:367,1
    - Dst: DD::reciprocal
      Src: /src/geos/src/math/DD.cpp:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - d
    - exp
    argTypes:
    - DD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: geos::math::DD::pow
    functionSourceFile: /src/geos/src/math/DD.cpp
    functionUses: 2
    functionsReached:
    - DD
    - DD::selfMultiply
    - geos::math::DD::abs
    - DD::reciprocal
    linkageType: ''
    returnType: DD
    signature: DD DD::pow(const DD &d, int exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - mul
    - j
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: mulShift
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulShift(const uint64_t m, const uint64_t* const mul, const
      int32_t j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mulShift
      Src: /src/geos/src/deps/ryu/d2s.c:118,1
    - Dst: mulShift
      Src: /src/geos/src/deps/ryu/d2s.c:119,1
    - Dst: mulShift
      Src: /src/geos/src/deps/ryu/d2s.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - m
    - mul
    - j
    - vp
    - vm
    - mmShift
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    - uint64_t*
    - uint64_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: mulShiftAll
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - mulShift
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t mulShiftAll(const uint64_t m, const uint64_t* const mul,
      const int32_t j,\n  uint64_t* const vp, uint64_t* const vm, const uint32_t mmShift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umul128
      Src: /src/geos/src/deps/ryu/d2s.c:128,1
    - Dst: umul128
      Src: /src/geos/src/deps/ryu/d2s.c:130,1
    - Dst: shiftright128
      Src: /src/geos/src/deps/ryu/d2s.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - m
    - mul
    - j
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: mulShift
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 1
    functionsReached:
    - shiftright128
    - umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulShift(const uint64_t m, const uint64_t* const mul, const
      int32_t j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mulShift
      Src: /src/geos/src/deps/ryu/d2s.c:140,1
    - Dst: mulShift
      Src: /src/geos/src/deps/ryu/d2s.c:141,1
    - Dst: mulShift
      Src: /src/geos/src/deps/ryu/d2s.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - m
    - mul
    - j
    - vp
    - vm
    - mmShift
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    - uint64_t*
    - uint64_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: mulShiftAll
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - mulShift
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t mulShiftAll(const uint64_t m, const uint64_t* const mul,
      const int32_t j,\n  uint64_t* const vp, uint64_t* const vm, const uint32_t mmShift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umul128
      Src: /src/geos/src/deps/ryu/d2s.c:152,1
    - Dst: umul128
      Src: /src/geos/src/deps/ryu/d2s.c:154,1
    - Dst: shiftright128
      Src: /src/geos/src/deps/ryu/d2s.c:160,1
    - Dst: shiftright128
      Src: /src/geos/src/deps/ryu/d2s.c:166,1
    - Dst: shiftright128
      Src: /src/geos/src/deps/ryu/d2s.c:174,1
    - Dst: shiftright128
      Src: /src/geos/src/deps/ryu/d2s.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - m
    - mul
    - j
    - vp
    - vm
    - mmShift
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    - uint64_t*
    - uint64_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 178
    functionName: mulShiftAll
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - shiftright128
    - umul128
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t mulShiftAll(uint64_t m, const uint64_t* const mul, const
      int32_t j,\n  uint64_t* const vp, uint64_t* const vm, const uint32_t mmShift)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s.c:187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (v < 100000000000000000L)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/geos/src/deps/ryu/d2s.c
    constantsTouched: []
    func_position:
      end: 205
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 205
    functionName: decimalLength17
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decimalLength17(const uint64_t v)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:230,1
    - Dst: log10Pow2
      Src: /src/geos/src/deps/ryu/d2s.c:249,1
    - Dst: pow5bits
      Src: /src/geos/src/deps/ryu/d2s.c:251,1
    - Dst: double_computeInvPow5
      Src: /src/geos/src/deps/ryu/d2s.c:255,1
    - Dst: mulShiftAll
      Src: /src/geos/src/deps/ryu/d2s.c:256,1
    - Dst: mulShiftAll
      Src: /src/geos/src/deps/ryu/d2s.c:258,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:261,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:262,1
    - Dst: div5
      Src: /src/geos/src/deps/ryu/d2s.c:268,1
    - Dst: multipleOfPowerOf5
      Src: /src/geos/src/deps/ryu/d2s.c:270,1
    - Dst: multipleOfPowerOf5
      Src: /src/geos/src/deps/ryu/d2s.c:275,1
    - Dst: multipleOfPowerOf5
      Src: /src/geos/src/deps/ryu/d2s.c:278,1
    - Dst: log10Pow5
      Src: /src/geos/src/deps/ryu/d2s.c:283,1
    - Dst: pow5bits
      Src: /src/geos/src/deps/ryu/d2s.c:286,1
    - Dst: double_computePow5
      Src: /src/geos/src/deps/ryu/d2s.c:290,1
    - Dst: mulShiftAll
      Src: /src/geos/src/deps/ryu/d2s.c:291,1
    - Dst: mulShiftAll
      Src: /src/geos/src/deps/ryu/d2s.c:293,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:296,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:297,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:298,1
    - Dst: multipleOfPowerOf2
      Src: /src/geos/src/deps/ryu/d2s.c:316,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:318,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:323,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:324,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:325,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:326,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:337,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:338,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:343,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:354,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:355,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:359,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:364,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:365,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:376,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:377,1
    - Dst: div100
      Src: /src/geos/src/deps/ryu/d2s.c:388,1
    - Dst: div100
      Src: /src/geos/src/deps/ryu/d2s.c:389,1
    - Dst: div100
      Src: /src/geos/src/deps/ryu/d2s.c:391,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:404,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:405,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:409,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:418,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:419,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:427,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:428,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:429,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 113
    argCount: 2
    argNames:
    - ieeeMantissa
    - ieeeExponent
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 436
    functionName: d2d
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - pow5bits
    - double_computePow5
    - div10
    - multipleOfPowerOf2
    - printf
    - log10Pow2
    - mulShiftAll
    - double_computeInvPow5
    - multipleOfPowerOf5
    - div100
    - log10Pow5
    - div5
    linkageType: ''
    returnType: floating_decimal_64
    signature: floating_decimal_64 d2d(const uint64_t ieeeMantissa, const uint32_t
      ieeeExponent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s.c:464,1
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exp
    argTypes:
    - int32_t
    assertStmts:
    - condition: (exp <= 17)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/geos/src/deps/ryu/d2s.c
    - condition: (exp >= 0)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/geos/src/deps/ryu/d2s.c
    constantsTouched: []
    func_position:
      end: 467
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 467
    functionName: pow_10
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t pow_10(const int32_t exp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: div1e8
      Src: /src/geos/src/deps/ryu/d2s.c:479,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:490,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:491,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:492,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:493,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:508,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:509,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:521,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - output
    - olength
    - result
    argTypes:
    - uint64_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 535
    functionName: to_chars_uint64
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - div1e8
    - memcpy
    linkageType: ''
    returnType: int
    signature: int to_chars_uint64(uint64_t output, uint32_t olength, char* const
      result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: decimalLength17
      Src: /src/geos/src/deps/ryu/d2s.c:540,1
    - Dst: pow_10
      Src: /src/geos/src/deps/ryu/d2s.c:569,1
    - Dst: decimalLength17
      Src: /src/geos/src/deps/ryu/d2s.c:580,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:589,1
    - Dst: pow_10
      Src: /src/geos/src/deps/ryu/d2s.c:606,1
    - Dst: pow_10
      Src: /src/geos/src/deps/ryu/d2s.c:611,1
    - Dst: decimalLength17
      Src: /src/geos/src/deps/ryu/d2s.c:614,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:628,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:629,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:630,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:631,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:632,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:633,1
    - Dst: to_chars_uint64
      Src: /src/geos/src/deps/ryu/d2s.c:643,1
    - Dst: to_chars_uint64
      Src: /src/geos/src/deps/ryu/d2s.c:652,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 4
    argNames:
    - v
    - sign
    - precision
    - result
    argTypes:
    - floating_decimal_64
    - bool
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 656
    functionName: to_chars_fixed
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - pow_10
    - div10
    - printf
    - to_chars_uint64
    - decimalLength17
    linkageType: ''
    returnType: int
    signature: int to_chars_fixed(const floating_decimal_64 v, const bool sign, uint32_t
      precision, char* const result)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ieeeMantissa
    - ieeeExponent
    - v
    argTypes:
    - uint64_t
    - uint32_t
    - floating_decimal_64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 688
    functionName: d2d_small_int
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool d2d_small_int(const uint64_t ieeeMantissa, const uint32_t ieeeExponent,\n
      \ floating_decimal_64* const v)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: double_to_bits
      Src: /src/geos/src/deps/ryu/d2s.c:692,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:695,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:697,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:699,1
    - Dst: copy_special_str
      Src: /src/geos/src/deps/ryu/d2s.c:708,1
    - Dst: d2d_small_int
      Src: /src/geos/src/deps/ryu/d2s.c:712,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:719,1
    - Dst: d2d
      Src: /src/geos/src/deps/ryu/d2s.c:728,1
    - Dst: to_chars_fixed
      Src: /src/geos/src/deps/ryu/d2s.c:731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - f
    - precision
    - result
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 732
    functionName: geos_d2sfixed_buffered_n
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 4
    functionsReached:
    - div10
    - d2d
    - printf
    - to_chars_fixed
    - copy_special_str
    - d2d_small_int
    - double_to_bits
    linkageType: ''
    returnType: int
    signature: int geos_d2sfixed_buffered_n(double f, uint32_t precision, char* result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: double_to_bits
      Src: /src/geos/src/deps/ryu/d2s.c:736,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:739,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:741,1
    - Dst: printf
      Src: /src/geos/src/deps/ryu/d2s.c:743,1
    - Dst: copy_special_str
      Src: /src/geos/src/deps/ryu/d2s.c:752,1
    - Dst: d2d_small_int
      Src: /src/geos/src/deps/ryu/d2s.c:756,1
    - Dst: div10
      Src: /src/geos/src/deps/ryu/d2s.c:763,1
    - Dst: d2d
      Src: /src/geos/src/deps/ryu/d2s.c:772,1
    - Dst: decimalLength17
      Src: /src/geos/src/deps/ryu/d2s.c:776,1
    - Dst: to_chars_fixed
      Src: /src/geos/src/deps/ryu/d2s.c:779,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:795,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/d2s.c:799,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - f
    - precision
    - result
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 806
    functionName: geos_d2sexp_buffered_n
    functionSourceFile: /src/geos/src/deps/ryu/d2s.c
    functionUses: 4
    functionsReached:
    - div10
    - d2d
    - printf
    - to_chars_fixed
    - memcpy
    - copy_special_str
    - d2d_small_int
    - double_to_bits
    - decimalLength17
    linkageType: ''
    returnType: int
    signature: int geos_d2sexp_buffered_n(double f, uint32_t precision, char* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _umul128
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - productHi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: umul128
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached:
    - _umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t umul128(const uint64_t a, const uint64_t b, uint64_t* const
      productHi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:55,1
    - Dst: __shiftright128
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lo
    - hi
    - dist
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts:
    - condition: (dist < 64)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: shiftright128
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached:
    - assert
    - __shiftright128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t shiftright128(const uint64_t lo, const uint64_t hi, const
      uint32_t dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - productHi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: umul128
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t umul128(const uint64_t a, const uint64_t b, uint64_t* const
      productHi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:93,1
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:95,1
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - lo
    - hi
    - dist
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts:
    - condition: (dist < 64)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/geos/src/deps/ryu/d2s_intrinsics.h
    - condition: (dist > 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/geos/src/deps/ryu/d2s_intrinsics.h
    - condition: (dist >= 32)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: shiftright128
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t shiftright128(const uint64_t lo, const uint64_t hi, const
      uint32_t dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul128
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: umulh
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t umulh(const uint64_t a, const uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: div5
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div5(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: div10
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 4
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div10(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: div100
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div100(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: div1e8
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e8(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: div1e9
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e9(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: div1e9
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: mod1e9
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - div1e9
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mod1e9(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: div5
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div5(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: div10
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div10(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: div100
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div100(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: div1e8
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e8(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: div1e9
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e9(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: div1e9
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: mod1e9
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - div1e9
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mod1e9(const uint64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:197,1
    - Dst: div5
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (value != 0)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/geos/src/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: pow5Factor
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - assert
    - div5
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pow5Factor(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow5Factor
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - p
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: multipleOfPowerOf5
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - pow5Factor
    linkageType: ''
    returnType: bool
    signature: bool multipleOfPowerOf5(const uint64_t value, const uint32_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/d2s_intrinsics.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - p
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts:
    - condition: (value != 0)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/geos/src/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: multipleOfPowerOf2
    functionSourceFile: /src/geos/src/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool multipleOfPowerOf2(const uint64_t value, const uint32_t p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:33,1
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:34,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (v >= 0)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/geos/src/deps/ryu/common.h
    - condition: (v < 1000000000)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/geos/src/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: decimalLength9
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decimalLength9(const uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:51,1
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts:
    - condition: (e >= 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/geos/src/deps/ryu/common.h
    - condition: (e <= 3528)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/geos/src/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: pow5bits
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t pow5bits(const int32_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow5bits
      Src: /src/geos/src/deps/ryu/common.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ceil_log2pow5
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 0
    functionsReached:
    - pow5bits
    linkageType: ''
    returnType: int32_t
    signature: int32_t ceil_log2pow5(const int32_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:64,1
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts:
    - condition: (e >= 0)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/deps/ryu/common.h
    - condition: (e <= 1650)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: log10Pow2
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t log10Pow2(const int32_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:72,1
    - Dst: assert
      Src: /src/geos/src/deps/ryu/common.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts:
    - condition: (e >= 0)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/geos/src/deps/ryu/common.h
    - condition: (e <= 2620)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: log10Pow5
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t log10Pow5(const int32_t e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/common.h:79,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/common.h:87,1
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/common.h:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - result
    - sign
    - exponent
    - mantissa
    argTypes:
    - char*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: copy_special_str
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int copy_special_str(char * const result, const bool sign, const bool
      exponent, const bool mantissa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/common.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: float_to_bits
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t float_to_bits(const float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/geos/src/deps/ryu/common.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: double_to_bits
    functionSourceFile: /src/geos/src/deps/ryu/common.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t double_to_bits(const double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_geomFact
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::linearref::LinearGeometryBuilder::LinearGeometryBuilder
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::LinearGeometryBuilder(const GeometryFactory*
      p_geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_ignoreInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::linearref::LinearGeometryBuilder::setIgnoreInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setIgnoreInvalidLines(bool p_ignoreInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_fixInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearGeometryBuilder::setFixInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setFixInvalidLines(bool p_fixInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 1
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:74,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt'
    - allowRepeatedPoints
    argTypes:
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 2
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt, bool allowRepeatedPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::linearref::LinearGeometryBuilder::getLastCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearGeometryBuilder::getLastCoordinate() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:97,1
    - Dst: assert
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: isEmpty
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:112,1
    - Dst: createLineString
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:123,1
    - Dst: push_back
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    constantsTouched: []
    func_position:
      end: 132
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 132
    functionName: geos::linearref::LinearGeometryBuilder::endLine
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - size
    - geos::linearref::LinearGeometryBuilder::add
    - push_back
    - reset
    - assert
    - geos::ignore_unused_variable_warning
    - createLineString
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::endLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:139,1
    - Dst: buildGeometry
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: geos::linearref::LinearGeometryBuilder::getGeometry
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - buildGeometry
    - geos::linearref::LinearGeometryBuilder::endLine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LinearGeometryBuilder::getGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: LinearGeometryBuilder::~LinearGeometryBuilder()
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::~LinearGeometryBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_geomFact
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::linearref::LinearGeometryBuilder::LinearGeometryBuilder
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::LinearGeometryBuilder(const GeometryFactory*
      p_geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_ignoreInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::linearref::LinearGeometryBuilder::setIgnoreInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setIgnoreInvalidLines(bool p_ignoreInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_fixInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearGeometryBuilder::setFixInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setFixInvalidLines(bool p_fixInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 4
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:74,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt'
    - allowRepeatedPoints
    argTypes:
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 5
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt, bool allowRepeatedPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::linearref::LinearGeometryBuilder::getLastCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearGeometryBuilder::getLastCoordinate() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:97,1
    - Dst: assert
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: isEmpty
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:112,1
    - Dst: createLineString
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:123,1
    - Dst: push_back
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    constantsTouched: []
    func_position:
      end: 132
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 132
    functionName: geos::linearref::LinearGeometryBuilder::endLine
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - size
    - geos::linearref::LinearGeometryBuilder::add
    - push_back
    - reset
    - assert
    - geos::ignore_unused_variable_warning
    - createLineString
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::endLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:139,1
    - Dst: buildGeometry
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: geos::linearref::LinearGeometryBuilder::getGeometry
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - buildGeometry
    - geos::linearref::LinearGeometryBuilder::endLine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LinearGeometryBuilder::getGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: LinearGeometryBuilder::~LinearGeometryBuilder()
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::~LinearGeometryBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_geomFact
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::linearref::LinearGeometryBuilder::LinearGeometryBuilder
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::LinearGeometryBuilder(const GeometryFactory*
      p_geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_ignoreInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::linearref::LinearGeometryBuilder::setIgnoreInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setIgnoreInvalidLines(bool p_ignoreInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_fixInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearGeometryBuilder::setFixInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setFixInvalidLines(bool p_fixInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 7
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:74,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt'
    - allowRepeatedPoints
    argTypes:
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 8
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt, bool allowRepeatedPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::linearref::LinearGeometryBuilder::getLastCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearGeometryBuilder::getLastCoordinate() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:97,1
    - Dst: assert
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: isEmpty
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:112,1
    - Dst: createLineString
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:123,1
    - Dst: push_back
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    constantsTouched: []
    func_position:
      end: 132
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 132
    functionName: geos::linearref::LinearGeometryBuilder::endLine
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - size
    - geos::linearref::LinearGeometryBuilder::add
    - push_back
    - reset
    - assert
    - geos::ignore_unused_variable_warning
    - createLineString
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::endLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:139,1
    - Dst: buildGeometry
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: geos::linearref::LinearGeometryBuilder::getGeometry
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - buildGeometry
    - geos::linearref::LinearGeometryBuilder::endLine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LinearGeometryBuilder::getGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: LinearGeometryBuilder::~LinearGeometryBuilder()
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::~LinearGeometryBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_geomFact
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: geos::linearref::LinearGeometryBuilder::LinearGeometryBuilder
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::LinearGeometryBuilder(const GeometryFactory*
      p_geomFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_ignoreInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::linearref::LinearGeometryBuilder::setIgnoreInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setIgnoreInvalidLines(bool p_ignoreInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_fixInvalidLines
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearGeometryBuilder::setFixInvalidLines
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::setFixInvalidLines(bool p_fixInvalidLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 10
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:74,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt'
    - allowRepeatedPoints
    argTypes:
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: geos::linearref::LinearGeometryBuilder::add
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 11
    functionsReached:
    - geos::linearref::LinearGeometryBuilder::add
    - detail::make_unique<CoordinateSequence>
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::add(const Coordinate& pt, bool allowRepeatedPoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: geos::linearref::LinearGeometryBuilder::getLastCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearGeometryBuilder::getLastCoordinate() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:94,1
    - Dst: reset
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:97,1
    - Dst: assert
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: isEmpty
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:102,1
    - Dst: geos::linearref::LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:112,1
    - Dst: createLineString
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:118,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:123,1
    - Dst: push_back
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    constantsTouched: []
    func_position:
      end: 132
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 132
    functionName: geos::linearref::LinearGeometryBuilder::endLine
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - size
    - geos::linearref::LinearGeometryBuilder::add
    - push_back
    - reset
    - assert
    - geos::ignore_unused_variable_warning
    - createLineString
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::endLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:139,1
    - Dst: buildGeometry
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    - Dst: std::move
      Src: /src/geos/src/linearref/LinearGeometryBuilder.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: geos::linearref::LinearGeometryBuilder::getGeometry
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - buildGeometry
    - geos::linearref::LinearGeometryBuilder::endLine
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LinearGeometryBuilder::getGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: LinearGeometryBuilder::~LinearGeometryBuilder()
    functionSourceFile: /src/geos/src/linearref/LinearGeometryBuilder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearGeometryBuilder::~LinearGeometryBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line
    - ' start'
    - ' end'
    argTypes:
    - Geometry*
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const Geometry*
      line, const LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_line
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: geos::linearref::ExtractLineByLocation::ExtractLineByLocation
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtractLineByLocation::ExtractLineByLocation(const Geometry* p_line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:56,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:57,1
    - Dst: geos::linearref::ExtractLineByLocation::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: auto::get
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::ExtractLineByLocation::reverse
    - auto::get
    - geos::linearref::ExtractLineByLocation::computeLinear
    - compareTo
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const LinearLocation&
      start, const LinearLocation& end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:67,1
    - Dst: LineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:69,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:72,1
    - Dst: MultiLineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (!static_cast<bool>("non-linear geometry encountered"))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: geos::linearref::ExtractLineByLocation::reverse
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 1
    functionsReached:
    - LineString*::reverse
    - static_cast<bool>
    - MultiLineString*::reverse
    - dynamic_cast<const LineString*>
    - assert
    - dynamic_cast<const MultiLineString*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::reverse(const Geometry*
      linear)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:86,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:87,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:90,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:92,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:96,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:103,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:106,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:111,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:114,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: CoordinateSequence::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:119,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:128,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:129,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts:
    - condition: (!coordinates->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 133
    functionName: geos::linearref::ExtractLineByLocation::computeLine
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - auto::size
    - CoordinateSequence::add
    - getFactory
    - getCoordinates
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - getSegmentFraction
    - auto::isEmpty
    - CoordinateSequence::isEmpty
    - assert
    - getSegmentIndex
    - isVertex
    - CoordinateSequence::size
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> ExtractLineByLocation::computeLine(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:138,1
    - Dst: LinearGeometryBuilder::setFixInvalidLines
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:139,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:141,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: compareLocationValues
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:149,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:150,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:151,1
    - Dst: LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:152,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:155,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    - Dst: LinearGeometryBuilder::getGeometry
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: geos::linearref::ExtractLineByLocation::computeLinear
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 1
    functionsReached:
    - LinearIterator::next
    - getFactory
    - LinearIterator::isEndOfLine
    - LinearGeometryBuilder::getGeometry
    - getCoordinate
    - LinearIterator::getVertexIndex
    - compareLocationValues
    - std::unique_ptr<Geometry>
    - LinearGeometryBuilder::setFixInvalidLines
    - LinearIterator::getSegmentStart
    - LinearIterator::getComponentIndex
    - LinearGeometryBuilder::endLine
    - LinearIterator::hasNext
    - isVertex
    - LinearGeometryBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::computeLinear(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line
    - ' start'
    - ' end'
    argTypes:
    - Geometry*
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const Geometry*
      line, const LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_line
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: geos::linearref::ExtractLineByLocation::ExtractLineByLocation
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtractLineByLocation::ExtractLineByLocation(const Geometry* p_line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:56,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:57,1
    - Dst: geos::linearref::ExtractLineByLocation::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: auto::get
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::ExtractLineByLocation::reverse
    - auto::get
    - geos::linearref::ExtractLineByLocation::computeLinear
    - compareTo
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const LinearLocation&
      start, const LinearLocation& end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:67,1
    - Dst: LineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:69,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:72,1
    - Dst: MultiLineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (!static_cast<bool>("non-linear geometry encountered"))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: geos::linearref::ExtractLineByLocation::reverse
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 2
    functionsReached:
    - LineString*::reverse
    - static_cast<bool>
    - MultiLineString*::reverse
    - dynamic_cast<const LineString*>
    - assert
    - dynamic_cast<const MultiLineString*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::reverse(const Geometry*
      linear)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:86,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:87,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:90,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:92,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:96,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:103,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:106,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:111,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:114,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: CoordinateSequence::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:119,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:128,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:129,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts:
    - condition: (!coordinates->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 133
    functionName: geos::linearref::ExtractLineByLocation::computeLine
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - auto::size
    - CoordinateSequence::add
    - getFactory
    - getCoordinates
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - getSegmentFraction
    - auto::isEmpty
    - CoordinateSequence::isEmpty
    - assert
    - getSegmentIndex
    - isVertex
    - CoordinateSequence::size
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> ExtractLineByLocation::computeLine(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:138,1
    - Dst: LinearGeometryBuilder::setFixInvalidLines
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:139,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:141,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: compareLocationValues
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:149,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:150,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:151,1
    - Dst: LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:152,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:155,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    - Dst: LinearGeometryBuilder::getGeometry
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: geos::linearref::ExtractLineByLocation::computeLinear
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 2
    functionsReached:
    - LinearIterator::next
    - getFactory
    - LinearIterator::isEndOfLine
    - LinearGeometryBuilder::getGeometry
    - getCoordinate
    - LinearIterator::getVertexIndex
    - compareLocationValues
    - std::unique_ptr<Geometry>
    - LinearGeometryBuilder::setFixInvalidLines
    - LinearIterator::getSegmentStart
    - LinearIterator::getComponentIndex
    - LinearGeometryBuilder::endLine
    - LinearIterator::hasNext
    - isVertex
    - LinearGeometryBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::computeLinear(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line
    - ' start'
    - ' end'
    argTypes:
    - Geometry*
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const Geometry*
      line, const LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_line
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: geos::linearref::ExtractLineByLocation::ExtractLineByLocation
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtractLineByLocation::ExtractLineByLocation(const Geometry* p_line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:56,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:57,1
    - Dst: geos::linearref::ExtractLineByLocation::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: auto::get
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::ExtractLineByLocation::reverse
    - auto::get
    - geos::linearref::ExtractLineByLocation::computeLinear
    - compareTo
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const LinearLocation&
      start, const LinearLocation& end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:67,1
    - Dst: LineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:69,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:72,1
    - Dst: MultiLineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (!static_cast<bool>("non-linear geometry encountered"))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: geos::linearref::ExtractLineByLocation::reverse
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 3
    functionsReached:
    - LineString*::reverse
    - static_cast<bool>
    - MultiLineString*::reverse
    - dynamic_cast<const LineString*>
    - assert
    - dynamic_cast<const MultiLineString*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::reverse(const Geometry*
      linear)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:86,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:87,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:90,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:92,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:96,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:103,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:106,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:111,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:114,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: CoordinateSequence::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:119,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:128,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:129,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts:
    - condition: (!coordinates->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 133
    functionName: geos::linearref::ExtractLineByLocation::computeLine
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - auto::size
    - CoordinateSequence::add
    - getFactory
    - getCoordinates
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - getSegmentFraction
    - auto::isEmpty
    - CoordinateSequence::isEmpty
    - assert
    - getSegmentIndex
    - isVertex
    - CoordinateSequence::size
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> ExtractLineByLocation::computeLine(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:138,1
    - Dst: LinearGeometryBuilder::setFixInvalidLines
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:139,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:141,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: compareLocationValues
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:149,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:150,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:151,1
    - Dst: LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:152,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:155,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    - Dst: LinearGeometryBuilder::getGeometry
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: geos::linearref::ExtractLineByLocation::computeLinear
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 3
    functionsReached:
    - LinearIterator::next
    - getFactory
    - LinearIterator::isEndOfLine
    - LinearGeometryBuilder::getGeometry
    - getCoordinate
    - LinearIterator::getVertexIndex
    - compareLocationValues
    - std::unique_ptr<Geometry>
    - LinearGeometryBuilder::setFixInvalidLines
    - LinearIterator::getSegmentStart
    - LinearIterator::getComponentIndex
    - LinearGeometryBuilder::endLine
    - LinearIterator::hasNext
    - isVertex
    - LinearGeometryBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::computeLinear(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line
    - ' start'
    - ' end'
    argTypes:
    - Geometry*
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const Geometry*
      line, const LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_line
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: geos::linearref::ExtractLineByLocation::ExtractLineByLocation
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtractLineByLocation::ExtractLineByLocation(const Geometry* p_line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:56,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:57,1
    - Dst: geos::linearref::ExtractLineByLocation::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: auto::get
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:58,1
    - Dst: geos::linearref::ExtractLineByLocation::computeLinear
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: geos::linearref::ExtractLineByLocation::extract
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::ExtractLineByLocation::reverse
    - auto::get
    - geos::linearref::ExtractLineByLocation::computeLinear
    - compareTo
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::extract(const LinearLocation&
      start, const LinearLocation& end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:67,1
    - Dst: LineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:69,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:72,1
    - Dst: MultiLineString*::reverse
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:74,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    - Dst: static_cast<bool>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (!static_cast<bool>("non-linear geometry encountered"))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: geos::linearref::ExtractLineByLocation::reverse
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 4
    functionsReached:
    - LineString*::reverse
    - static_cast<bool>
    - MultiLineString*::reverse
    - dynamic_cast<const LineString*>
    - assert
    - dynamic_cast<const MultiLineString*>
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::reverse(const Geometry*
      linear)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:86,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:87,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:90,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:92,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:96,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:102,1
    - Dst: auto::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:103,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:106,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:107,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:111,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:114,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:115,1
    - Dst: CoordinateSequence::isEmpty
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:119,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:120,1
    - Dst: CoordinateSequence::size
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:128,1
    - Dst: CoordinateSequence::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:129,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts:
    - condition: (!coordinates->isEmpty())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/linearref/ExtractLineByLocation.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 133
    functionName: geos::linearref::ExtractLineByLocation::computeLine
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - auto::size
    - CoordinateSequence::add
    - getFactory
    - getCoordinates
    - getCoordinate
    - CoordinateSequence::CoordinateSequence
    - getSegmentFraction
    - auto::isEmpty
    - CoordinateSequence::isEmpty
    - assert
    - getSegmentIndex
    - isVertex
    - CoordinateSequence::size
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> ExtractLineByLocation::computeLine(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:138,1
    - Dst: LinearGeometryBuilder::setFixInvalidLines
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:139,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:141,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:142,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:145,1
    - Dst: compareLocationValues
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:146,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:149,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:150,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:151,1
    - Dst: LinearGeometryBuilder::endLine
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:152,1
    - Dst: isVertex
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:155,1
    - Dst: LinearGeometryBuilder::add
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: getCoordinate
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:156,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    - Dst: LinearGeometryBuilder::getGeometry
      Src: /src/geos/src/linearref/ExtractLineByLocation.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' start'
    - ' end'
    argTypes:
    - LinearLocation
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: geos::linearref::ExtractLineByLocation::computeLinear
    functionSourceFile: /src/geos/src/linearref/ExtractLineByLocation.cpp
    functionUses: 4
    functionsReached:
    - LinearIterator::next
    - getFactory
    - LinearIterator::isEndOfLine
    - LinearGeometryBuilder::getGeometry
    - getCoordinate
    - LinearIterator::getVertexIndex
    - compareLocationValues
    - std::unique_ptr<Geometry>
    - LinearGeometryBuilder::setFixInvalidLines
    - LinearIterator::getSegmentStart
    - LinearIterator::getComponentIndex
    - LinearGeometryBuilder::endLine
    - LinearIterator::hasNext
    - isVertex
    - LinearGeometryBuilder::add
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> ExtractLineByLocation::computeLinear(const
      LinearLocation& start, const LinearLocation& end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' loc'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - LengthLocationMap::getLength
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const Geometry* linearGeom, const
      LinearLocation& loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LengthLocationMap::LengthLocationMap
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthLocationMap::LengthLocationMap(const Geometry* p_linearGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:51,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:64,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:68,1
    - Dst: geos::linearref::LengthLocationMap::resolveHigher
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - length
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    - geos::linearref::LengthLocationMap::resolveHigher
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length, bool resolveLower)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:80,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:86,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:95,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:97,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:98,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:99,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:103,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:104,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:105,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:109,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:110,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:111,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:116,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 120
    functionName: geos::linearref::LengthLocationMap::getLocationForward
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 2
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearLocation
    - LinearIterator::getVertexIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    - geos::linearref::LinearLocation::getEndLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocationForward(double length)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEndpoint
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:126,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:130,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:132,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:139,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:140,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: geos::linearref::LengthLocationMap::resolveHigher
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 1
    functionsReached:
    - LinearLocation
    - getGeometryN
    - getComponentIndex
    - isEndpoint
    - getNumGeometries
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::resolveHigher(const LinearLocation&
      loc) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:153,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:154,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:155,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:156,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:157,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:161,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 2
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - getSegmentIndex
    - LinearIterator::getVertexIndex
    - getComponentIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - getSegmentFraction
    - LinearIterator::hasNext
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const LinearLocation& loc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' loc'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 2
    functionsReached:
    - LengthLocationMap::getLength
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const Geometry* linearGeom, const
      LinearLocation& loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LengthLocationMap::LengthLocationMap
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthLocationMap::LengthLocationMap(const Geometry* p_linearGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:51,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:64,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:68,1
    - Dst: geos::linearref::LengthLocationMap::resolveHigher
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - length
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    - geos::linearref::LengthLocationMap::resolveHigher
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length, bool resolveLower)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:80,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:86,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:95,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:97,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:98,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:99,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:103,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:104,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:105,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:109,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:110,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:111,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:116,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 120
    functionName: geos::linearref::LengthLocationMap::getLocationForward
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 4
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearLocation
    - LinearIterator::getVertexIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    - geos::linearref::LinearLocation::getEndLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocationForward(double length)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEndpoint
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:126,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:130,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:132,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:139,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:140,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: geos::linearref::LengthLocationMap::resolveHigher
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 2
    functionsReached:
    - LinearLocation
    - getGeometryN
    - getComponentIndex
    - isEndpoint
    - getNumGeometries
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::resolveHigher(const LinearLocation&
      loc) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:153,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:154,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:155,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:156,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:157,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:161,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 4
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - getSegmentIndex
    - LinearIterator::getVertexIndex
    - getComponentIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - getSegmentFraction
    - LinearIterator::hasNext
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const LinearLocation& loc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' loc'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 4
    functionsReached:
    - LengthLocationMap::getLength
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const Geometry* linearGeom, const
      LinearLocation& loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LengthLocationMap::LengthLocationMap
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthLocationMap::LengthLocationMap(const Geometry* p_linearGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:51,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:64,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:68,1
    - Dst: geos::linearref::LengthLocationMap::resolveHigher
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - length
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    - geos::linearref::LengthLocationMap::resolveHigher
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length, bool resolveLower)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:80,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:86,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:95,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:97,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:98,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:99,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:103,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:104,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:105,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:109,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:110,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:111,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:116,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 120
    functionName: geos::linearref::LengthLocationMap::getLocationForward
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 6
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearLocation
    - LinearIterator::getVertexIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    - geos::linearref::LinearLocation::getEndLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocationForward(double length)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEndpoint
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:126,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:130,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:132,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:139,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:140,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: geos::linearref::LengthLocationMap::resolveHigher
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 3
    functionsReached:
    - LinearLocation
    - getGeometryN
    - getComponentIndex
    - isEndpoint
    - getNumGeometries
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::resolveHigher(const LinearLocation&
      loc) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:153,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:154,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:155,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:156,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:157,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:161,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 6
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - getSegmentIndex
    - LinearIterator::getVertexIndex
    - getComponentIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - getSegmentFraction
    - LinearIterator::hasNext
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const LinearLocation& loc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' loc'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 6
    functionsReached:
    - LengthLocationMap::getLength
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const Geometry* linearGeom, const
      LinearLocation& loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LengthLocationMap::LengthLocationMap
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthLocationMap::LengthLocationMap(const Geometry* p_linearGeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:51,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:64,1
    - Dst: geos::linearref::LengthLocationMap::getLocationForward
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:68,1
    - Dst: geos::linearref::LengthLocationMap::resolveHigher
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - length
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: geos::linearref::LengthLocationMap::getLocation
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - geos::linearref::LengthLocationMap::getLocationForward
    - geos::linearref::LengthLocationMap::resolveHigher
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocation(double length, bool resolveLower)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:80,1
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:86,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:95,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:97,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:98,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:99,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:103,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:104,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:105,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:109,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:110,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:111,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:116,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - length
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 120
    functionName: geos::linearref::LengthLocationMap::getLocationForward
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 8
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearLocation
    - LinearIterator::getVertexIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    - geos::linearref::LinearLocation::getEndLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::getLocationForward(double length)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEndpoint
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:126,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:130,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:132,1
    - Dst: getNumGeometries
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:139,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:140,1
    - Dst: LinearLocation
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: geos::linearref::LengthLocationMap::resolveHigher
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 4
    functionsReached:
    - LinearLocation
    - getGeometryN
    - getComponentIndex
    - isEndpoint
    - getNumGeometries
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthLocationMap::resolveHigher(const LinearLocation&
      loc) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:153,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:154,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:155,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:156,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:157,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:159,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:160,1
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:161,1
    - Dst: getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:167,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthLocationMap.cpp:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: geos::linearref::LengthLocationMap::getLength
    functionSourceFile: /src/geos/src/linearref/LengthLocationMap.cpp
    functionUses: 8
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - getSegmentIndex
    - LinearIterator::getVertexIndex
    - getComponentIndex
    - Coordinate::distance
    - LinearIterator::getSegmentStart
    - LinearIterator::getSegmentEnd
    - LinearIterator::getComponentIndex
    - getSegmentFraction
    - LinearIterator::hasNext
    linkageType: ''
    returnType: double
    signature: double LengthLocationMap::getLength(const LinearLocation& loc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - subLine
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation *\nLocationIndexOfLine::indicesOf(const Geometry* linearGeom,\n
      \                              const Geometry* subLine)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LocationIndexOfLine::LocationIndexOfLine
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfLine::LocationIndexOfLine(const Geometry* p_linearGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:53,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:55,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LinearLocation::LinearLocation
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:59,1
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:60,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:63,1
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::LinearLocation
    - Geometry*::getLength
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LocationIndexOfPoint::indexOf
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - LocationIndexOfPoint::indexOfAfter
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: LinearLocation
    signature: 'LinearLocation *

      LocationIndexOfLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - subLine
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation *\nLocationIndexOfLine::indicesOf(const Geometry* linearGeom,\n
      \                              const Geometry* subLine)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LocationIndexOfLine::LocationIndexOfLine
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfLine::LocationIndexOfLine(const Geometry* p_linearGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:53,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:55,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LinearLocation::LinearLocation
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:59,1
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:60,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:63,1
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::LinearLocation
    - Geometry*::getLength
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LocationIndexOfPoint::indexOf
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - LocationIndexOfPoint::indexOfAfter
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: LinearLocation
    signature: 'LinearLocation *

      LocationIndexOfLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - subLine
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation *\nLocationIndexOfLine::indicesOf(const Geometry* linearGeom,\n
      \                              const Geometry* subLine)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LocationIndexOfLine::LocationIndexOfLine
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfLine::LocationIndexOfLine(const Geometry* p_linearGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:53,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:55,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LinearLocation::LinearLocation
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:59,1
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:60,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:63,1
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::LinearLocation
    - Geometry*::getLength
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LocationIndexOfPoint::indexOf
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - LocationIndexOfPoint::indexOfAfter
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: LinearLocation
    signature: 'LinearLocation *

      LocationIndexOfLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - subLine
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation *\nLocationIndexOfLine::indicesOf(const Geometry* linearGeom,\n
      \                              const Geometry* subLine)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: geos::linearref::LocationIndexOfLine::LocationIndexOfLine
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfLine::LocationIndexOfLine(const Geometry* p_linearGeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:50,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:51,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:53,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:55,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:56,1
    - Dst: LinearLocation::LinearLocation
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:59,1
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:60,1
    - Dst: Geometry*::getLength
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:63,1
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfLine.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: geos::linearref::LocationIndexOfLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::LinearLocation
    - Geometry*::getLength
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LocationIndexOfPoint::indexOf
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - LocationIndexOfPoint::indexOfAfter
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: LinearLocation
    signature: 'LinearLocation *

      LocationIndexOfLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::linearref::LinearLocation::getEndLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 4
    functionsReached:
    - LinearLocation::setToEnd
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LinearLocation::getEndLocation(const Geometry* linear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/linearref/LinearLocation.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - frac
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearLocation::pointAlongSegmentByFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::pointAlongSegmentByFraction(const Coordinate&
      p0, const Coordinate& p1, double frac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_segmentIndex,\n
      \                              double p_segmentFraction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::normalize
      Src: /src/geos/src/linearref/LinearLocation.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_componentIndex
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::normalize
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_componentIndex,\n
      \                              std::size_t p_segmentIndex, double p_segmentFraction)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::linearref::LinearLocation::normalize
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearLocation::normalize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:104,1
    - Dst: geos::linearref::LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:105,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:108,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:111,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: geos::linearref::LinearLocation::clamp
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getNumPoints
    - geos::linearref::LinearLocation::setToEnd
    linkageType: ''
    returnType: void
    signature: void LinearLocation::clamp(const Geometry* linear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::getSegmentLength
      Src: /src/geos/src/linearref/LinearLocation.cpp:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - linearGeom
    - minDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: geos::linearref::LinearLocation::snapToVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::getSegmentLength
    linkageType: ''
    returnType: void
    signature: void LinearLocation::snapToVertex(const Geometry* linearGeom, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:142,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:146,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:147,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:150,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:151,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LinearLocation.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: geos::linearref::LinearLocation::getSegmentLength
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 1
    functionsReached:
    - LineString*::getCoordinateN
    - Coordinate::distance
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentLength(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:159,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:169,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: geos::linearref::LinearLocation::setToEnd
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 1
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearLocation::setToEnd(const Geometry* linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::linearref::LinearLocation::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::linearref::LinearLocation::getSegmentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getSegmentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: geos::linearref::LinearLocation::getSegmentFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentFraction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: geos::linearref::LinearLocation::isVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isVertex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/linearref/LinearLocation.cpp:207,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/linearref/LinearLocation.cpp:208,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:212,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:214,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:215,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:218,1
    - Dst: geos::linearref::LinearLocation::pointAlongSegmentByFraction
      Src: /src/geos/src/linearref/LinearLocation.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: geos::linearref::LinearLocation::getCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::pointAlongSegmentByFraction
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::io::GeoJSONValue::getNull
    - Geometry*::isEmpty
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::getCoordinate(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:228,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:230,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:232,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:236,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: geos::linearref::LinearLocation::getSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LineSegment::LineSegment
    - dynamic_cast<const LineString*>
    - std::unique_ptr<LineSegment>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> LinearLocation::getSegment(const Geometry*
      linearGeom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:244,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:250,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:252,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: geos::linearref::LinearLocation::isValid
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isValid(const Geometry* linearGeom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 292
    functionName: geos::linearref::LinearLocation::compareTo
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearLocation::compareTo(const LinearLocation& other) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 322
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(std::size_t componentIndex1,\n
      \                                     std::size_t segmentIndex1, double segmentFraction1)
      const"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - componentIndex0
    - segmentIndex0
    - segmentFraction0
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(\n    std::size_t componentIndex0,
      std::size_t segmentIndex0,\n    double segmentFraction0,\n    std::size_t componentIndex1,
      std::size_t segmentIndex1,\n    double segmentFraction1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: geos::linearref::LinearLocation::isOnSameSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isOnSameSegment(const LinearLocation& loc) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:384,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:385,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:387,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' linearGeom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: geos::linearref::LinearLocation::isEndpoint
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    - LineString*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isEndpoint(const Geometry& linearGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' obj'
    argTypes:
    - std::ostream
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: '&

      operator<<(std::ostream& out, const LinearLocation& obj)'
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& out, const LinearLocation& obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::linearref::LinearLocation::getEndLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 4
    functionsReached:
    - LinearLocation::setToEnd
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LinearLocation::getEndLocation(const Geometry* linear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/linearref/LinearLocation.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - frac
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearLocation::pointAlongSegmentByFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 1
    functionsReached:
    - Coordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::pointAlongSegmentByFraction(const Coordinate&
      p0, const Coordinate& p1, double frac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_segmentIndex,\n
      \                              double p_segmentFraction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::normalize
      Src: /src/geos/src/linearref/LinearLocation.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_componentIndex
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::normalize
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_componentIndex,\n
      \                              std::size_t p_segmentIndex, double p_segmentFraction)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::linearref::LinearLocation::normalize
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearLocation::normalize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:104,1
    - Dst: geos::linearref::LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:105,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:108,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:111,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: geos::linearref::LinearLocation::clamp
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getNumPoints
    - geos::linearref::LinearLocation::setToEnd
    linkageType: ''
    returnType: void
    signature: void LinearLocation::clamp(const Geometry* linear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::getSegmentLength
      Src: /src/geos/src/linearref/LinearLocation.cpp:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - linearGeom
    - minDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: geos::linearref::LinearLocation::snapToVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::getSegmentLength
    linkageType: ''
    returnType: void
    signature: void LinearLocation::snapToVertex(const Geometry* linearGeom, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:142,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:146,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:147,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:150,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:151,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LinearLocation.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: geos::linearref::LinearLocation::getSegmentLength
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 2
    functionsReached:
    - LineString*::getCoordinateN
    - Coordinate::distance
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentLength(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:159,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:169,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: geos::linearref::LinearLocation::setToEnd
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 2
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearLocation::setToEnd(const Geometry* linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::linearref::LinearLocation::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::linearref::LinearLocation::getSegmentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getSegmentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: geos::linearref::LinearLocation::getSegmentFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentFraction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: geos::linearref::LinearLocation::isVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isVertex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/linearref/LinearLocation.cpp:207,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/linearref/LinearLocation.cpp:208,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:212,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:214,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:215,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:218,1
    - Dst: geos::linearref::LinearLocation::pointAlongSegmentByFraction
      Src: /src/geos/src/linearref/LinearLocation.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: geos::linearref::LinearLocation::getCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::pointAlongSegmentByFraction
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::io::GeoJSONValue::getNull
    - Geometry*::isEmpty
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::getCoordinate(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:228,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:230,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:232,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:236,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: geos::linearref::LinearLocation::getSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LineSegment::LineSegment
    - dynamic_cast<const LineString*>
    - std::unique_ptr<LineSegment>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> LinearLocation::getSegment(const Geometry*
      linearGeom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:244,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:250,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:252,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: geos::linearref::LinearLocation::isValid
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isValid(const Geometry* linearGeom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 292
    functionName: geos::linearref::LinearLocation::compareTo
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearLocation::compareTo(const LinearLocation& other) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 322
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(std::size_t componentIndex1,\n
      \                                     std::size_t segmentIndex1, double segmentFraction1)
      const"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - componentIndex0
    - segmentIndex0
    - segmentFraction0
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(\n    std::size_t componentIndex0,
      std::size_t segmentIndex0,\n    double segmentFraction0,\n    std::size_t componentIndex1,
      std::size_t segmentIndex1,\n    double segmentFraction1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: geos::linearref::LinearLocation::isOnSameSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isOnSameSegment(const LinearLocation& loc) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:384,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:385,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:387,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' linearGeom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: geos::linearref::LinearLocation::isEndpoint
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    - LineString*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isEndpoint(const Geometry& linearGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' obj'
    argTypes:
    - std::ostream
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: '&

      operator<<(std::ostream& out, const LinearLocation& obj)'
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& out, const LinearLocation& obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::linearref::LinearLocation::getEndLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 4
    functionsReached:
    - LinearLocation::setToEnd
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LinearLocation::getEndLocation(const Geometry* linear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/linearref/LinearLocation.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - frac
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearLocation::pointAlongSegmentByFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 2
    functionsReached:
    - Coordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::pointAlongSegmentByFraction(const Coordinate&
      p0, const Coordinate& p1, double frac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_segmentIndex,\n
      \                              double p_segmentFraction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::normalize
      Src: /src/geos/src/linearref/LinearLocation.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_componentIndex
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::normalize
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_componentIndex,\n
      \                              std::size_t p_segmentIndex, double p_segmentFraction)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::linearref::LinearLocation::normalize
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearLocation::normalize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:104,1
    - Dst: geos::linearref::LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:105,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:108,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:111,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: geos::linearref::LinearLocation::clamp
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getNumPoints
    - geos::linearref::LinearLocation::setToEnd
    linkageType: ''
    returnType: void
    signature: void LinearLocation::clamp(const Geometry* linear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::getSegmentLength
      Src: /src/geos/src/linearref/LinearLocation.cpp:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - linearGeom
    - minDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: geos::linearref::LinearLocation::snapToVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::getSegmentLength
    linkageType: ''
    returnType: void
    signature: void LinearLocation::snapToVertex(const Geometry* linearGeom, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:142,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:146,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:147,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:150,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:151,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LinearLocation.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: geos::linearref::LinearLocation::getSegmentLength
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 3
    functionsReached:
    - LineString*::getCoordinateN
    - Coordinate::distance
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentLength(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:159,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:169,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: geos::linearref::LinearLocation::setToEnd
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 3
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearLocation::setToEnd(const Geometry* linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::linearref::LinearLocation::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::linearref::LinearLocation::getSegmentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getSegmentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: geos::linearref::LinearLocation::getSegmentFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentFraction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: geos::linearref::LinearLocation::isVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isVertex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/linearref/LinearLocation.cpp:207,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/linearref/LinearLocation.cpp:208,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:212,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:214,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:215,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:218,1
    - Dst: geos::linearref::LinearLocation::pointAlongSegmentByFraction
      Src: /src/geos/src/linearref/LinearLocation.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: geos::linearref::LinearLocation::getCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::pointAlongSegmentByFraction
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::io::GeoJSONValue::getNull
    - Geometry*::isEmpty
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::getCoordinate(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:228,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:230,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:232,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:236,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: geos::linearref::LinearLocation::getSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LineSegment::LineSegment
    - dynamic_cast<const LineString*>
    - std::unique_ptr<LineSegment>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> LinearLocation::getSegment(const Geometry*
      linearGeom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:244,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:250,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:252,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: geos::linearref::LinearLocation::isValid
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isValid(const Geometry* linearGeom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 292
    functionName: geos::linearref::LinearLocation::compareTo
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearLocation::compareTo(const LinearLocation& other) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 322
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(std::size_t componentIndex1,\n
      \                                     std::size_t segmentIndex1, double segmentFraction1)
      const"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - componentIndex0
    - segmentIndex0
    - segmentFraction0
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(\n    std::size_t componentIndex0,
      std::size_t segmentIndex0,\n    double segmentFraction0,\n    std::size_t componentIndex1,
      std::size_t segmentIndex1,\n    double segmentFraction1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: geos::linearref::LinearLocation::isOnSameSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isOnSameSegment(const LinearLocation& loc) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:384,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:385,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:387,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' linearGeom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: geos::linearref::LinearLocation::isEndpoint
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    - LineString*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isEndpoint(const Geometry& linearGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' obj'
    argTypes:
    - std::ostream
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: '&

      operator<<(std::ostream& out, const LinearLocation& obj)'
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& out, const LinearLocation& obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: geos::linearref::LinearLocation::getEndLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 4
    functionsReached:
    - LinearLocation::setToEnd
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LinearLocation::getEndLocation(const Geometry* linear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/linearref/LinearLocation.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - frac
    argTypes:
    - Coordinate
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: geos::linearref::LinearLocation::pointAlongSegmentByFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 3
    functionsReached:
    - Coordinate
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::pointAlongSegmentByFraction(const Coordinate&
      p0, const Coordinate& p1, double frac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_segmentIndex,\n
      \                              double p_segmentFraction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::normalize
      Src: /src/geos/src/linearref/LinearLocation.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_componentIndex
    - p_segmentIndex
    - p_segmentFraction
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: geos::linearref::LinearLocation::LinearLocation
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::normalize
    linkageType: ''
    returnType: void
    signature: "void LinearLocation::LinearLocation(std::size_t p_componentIndex,\n
      \                              std::size_t p_segmentIndex, double p_segmentFraction)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: geos::linearref::LinearLocation::normalize
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinearLocation::normalize()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:104,1
    - Dst: geos::linearref::LinearLocation::setToEnd
      Src: /src/geos/src/linearref/LinearLocation.cpp:105,1
    - Dst: Geometry*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:108,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:109,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:111,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: geos::linearref::LinearLocation::clamp
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getGeometryN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getNumPoints
    - geos::linearref::LinearLocation::setToEnd
    linkageType: ''
    returnType: void
    signature: void LinearLocation::clamp(const Geometry* linear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearLocation::getSegmentLength
      Src: /src/geos/src/linearref/LinearLocation.cpp:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - linearGeom
    - minDistance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: geos::linearref::LinearLocation::snapToVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::getSegmentLength
    linkageType: ''
    returnType: void
    signature: void LinearLocation::snapToVertex(const Geometry* linearGeom, double
      minDistance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:140,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:142,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:146,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:147,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:150,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:151,1
    - Dst: Coordinate::distance
      Src: /src/geos/src/linearref/LinearLocation.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: geos::linearref::LinearLocation::getSegmentLength
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 4
    functionsReached:
    - LineString*::getCoordinateN
    - Coordinate::distance
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentLength(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:159,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:167,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:169,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: geos::linearref::LinearLocation::setToEnd
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 4
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearLocation::setToEnd(const Geometry* linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: geos::linearref::LinearLocation::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::linearref::LinearLocation::getSegmentIndex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearLocation::getSegmentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: geos::linearref::LinearLocation::getSegmentFraction
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LinearLocation::getSegmentFraction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: geos::linearref::LinearLocation::isVertex
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isVertex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/linearref/LinearLocation.cpp:207,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/linearref/LinearLocation.cpp:208,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:210,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:212,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:214,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:215,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:218,1
    - Dst: geos::linearref::LinearLocation::pointAlongSegmentByFraction
      Src: /src/geos/src/linearref/LinearLocation.cpp:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: geos::linearref::LinearLocation::getCoordinate
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearLocation::pointAlongSegmentByFraction
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - geos::io::GeoJSONValue::getNull
    - Geometry*::isEmpty
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearLocation::getCoordinate(const Geometry* linearGeom)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:226,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:228,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:230,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:232,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:233,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:234,1
    - Dst: LineString*::getCoordinateN
      Src: /src/geos/src/linearref/LinearLocation.cpp:236,1
    - Dst: std::unique_ptr<LineSegment>
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    - Dst: LineSegment::LineSegment
      Src: /src/geos/src/linearref/LinearLocation.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: geos::linearref::LinearLocation::getSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getCoordinateN
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - LineSegment::LineSegment
    - dynamic_cast<const LineString*>
    - std::unique_ptr<LineSegment>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<LineSegment>
    signature: std::unique_ptr<LineSegment> LinearLocation::getSegment(const Geometry*
      linearGeom) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearLocation.cpp:244,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:248,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:250,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:252,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: geos::linearref::LinearLocation::isValid
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - LineString*::getNumPoints
    - geos::util::IllegalArgumentException
    - Geometry*::getNumGeometries
    - dynamic_cast<const LineString*>
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isValid(const Geometry* linearGeom) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 292
    functionName: geos::linearref::LinearLocation::compareTo
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearLocation::compareTo(const LinearLocation& other) const
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 322
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(std::size_t componentIndex1,\n
      \                                     std::size_t segmentIndex1, double segmentFraction1)
      const"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - componentIndex0
    - segmentIndex0
    - segmentFraction0
    - componentIndex1
    - segmentIndex1
    - segmentFraction1
    argTypes:
    - std::size_t
    - std::size_t
    - double
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 356
    functionName: geos::linearref::LinearLocation::compareLocationValues
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int LinearLocation::compareLocationValues(\n    std::size_t componentIndex0,
      std::size_t segmentIndex0,\n    double segmentFraction0,\n    std::size_t componentIndex1,
      std::size_t segmentIndex1,\n    double segmentFraction1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: geos::linearref::LinearLocation::isOnSameSegment
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isOnSameSegment(const LinearLocation& loc) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearLocation.cpp:384,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearLocation.cpp:385,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearLocation.cpp:387,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/linearref/LinearLocation.cpp:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' linearGeom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: geos::linearref::LinearLocation::isEndpoint
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    - LineString*::getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearLocation::isEndpoint(const Geometry& linearGeom) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' out'
    - ' obj'
    argTypes:
    - std::ostream
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: '&

      operator<<(std::ostream& out, const LinearLocation& obj)'
    functionSourceFile: /src/geos/src/linearref/LinearLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<<(std::ostream& out, const LinearLocation& obj)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:50,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:51,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:52,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:53,1
    - Dst: LineSegment::segmentFraction
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:54,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:56,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:57,1
    - Dst: LinearLocation*::compareLocationValues
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: geos::linearref::LocationIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getVertexIndex
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - LineSegment::segmentFraction
    - LinearLocation*::compareLocationValues
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfFromStart(const CoordinateXY&
      inputPt,\n                                       const LinearLocation* minIndex)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const Geometry* linearGeom,
      const CoordinateXY& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const Geometry*
      linearGeom, const CoordinateXY& inputPt,\n                                   const
      LinearLocation* minIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: geos::linearref::LocationIndexOfPoint::LocationIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfPoint::LocationIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const CoordinateXY& inputPt)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:106,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:110,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:111,1
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:115,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:120,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    - LinearLocation::compareTo
    - geos::util::IllegalArgumentException
    - geos::linearref::LinearLocation::getEndLocation
    - geos::linearref::LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const CoordinateXY&
      inputPt,\n                                   const LinearLocation* minIndex)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:50,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:51,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:52,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:53,1
    - Dst: LineSegment::segmentFraction
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:54,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:56,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:57,1
    - Dst: LinearLocation*::compareLocationValues
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: geos::linearref::LocationIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 2
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getVertexIndex
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - LineSegment::segmentFraction
    - LinearLocation*::compareLocationValues
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfFromStart(const CoordinateXY&
      inputPt,\n                                       const LinearLocation* minIndex)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 1
    functionsReached:
    - LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const Geometry* linearGeom,
      const CoordinateXY& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const Geometry*
      linearGeom, const CoordinateXY& inputPt,\n                                   const
      LinearLocation* minIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: geos::linearref::LocationIndexOfPoint::LocationIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfPoint::LocationIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 1
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const CoordinateXY& inputPt)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:106,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:110,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:111,1
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:115,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:120,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    - LinearLocation::compareTo
    - geos::util::IllegalArgumentException
    - geos::linearref::LinearLocation::getEndLocation
    - geos::linearref::LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const CoordinateXY&
      inputPt,\n                                   const LinearLocation* minIndex)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:50,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:51,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:52,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:53,1
    - Dst: LineSegment::segmentFraction
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:54,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:56,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:57,1
    - Dst: LinearLocation*::compareLocationValues
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: geos::linearref::LocationIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 4
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getVertexIndex
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - LineSegment::segmentFraction
    - LinearLocation*::compareLocationValues
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfFromStart(const CoordinateXY&
      inputPt,\n                                       const LinearLocation* minIndex)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 2
    functionsReached:
    - LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const Geometry* linearGeom,
      const CoordinateXY& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const Geometry*
      linearGeom, const CoordinateXY& inputPt,\n                                   const
      LinearLocation* minIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: geos::linearref::LocationIndexOfPoint::LocationIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfPoint::LocationIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 2
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const CoordinateXY& inputPt)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:106,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:110,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:111,1
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:115,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:120,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    - LinearLocation::compareTo
    - geos::util::IllegalArgumentException
    - geos::linearref::LinearLocation::getEndLocation
    - geos::linearref::LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const CoordinateXY&
      inputPt,\n                                   const LinearLocation* minIndex)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:49,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:50,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:51,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:52,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:53,1
    - Dst: LineSegment::segmentFraction
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:54,1
    - Dst: LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:56,1
    - Dst: LinearIterator::getVertexIndex
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:57,1
    - Dst: LinearLocation*::compareLocationValues
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: geos::linearref::LocationIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 6
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getVertexIndex
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - LineSegment::segmentFraction
    - LinearLocation*::compareLocationValues
    - LinearIterator::getComponentIndex
    - LinearIterator::hasNext
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfFromStart(const CoordinateXY&
      inputPt,\n                                       const LinearLocation* minIndex)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 3
    functionsReached:
    - LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const Geometry* linearGeom,
      const CoordinateXY& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocationIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LocationIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const Geometry*
      linearGeom, const CoordinateXY& inputPt,\n                                   const
      LinearLocation* minIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: geos::linearref::LocationIndexOfPoint::LocationIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LocationIndexOfPoint::LocationIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: geos::linearref::LocationIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 3
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LocationIndexOfPoint::indexOf(const CoordinateXY& inputPt)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:106,1
    - Dst: geos::linearref::LinearLocation::getEndLocation
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:110,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:111,1
    - Dst: geos::linearref::LocationIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:115,1
    - Dst: LinearLocation::compareTo
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:120,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LocationIndexOfPoint.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - CoordinateXY
    - LinearLocation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: geos::linearref::LocationIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LocationIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LocationIndexOfPoint::indexOfFromStart
    - LinearLocation::compareTo
    - geos::util::IllegalArgumentException
    - geos::linearref::LinearLocation::getEndLocation
    - geos::linearref::LocationIndexOfPoint::indexOf
    linkageType: ''
    returnType: LinearLocation
    signature: "LinearLocation LocationIndexOfPoint::indexOfAfter(const CoordinateXY&
      inputPt,\n                                   const LinearLocation* minIndex)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Geometry* linearGeom, const
      Coordinate& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Geometry* linearGeom,
      const Coordinate& inputPt, double minIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::linearref::LengthIndexOfPoint::LengthIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexOfPoint::LengthIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Coordinate& inputPt) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:64,1
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:68,1
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:73,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexOfPoint::indexOf
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:93,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:94,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:95,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:96,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:97,1
    - Dst: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:98,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:104,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: geos::linearref::LengthIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 2
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    - LinearIterator::hasNext
    - LineSegment::getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfFromStart(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::projectionFactor
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:117,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:122,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - seg
    - ' inputPt'
    - segmentStartMeasure
    argTypes:
    - LineSegment*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 1
    functionsReached:
    - LineSegment*::projectionFactor
    - LineSegment*::getLength
    linkageType: ''
    returnType: double
    signature: "double LengthIndexOfPoint::segmentNearestMeasure(const LineSegment*
      seg,\n        const Coordinate& inputPt,\n        double segmentStartMeasure)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 1
    functionsReached:
    - LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Geometry* linearGeom, const
      Coordinate& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Geometry* linearGeom,
      const Coordinate& inputPt, double minIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::linearref::LengthIndexOfPoint::LengthIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexOfPoint::LengthIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 1
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Coordinate& inputPt) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:64,1
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:68,1
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:73,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexOfPoint::indexOf
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:93,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:94,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:95,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:96,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:97,1
    - Dst: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:98,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:104,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: geos::linearref::LengthIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 4
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    - LinearIterator::hasNext
    - LineSegment::getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfFromStart(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::projectionFactor
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:117,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:122,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - seg
    - ' inputPt'
    - segmentStartMeasure
    argTypes:
    - LineSegment*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 2
    functionsReached:
    - LineSegment*::projectionFactor
    - LineSegment*::getLength
    linkageType: ''
    returnType: double
    signature: "double LengthIndexOfPoint::segmentNearestMeasure(const LineSegment*
      seg,\n        const Coordinate& inputPt,\n        double segmentStartMeasure)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 2
    functionsReached:
    - LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Geometry* linearGeom, const
      Coordinate& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Geometry* linearGeom,
      const Coordinate& inputPt, double minIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::linearref::LengthIndexOfPoint::LengthIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexOfPoint::LengthIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 2
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Coordinate& inputPt) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:64,1
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:68,1
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:73,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexOfPoint::indexOf
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:93,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:94,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:95,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:96,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:97,1
    - Dst: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:98,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:104,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: geos::linearref::LengthIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 6
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    - LinearIterator::hasNext
    - LineSegment::getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfFromStart(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::projectionFactor
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:117,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:122,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - seg
    - ' inputPt'
    - segmentStartMeasure
    argTypes:
    - LineSegment*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 3
    functionsReached:
    - LineSegment*::projectionFactor
    - LineSegment*::getLength
    linkageType: ''
    returnType: double
    signature: "double LengthIndexOfPoint::segmentNearestMeasure(const LineSegment*
      seg,\n        const Coordinate& inputPt,\n        double segmentStartMeasure)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linearGeom
    - ' inputPt'
    argTypes:
    - Geometry*
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 3
    functionsReached:
    - LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Geometry* linearGeom, const
      Coordinate& inputPt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - linearGeom
    - ' inputPt'
    - minIndex
    argTypes:
    - Geometry*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Geometry* linearGeom,
      const Coordinate& inputPt, double minIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: geos::linearref::LengthIndexOfPoint::LengthIndexOfPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexOfPoint::LengthIndexOfPoint(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputPt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::linearref::LengthIndexOfPoint::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 3
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOf(const Coordinate& inputPt) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:64,1
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:68,1
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfFromStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:73,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: geos::linearref::LengthIndexOfPoint::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfFromStart
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexOfPoint::indexOf
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfAfter(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LinearIterator::hasNext
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:93,1
    - Dst: LinearIterator::isEndOfLine
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:94,1
    - Dst: LinearIterator::getSegmentStart
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:95,1
    - Dst: LinearIterator::getSegmentEnd
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:96,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:97,1
    - Dst: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:98,1
    - Dst: LineSegment::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:104,1
    - Dst: LinearIterator::next
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' inputPt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: geos::linearref::LengthIndexOfPoint::indexOfFromStart
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 8
    functionsReached:
    - LinearIterator::next
    - LinearIterator::isEndOfLine
    - LinearIterator::getSegmentStart
    - LineSegment::distance
    - LinearIterator::getSegmentEnd
    - geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    - LinearIterator::hasNext
    - LineSegment::getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexOfPoint::indexOfFromStart(const Coordinate& inputPt,
      double minIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineSegment*::projectionFactor
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:117,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:122,1
    - Dst: LineSegment*::getLength
      Src: /src/geos/src/linearref/LengthIndexOfPoint.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - seg
    - ' inputPt'
    - segmentStartMeasure
    argTypes:
    - LineSegment*
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: geos::linearref::LengthIndexOfPoint::segmentNearestMeasure
    functionSourceFile: /src/geos/src/linearref/LengthIndexOfPoint.cpp
    functionUses: 4
    functionsReached:
    - LineSegment*::projectionFactor
    - LineSegment*::getLength
    linkageType: ''
    returnType: double
    signature: "double LengthIndexOfPoint::segmentNearestMeasure(const LineSegment*
      seg,\n        const Coordinate& inputPt,\n        double segmentStartMeasure)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: geos::linearref::LengthIndexedLine::LengthIndexedLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexedLine::LengthIndexedLine(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:42,1
    - Dst: LinearLocation::getCoordinate
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getCoordinate
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:50,1
    - Dst: LinearLocation::getSegment
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    - Dst: LinearLocation::getSegmentFraction
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - offsetDistance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getSegmentFraction
    - geos::linearref::LengthLocationMap::getLocation
    - LinearLocation::getSegment
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index, double offsetDistance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:61,1
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:63,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:64,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:68,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:69,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:73,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:74,1
    - Dst: geos::linearref::ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: geos::linearref::LengthIndexedLine::extractLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexedLine::locationOf
    - geos::linearref::LengthIndexedLine::clampIndex
    - geos::linearref::ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LengthIndexedLine::extractLine(double startIndex,
      double endIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 1
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 1
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index, bool resolveLower)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::linearref::LengthIndexedLine::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOf(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::linearref::LengthIndexedLine::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOfAfter(const Coordinate& pt, double
      minIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:110,1
    - Dst: double::double
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:111,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:112,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::linearref::LengthIndexedLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - double::double
    - geos::linearref::LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: double
    signature: 'double *

      LengthIndexedLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: geos::linearref::LengthIndexedLine::project
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::project(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::linearref::LengthIndexedLine::getStartIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getStartIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: geos::linearref::LengthIndexedLine::getEndIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getEndIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:140,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::linearref::LengthIndexedLine::isValidIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: bool
    signature: bool LengthIndexedLine::isValidIndex(double index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::positiveIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:148,1
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:149,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: geos::linearref::LengthIndexedLine::clampIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 1
    functionsReached:
    - geos::linearref::LengthIndexedLine::positiveIndex
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::clampIndex(double index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::linearref::LengthIndexedLine::positiveIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 1
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::positiveIndex(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: geos::linearref::LengthIndexedLine::LengthIndexedLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexedLine::LengthIndexedLine(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:42,1
    - Dst: LinearLocation::getCoordinate
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getCoordinate
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:50,1
    - Dst: LinearLocation::getSegment
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    - Dst: LinearLocation::getSegmentFraction
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - offsetDistance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getSegmentFraction
    - geos::linearref::LengthLocationMap::getLocation
    - LinearLocation::getSegment
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index, double offsetDistance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:61,1
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:63,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:64,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:68,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:69,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:73,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:74,1
    - Dst: geos::linearref::ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: geos::linearref::LengthIndexedLine::extractLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexedLine::locationOf
    - geos::linearref::LengthIndexedLine::clampIndex
    - geos::linearref::ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LengthIndexedLine::extractLine(double startIndex,
      double endIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 2
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 2
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index, bool resolveLower)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::linearref::LengthIndexedLine::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOf(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::linearref::LengthIndexedLine::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOfAfter(const Coordinate& pt, double
      minIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:110,1
    - Dst: double::double
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:111,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:112,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::linearref::LengthIndexedLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - double::double
    - geos::linearref::LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: double
    signature: 'double *

      LengthIndexedLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: geos::linearref::LengthIndexedLine::project
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::project(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::linearref::LengthIndexedLine::getStartIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getStartIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: geos::linearref::LengthIndexedLine::getEndIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 2
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getEndIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:140,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::linearref::LengthIndexedLine::isValidIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: bool
    signature: bool LengthIndexedLine::isValidIndex(double index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::positiveIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:148,1
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:149,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: geos::linearref::LengthIndexedLine::clampIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 2
    functionsReached:
    - geos::linearref::LengthIndexedLine::positiveIndex
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::clampIndex(double index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::linearref::LengthIndexedLine::positiveIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 2
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::positiveIndex(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: geos::linearref::LengthIndexedLine::LengthIndexedLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexedLine::LengthIndexedLine(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:42,1
    - Dst: LinearLocation::getCoordinate
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getCoordinate
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:50,1
    - Dst: LinearLocation::getSegment
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    - Dst: LinearLocation::getSegmentFraction
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - offsetDistance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getSegmentFraction
    - geos::linearref::LengthLocationMap::getLocation
    - LinearLocation::getSegment
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index, double offsetDistance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:61,1
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:63,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:64,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:68,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:69,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:73,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:74,1
    - Dst: geos::linearref::ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: geos::linearref::LengthIndexedLine::extractLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexedLine::locationOf
    - geos::linearref::LengthIndexedLine::clampIndex
    - geos::linearref::ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LengthIndexedLine::extractLine(double startIndex,
      double endIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 3
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 3
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index, bool resolveLower)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::linearref::LengthIndexedLine::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOf(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::linearref::LengthIndexedLine::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOfAfter(const Coordinate& pt, double
      minIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:110,1
    - Dst: double::double
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:111,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:112,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::linearref::LengthIndexedLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - double::double
    - geos::linearref::LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: double
    signature: 'double *

      LengthIndexedLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: geos::linearref::LengthIndexedLine::project
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::project(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::linearref::LengthIndexedLine::getStartIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getStartIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: geos::linearref::LengthIndexedLine::getEndIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 4
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getEndIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:140,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::linearref::LengthIndexedLine::isValidIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: bool
    signature: bool LengthIndexedLine::isValidIndex(double index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::positiveIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:148,1
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:149,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: geos::linearref::LengthIndexedLine::clampIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 3
    functionsReached:
    - geos::linearref::LengthIndexedLine::positiveIndex
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::clampIndex(double index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::linearref::LengthIndexedLine::positiveIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 3
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::positiveIndex(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_linearGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: geos::linearref::LengthIndexedLine::LengthIndexedLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LengthIndexedLine::LengthIndexedLine(const Geometry* p_linearGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:42,1
    - Dst: LinearLocation::getCoordinate
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getCoordinate
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:50,1
    - Dst: LinearLocation::getSegment
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    - Dst: LinearLocation::getSegmentFraction
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - offsetDistance
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: geos::linearref::LengthIndexedLine::extractPoint
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - LinearLocation::getSegmentFraction
    - geos::linearref::LengthLocationMap::getLocation
    - LinearLocation::getSegment
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LengthIndexedLine::extractPoint(double index, double offsetDistance)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:60,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:61,1
    - Dst: std::isnan
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:63,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:64,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:68,1
    - Dst: geos::linearref::LengthIndexedLine::clampIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:69,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:73,1
    - Dst: geos::linearref::LengthIndexedLine::locationOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:74,1
    - Dst: geos::linearref::ExtractLineByLocation::extract
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - startIndex
    - endIndex
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: geos::linearref::LengthIndexedLine::extractLine
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - geos::util::IllegalArgumentException
    - geos::linearref::LengthIndexedLine::locationOf
    - geos::linearref::LengthIndexedLine::clampIndex
    - geos::linearref::ExtractLineByLocation::extract
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> LengthIndexedLine::extractLine(double startIndex,
      double endIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 4
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthLocationMap::getLocation
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - resolveLower
    argTypes:
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::linearref::LengthIndexedLine::locationOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 4
    functionsReached:
    - geos::linearref::LengthLocationMap::getLocation
    linkageType: ''
    returnType: LinearLocation
    signature: LinearLocation LengthIndexedLine::locationOf(double index, bool resolveLower)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::linearref::LengthIndexedLine::indexOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOf(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOfAfter
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - minIndex
    argTypes:
    - Coordinate
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::linearref::LengthIndexedLine::indexOfAfter
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOfAfter
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::indexOfAfter(const Coordinate& pt, double
      minIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LocationIndexOfLine::indicesOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:110,1
    - Dst: double::double
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:111,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:112,1
    - Dst: geos::linearref::LengthLocationMap::getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - subLine
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: geos::linearref::LengthIndexedLine::indicesOf
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthLocationMap::getLength
    - double::double
    - geos::linearref::LocationIndexOfLine::indicesOf
    linkageType: ''
    returnType: double
    signature: 'double *

      LengthIndexedLine::indicesOf(const Geometry* subLine) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexOfPoint::indexOf
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: geos::linearref::LengthIndexedLine::project
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexOfPoint::indexOf
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::project(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: geos::linearref::LengthIndexedLine::getStartIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getStartIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: geos::linearref::LengthIndexedLine::getEndIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 6
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::getEndIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:140,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::linearref::LengthIndexedLine::isValidIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: bool
    signature: bool LengthIndexedLine::isValidIndex(double index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LengthIndexedLine::positiveIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:148,1
    - Dst: geos::linearref::LengthIndexedLine::getStartIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:149,1
    - Dst: geos::linearref::LengthIndexedLine::getEndIndex
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: geos::linearref::LengthIndexedLine::clampIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 4
    functionsReached:
    - geos::linearref::LengthIndexedLine::positiveIndex
    - geos::linearref::LengthIndexedLine::getEndIndex
    - geos::linearref::LengthIndexedLine::getStartIndex
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::clampIndex(double index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/geos/src/linearref/LengthIndexedLine.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: geos::linearref::LengthIndexedLine::positiveIndex
    functionSourceFile: /src/geos/src/linearref/LengthIndexedLine.cpp
    functionUses: 4
    functionsReached:
    - getLength
    linkageType: ''
    returnType: double
    signature: double LengthIndexedLine::positiveIndex(double index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LinearIterator.cpp:35,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:36,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::linearref::LinearIterator::segmentEndVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getSegmentIndex
    - getSegmentFraction
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::segmentEndVertexIndex(const LinearLocation&
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:45,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::segmentEndVertexIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:52,1
    - Dst: geos::linearref::LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:53,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:55,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_linear
    - ' start'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getComponentIndex
    - geos::linearref::LinearIterator::loadCurrentLine
    - geos::linearref::LinearIterator::segmentEndVertexIndex
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, const
      LinearLocation& start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:64,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_linear
    - p_componentIndex
    - p_vertexIndex
    argTypes:
    - Geometry*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, std::size_t
      p_componentIndex, std::size_t p_vertexIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearIterator.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: geos::linearref::LinearIterator::loadCurrentLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearIterator::loadCurrentLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::linearref::LinearIterator::hasNext
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::hasNext() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::hasNext
      Src: /src/geos/src/linearref/LinearIterator.cpp:98,1
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:103,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::linearref::LinearIterator::next
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - getNumPoints
    - geos::linearref::LinearIterator::hasNext
    linkageType: ''
    returnType: void
    signature: void LinearIterator::next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: geos::linearref::LinearIterator::isEndOfLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::isEndOfLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: geos::linearref::LinearIterator::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: geos::linearref::LinearIterator::getVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getVertexIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::linearref::LinearIterator::getLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LinearIterator::getLine() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::linearref::LinearIterator::getSegmentStart
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentStart() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::getLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:153,1
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:154,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/linearref/LinearIterator.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::linearref::LinearIterator::getSegmentEnd
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getLine
    - getCoordinateN
    - Coordinate::setNull
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentEnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LinearIterator.cpp:35,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:36,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::linearref::LinearIterator::segmentEndVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 1
    functionsReached:
    - getSegmentIndex
    - getSegmentFraction
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::segmentEndVertexIndex(const LinearLocation&
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:45,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::segmentEndVertexIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:52,1
    - Dst: geos::linearref::LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:53,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:55,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_linear
    - ' start'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getComponentIndex
    - geos::linearref::LinearIterator::loadCurrentLine
    - geos::linearref::LinearIterator::segmentEndVertexIndex
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, const
      LinearLocation& start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:64,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_linear
    - p_componentIndex
    - p_vertexIndex
    argTypes:
    - Geometry*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, std::size_t
      p_componentIndex, std::size_t p_vertexIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearIterator.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: geos::linearref::LinearIterator::loadCurrentLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 7
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearIterator::loadCurrentLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::linearref::LinearIterator::hasNext
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 1
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::hasNext() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::hasNext
      Src: /src/geos/src/linearref/LinearIterator.cpp:98,1
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:103,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::linearref::LinearIterator::next
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - getNumPoints
    - geos::linearref::LinearIterator::hasNext
    linkageType: ''
    returnType: void
    signature: void LinearIterator::next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: geos::linearref::LinearIterator::isEndOfLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::isEndOfLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: geos::linearref::LinearIterator::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: geos::linearref::LinearIterator::getVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getVertexIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::linearref::LinearIterator::getLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LinearIterator::getLine() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::linearref::LinearIterator::getSegmentStart
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentStart() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::getLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:153,1
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:154,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/linearref/LinearIterator.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::linearref::LinearIterator::getSegmentEnd
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getLine
    - getCoordinateN
    - Coordinate::setNull
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentEnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LinearIterator.cpp:35,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:36,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::linearref::LinearIterator::segmentEndVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 2
    functionsReached:
    - getSegmentIndex
    - getSegmentFraction
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::segmentEndVertexIndex(const LinearLocation&
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:45,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::segmentEndVertexIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:52,1
    - Dst: geos::linearref::LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:53,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:55,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_linear
    - ' start'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getComponentIndex
    - geos::linearref::LinearIterator::loadCurrentLine
    - geos::linearref::LinearIterator::segmentEndVertexIndex
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, const
      LinearLocation& start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:64,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_linear
    - p_componentIndex
    - p_vertexIndex
    argTypes:
    - Geometry*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, std::size_t
      p_componentIndex, std::size_t p_vertexIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearIterator.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: geos::linearref::LinearIterator::loadCurrentLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 11
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearIterator::loadCurrentLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::linearref::LinearIterator::hasNext
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 2
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::hasNext() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::hasNext
      Src: /src/geos/src/linearref/LinearIterator.cpp:98,1
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:103,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::linearref::LinearIterator::next
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - getNumPoints
    - geos::linearref::LinearIterator::hasNext
    linkageType: ''
    returnType: void
    signature: void LinearIterator::next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: geos::linearref::LinearIterator::isEndOfLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::isEndOfLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: geos::linearref::LinearIterator::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: geos::linearref::LinearIterator::getVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getVertexIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::linearref::LinearIterator::getLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LinearIterator::getLine() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::linearref::LinearIterator::getSegmentStart
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentStart() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::getLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:153,1
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:154,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/linearref/LinearIterator.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::linearref::LinearIterator::getSegmentEnd
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getLine
    - getCoordinateN
    - Coordinate::setNull
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentEnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSegmentFraction
      Src: /src/geos/src/linearref/LinearIterator.cpp:35,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:36,1
    - Dst: getSegmentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' loc'
    argTypes:
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::linearref::LinearIterator::segmentEndVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 3
    functionsReached:
    - getSegmentIndex
    - getSegmentFraction
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::segmentEndVertexIndex(const LinearLocation&
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:45,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_linear
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::segmentEndVertexIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:52,1
    - Dst: geos::linearref::LinearIterator::getComponentIndex
      Src: /src/geos/src/linearref/LinearIterator.cpp:53,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:55,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_linear
    - ' start'
    argTypes:
    - Geometry*
    - LinearLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getComponentIndex
    - geos::linearref::LinearIterator::loadCurrentLine
    - geos::linearref::LinearIterator::segmentEndVertexIndex
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, const
      LinearLocation& start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/linearref/LinearIterator.cpp:64,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_linear
    - p_componentIndex
    - p_vertexIndex
    argTypes:
    - Geometry*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::linearref::LinearIterator::LinearIterator
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: void
    signature: void LinearIterator::LinearIterator(const Geometry* p_linear, std::size_t
      p_componentIndex, std::size_t p_vertexIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: getGeometryN
      Src: /src/geos/src/linearref/LinearIterator.cpp:76,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/linearref/LinearIterator.cpp:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: geos::linearref::LinearIterator::loadCurrentLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 15
    functionsReached:
    - dynamic_cast<const LineString*>
    - geos::util::IllegalArgumentException
    - getGeometryN
    linkageType: ''
    returnType: void
    signature: void LinearIterator::loadCurrentLine()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: geos::linearref::LinearIterator::hasNext
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 3
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::hasNext() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::hasNext
      Src: /src/geos/src/linearref/LinearIterator.cpp:98,1
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:103,1
    - Dst: geos::linearref::LinearIterator::loadCurrentLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::linearref::LinearIterator::next
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::loadCurrentLine
    - getNumPoints
    - geos::linearref::LinearIterator::hasNext
    linkageType: ''
    returnType: void
    signature: void LinearIterator::next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/linearref/LinearIterator.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: geos::linearref::LinearIterator::isEndOfLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: bool
    signature: bool LinearIterator::isEndOfLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: geos::linearref::LinearIterator::getComponentIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getComponentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: geos::linearref::LinearIterator::getVertexIndex
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LinearIterator::getVertexIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::linearref::LinearIterator::getLine
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      LinearIterator::getLine() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: geos::linearref::LinearIterator::getSegmentStart
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentStart() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::linearref::LinearIterator::getLine
      Src: /src/geos/src/linearref/LinearIterator.cpp:153,1
    - Dst: getCoordinateN
      Src: /src/geos/src/linearref/LinearIterator.cpp:154,1
    - Dst: Coordinate::setNull
      Src: /src/geos/src/linearref/LinearIterator.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: geos::linearref::LinearIterator::getSegmentEnd
    functionSourceFile: /src/geos/src/linearref/LinearIterator.cpp
    functionUses: 0
    functionsReached:
    - geos::linearref::LinearIterator::getLine
    - getCoordinateN
    - Coordinate::setNull
    linkageType: ''
    returnType: Coordinate
    signature: Coordinate LinearIterator::getSegmentEnd() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:53,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Node.cpp:59,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:64,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:67,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' newCoord'
    - newEdges
    argTypes:
    - Coordinate
    - EdgeEndStar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::Node::Node
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::addZ
    - Label
    - EdgeEnd*::getCoordinate
    - toString
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void Node::Node(const Coordinate& newCoord, EdgeEndStar* newEdges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Node::~Node()
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '&

      Node::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Node::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::geomgraph::Node::getEdges
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: EdgeEndStar
    signature: 'EdgeEndStar *

      Node::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:108,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/Node.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: geos::geomgraph::Node::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Node::isIsolated() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:123,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:124,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:126,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/Node.cpp:127,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/Node.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: geos::geomgraph::Node::isIncidentEdgeInResult
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - assert
    - detail::down_cast<DirectedEdge*>
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool Node::isIncidentEdgeInResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:138,1
    - Dst: EdgeEnd*::print
      Src: /src/geos/src/geomgraph/Node.cpp:140,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:143,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:145,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:153,1
    - Dst: insert
      Src: /src/geos/src/geomgraph/Node.cpp:156,1
    - Dst: EdgeEnd*::setNode
      Src: /src/geos/src/geomgraph/Node.cpp:157,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/geos/src/geomgraph/Node.cpp
    - condition: (edges)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: geos::geomgraph::Node::add
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - insert
    - EdgeEnd*::setNode
    - geos::geomgraph::Node::addZ
    - EdgeEnd*::getCoordinate
    - EdgeEnd*::print
    - geos::util::IllegalArgumentException
    - assert
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: label::isNull
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: geos::geomgraph::Node::mergeLabel
      Src: /src/geos/src/geomgraph/Node.cpp:169,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - Node
    assertStmts:
    - condition: (!n.label.isNull())
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 1
    functionsReached:
    - assert
    - label::isNull
    - geos::geomgraph::Node::testInvariant
    - geos::geomgraph::Node::mergeLabel
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Node& n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::computeMergedLocation
      Src: /src/geos/src/geomgraph/Node.cpp:178,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:179,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:181,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' label2'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 1
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::computeMergedLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Label& label2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:191,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:192,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:195,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argIndex
    - onLocation
    argTypes:
    - uint8_t
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: geos::geomgraph::Node::setLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - Label
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabel(uint8_t argIndex, Location onLocation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:205,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:219,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: geos::geomgraph::Node::setLabelBoundary
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabelBoundary(uint8_t argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:228,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:229,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:230,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' label2'
    - eltIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: geos::geomgraph::Node::computeMergedLocation
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 1
    functionsReached:
    - getLocation
    - isNull
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: Location
    signature: Location Node::computeMergedLocation(const Label& label2, uint8_t eltIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:245,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geomgraph::Node::print
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Node::print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geomgraph/Node.cpp:259,1
    - Dst: find
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/Node.cpp:271,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: geos::geomgraph::Node::addZ
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 2
    functionsReached:
    - find
    - size
    - push_back
    - std::isnan
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void Node::addZ(double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: '&

      Node::getZ() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: 'std::vector<double> &

      Node::getZ() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' node'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: '&

      operator<< (std::ostream& os, const Node& node)'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Node& node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:53,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Node.cpp:59,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:64,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:67,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' newCoord'
    - newEdges
    argTypes:
    - Coordinate
    - EdgeEndStar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::Node::Node
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::addZ
    - Label
    - EdgeEnd*::getCoordinate
    - toString
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void Node::Node(const Coordinate& newCoord, EdgeEndStar* newEdges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Node::~Node()
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '&

      Node::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Node::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::geomgraph::Node::getEdges
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: EdgeEndStar
    signature: 'EdgeEndStar *

      Node::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:108,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/Node.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: geos::geomgraph::Node::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Node::isIsolated() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:123,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:124,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:126,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/Node.cpp:127,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/Node.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: geos::geomgraph::Node::isIncidentEdgeInResult
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - assert
    - detail::down_cast<DirectedEdge*>
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool Node::isIncidentEdgeInResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:138,1
    - Dst: EdgeEnd*::print
      Src: /src/geos/src/geomgraph/Node.cpp:140,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:143,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:145,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:153,1
    - Dst: insert
      Src: /src/geos/src/geomgraph/Node.cpp:156,1
    - Dst: EdgeEnd*::setNode
      Src: /src/geos/src/geomgraph/Node.cpp:157,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/geos/src/geomgraph/Node.cpp
    - condition: (edges)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: geos::geomgraph::Node::add
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - insert
    - EdgeEnd*::setNode
    - geos::geomgraph::Node::addZ
    - EdgeEnd*::getCoordinate
    - EdgeEnd*::print
    - geos::util::IllegalArgumentException
    - assert
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: label::isNull
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: geos::geomgraph::Node::mergeLabel
      Src: /src/geos/src/geomgraph/Node.cpp:169,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - Node
    assertStmts:
    - condition: (!n.label.isNull())
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 2
    functionsReached:
    - assert
    - label::isNull
    - geos::geomgraph::Node::testInvariant
    - geos::geomgraph::Node::mergeLabel
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Node& n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::computeMergedLocation
      Src: /src/geos/src/geomgraph/Node.cpp:178,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:179,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:181,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' label2'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 2
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::computeMergedLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Label& label2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:191,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:192,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:195,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argIndex
    - onLocation
    argTypes:
    - uint8_t
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: geos::geomgraph::Node::setLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - Label
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabel(uint8_t argIndex, Location onLocation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:205,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:219,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: geos::geomgraph::Node::setLabelBoundary
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabelBoundary(uint8_t argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:228,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:229,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:230,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' label2'
    - eltIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: geos::geomgraph::Node::computeMergedLocation
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 2
    functionsReached:
    - getLocation
    - isNull
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: Location
    signature: Location Node::computeMergedLocation(const Label& label2, uint8_t eltIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:245,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geomgraph::Node::print
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Node::print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geomgraph/Node.cpp:259,1
    - Dst: find
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/Node.cpp:271,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: geos::geomgraph::Node::addZ
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 4
    functionsReached:
    - find
    - size
    - push_back
    - std::isnan
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void Node::addZ(double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: '&

      Node::getZ() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: 'std::vector<double> &

      Node::getZ() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' node'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: '&

      operator<< (std::ostream& os, const Node& node)'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Node& node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:53,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Node.cpp:59,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:64,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:67,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' newCoord'
    - newEdges
    argTypes:
    - Coordinate
    - EdgeEndStar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::Node::Node
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::addZ
    - Label
    - EdgeEnd*::getCoordinate
    - toString
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void Node::Node(const Coordinate& newCoord, EdgeEndStar* newEdges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Node::~Node()
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '&

      Node::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Node::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::geomgraph::Node::getEdges
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: EdgeEndStar
    signature: 'EdgeEndStar *

      Node::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:108,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/Node.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: geos::geomgraph::Node::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Node::isIsolated() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:123,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:124,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:126,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/Node.cpp:127,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/Node.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: geos::geomgraph::Node::isIncidentEdgeInResult
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - assert
    - detail::down_cast<DirectedEdge*>
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool Node::isIncidentEdgeInResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:138,1
    - Dst: EdgeEnd*::print
      Src: /src/geos/src/geomgraph/Node.cpp:140,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:143,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:145,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:153,1
    - Dst: insert
      Src: /src/geos/src/geomgraph/Node.cpp:156,1
    - Dst: EdgeEnd*::setNode
      Src: /src/geos/src/geomgraph/Node.cpp:157,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/geos/src/geomgraph/Node.cpp
    - condition: (edges)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: geos::geomgraph::Node::add
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - insert
    - EdgeEnd*::setNode
    - geos::geomgraph::Node::addZ
    - EdgeEnd*::getCoordinate
    - EdgeEnd*::print
    - geos::util::IllegalArgumentException
    - assert
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: label::isNull
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: geos::geomgraph::Node::mergeLabel
      Src: /src/geos/src/geomgraph/Node.cpp:169,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - Node
    assertStmts:
    - condition: (!n.label.isNull())
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 3
    functionsReached:
    - assert
    - label::isNull
    - geos::geomgraph::Node::testInvariant
    - geos::geomgraph::Node::mergeLabel
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Node& n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::computeMergedLocation
      Src: /src/geos/src/geomgraph/Node.cpp:178,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:179,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:181,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' label2'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 3
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::computeMergedLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Label& label2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:191,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:192,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:195,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argIndex
    - onLocation
    argTypes:
    - uint8_t
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: geos::geomgraph::Node::setLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - Label
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabel(uint8_t argIndex, Location onLocation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:205,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:219,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: geos::geomgraph::Node::setLabelBoundary
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabelBoundary(uint8_t argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:228,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:229,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:230,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' label2'
    - eltIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: geos::geomgraph::Node::computeMergedLocation
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 3
    functionsReached:
    - getLocation
    - isNull
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: Location
    signature: Location Node::computeMergedLocation(const Label& label2, uint8_t eltIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:245,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geomgraph::Node::print
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Node::print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geomgraph/Node.cpp:259,1
    - Dst: find
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/Node.cpp:271,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: geos::geomgraph::Node::addZ
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 6
    functionsReached:
    - find
    - size
    - push_back
    - std::isnan
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void Node::addZ(double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: '&

      Node::getZ() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: 'std::vector<double> &

      Node::getZ() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' node'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: '&

      operator<< (std::ostream& os, const Node& node)'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Node& node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:53,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Node.cpp:59,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:64,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:66,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:67,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:69,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' newCoord'
    - newEdges
    argTypes:
    - Coordinate
    - EdgeEndStar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::Node::Node
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::addZ
    - Label
    - EdgeEnd*::getCoordinate
    - toString
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void Node::Node(const Coordinate& newCoord, EdgeEndStar* newEdges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: Node::~Node()
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::~Node()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '&

      Node::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      Node::getCoordinate() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: geos::geomgraph::Node::getEdges
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: EdgeEndStar
    signature: 'EdgeEndStar *

      Node::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:108,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/Node.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: geos::geomgraph::Node::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Node::isIsolated() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:117,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:123,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:124,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:126,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/Node.cpp:127,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/Node.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: geos::geomgraph::Node::isIncidentEdgeInResult
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - assert
    - detail::down_cast<DirectedEdge*>
    - geos::geomgraph::Node::testInvariant
    - begin
    - end
    linkageType: ''
    returnType: bool
    signature: bool Node::isIncidentEdgeInResult() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:138,1
    - Dst: EdgeEnd*::print
      Src: /src/geos/src/geomgraph/Node.cpp:140,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:143,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:145,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:153,1
    - Dst: insert
      Src: /src/geos/src/geomgraph/Node.cpp:156,1
    - Dst: EdgeEnd*::setNode
      Src: /src/geos/src/geomgraph/Node.cpp:157,1
    - Dst: geos::geomgraph::Node::addZ
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/Node.cpp:159,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/geos/src/geomgraph/Node.cpp
    - condition: (edges)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: geos::geomgraph::Node::add
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - insert
    - EdgeEnd*::setNode
    - geos::geomgraph::Node::addZ
    - EdgeEnd*::getCoordinate
    - EdgeEnd*::print
    - geos::util::IllegalArgumentException
    - assert
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: void
    signature: void Node::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: label::isNull
      Src: /src/geos/src/geomgraph/Node.cpp:168,1
    - Dst: geos::geomgraph::Node::mergeLabel
      Src: /src/geos/src/geomgraph/Node.cpp:169,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - Node
    assertStmts:
    - condition: (!n.label.isNull())
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/geos/src/geomgraph/Node.cpp
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 4
    functionsReached:
    - assert
    - label::isNull
    - geos::geomgraph::Node::testInvariant
    - geos::geomgraph::Node::mergeLabel
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Node& n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::computeMergedLocation
      Src: /src/geos/src/geomgraph/Node.cpp:178,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:179,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:181,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' label2'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: geos::geomgraph::Node::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 4
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::computeMergedLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::mergeLabel(const Label& label2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:191,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/Node.cpp:192,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:195,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argIndex
    - onLocation
    argTypes:
    - uint8_t
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: geos::geomgraph::Node::setLabel
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - Label
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabel(uint8_t argIndex, Location onLocation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:205,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/Node.cpp:219,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: geos::geomgraph::Node::setLabelBoundary
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - geos::geomgraph::Node::testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void Node::setLabelBoundary(uint8_t argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:228,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Node.cpp:229,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Node.cpp:230,1
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' label2'
    - eltIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: geos::geomgraph::Node::computeMergedLocation
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 4
    functionsReached:
    - getLocation
    - isNull
    - geos::geomgraph::Node::testInvariant
    linkageType: ''
    returnType: Location
    signature: Location Node::computeMergedLocation(const Label& label2, uint8_t eltIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::Node::testInvariant
      Src: /src/geos/src/geomgraph/Node.cpp:245,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Node.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: geos::geomgraph::Node::print
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::Node::testInvariant
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Node::print() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/geomgraph/Node.cpp:259,1
    - Dst: find
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: end
      Src: /src/geos/src/geomgraph/Node.cpp:265,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/Node.cpp:271,1
    - Dst: static_cast<double>
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:273,1
    - Dst: size
      Src: /src/geos/src/geomgraph/Node.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - z
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: geos::geomgraph::Node::addZ
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 8
    functionsReached:
    - find
    - size
    - push_back
    - std::isnan
    - begin
    - static_cast<double>
    - end
    linkageType: ''
    returnType: void
    signature: void Node::addZ(double z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: '&

      Node::getZ() const'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: 'std::vector<double> &

      Node::getZ() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' node'
    argTypes:
    - std::ostream
    - Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: '&

      operator<< (std::ostream& os, const Node& node)'
    functionSourceFile: /src/geos/src/geomgraph/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Node& node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - newStart
    - newGeometryFactory
    argTypes:
    - DirectedEdge*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::EdgeRing(DirectedEdge* newStart,\n                   const
      GeometryFactory* newGeometryFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:81,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::EdgeRing::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isIsolated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:88,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::EdgeRing::isHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isHole()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::geomgraph::EdgeRing::getLinearRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - get
    - testInvariant
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getLinearRing()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: '&

      EdgeRing::getLabel()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Label
    signature: 'Label &

      EdgeRing::getLabel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::geomgraph::EdgeRing::isShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::EdgeRing::getShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getShell()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::addHole
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:132,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newShell
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: geos::geomgraph::EdgeRing::setShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::addHole
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setShell(EdgeRing* newShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:140,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - edgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeRing::addHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - emplace_back
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* edgeRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:148,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:154,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:157,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_geometryFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: geos::geomgraph::EdgeRing::toPolygon
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - size
    - detail::make_unique<LinearRing>
    - GeometryFactory*::createPolygon
    - std::move
    - geos::geomgraph::EdgeRing::getLinearRing
    - testInvariant
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::toPolygon(const GeometryFactory*
      p_geometryFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:171,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: createLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::EdgeRing::computeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - getCoordinatesRO
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: '&

      EdgeRing::getEdges()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      EdgeRing::getEdges()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:204,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:207,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:208,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:212,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:215,1
    - Dst: geos::geomgraph::EdgeRing::addPoints
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::isForward
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: setEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:218,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:219,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - newStart
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (deLabel.isArea())
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::EdgeRing::computePoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getLabel
    - setEdgeRing
    - geos::geomgraph::EdgeRing::addPoints
    - getNext
    - isArea
    - push_back
    - geos::geomgraph::EdgeRing::mergeLabel
    - DirectedEdge*::isForward
    - DirectedEdge*::getEdgeRing
    - geos::util::TopologyException
    - assert
    - testInvariant
    - DirectedEdge*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computePoints(DirectedEdge* newStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:232,1
    - Dst: geos::geomgraph::EdgeRing::computeMaxNodeDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: geos::geomgraph::EdgeRing::getMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeRing::computeMaxNodeDegree
    - testInvariant
    linkageType: ''
    returnType: int
    signature: int EdgeRing::getMaxNodeDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getNode
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:247,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:248,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:249,1
    - Dst: DirectedEdgeStar*::getOutgoingDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:250,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:254,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: geos::geomgraph::EdgeRing::computeMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - getNext
    - detail::down_cast<DirectedEdgeStar*>
    - DirectedEdgeStar*::getOutgoingDegree
    - Node*::getEdges
    - testInvariant
    - DirectedEdge*::getNode
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeMaxNodeDegree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:269,1
    - Dst: DirectedEdge*::getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:270,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: geos::geomgraph::EdgeRing::setInResult
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getNext
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setInResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:282,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:283,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' deLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::mergeLabel
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:294,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:296,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:303,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' deLabel'
    - geomIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - getLocation
    - testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel, uint8_t geomIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:314,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:316,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:319,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:320,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - edge
    - isForward
    - isFirstEdge
    argTypes:
    - Edge*
    - bool
    - bool
    assertStmts:
    - condition: (ring == nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edgePts)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edge)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 344
    functionName: geos::geomgraph::EdgeRing::addPoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - add
    - CoordinateSequence*::getSize
    - assert
    - Edge*::getCoordinates
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addPoints(Edge* edge, bool isForward, bool isFirstEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:350,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:352,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:354,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:355,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:356,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:365,1
    - Dst: geos::geomgraph::EdgeRing::containsPoint
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (env)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (hole)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 371
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 371
    functionName: geos::geomgraph::EdgeRing::containsPoint
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - getCoordinatesRO
    - getEnvelopeInternal
    - geos::geomgraph::EdgeRing::containsPoint
    - Envelope*::contains
    - assert
    - geos::algorithm::PointLocation::isInRing
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::containsPoint(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' er'
    argTypes:
    - std::ostream
    - EdgeRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: '&

      operator<< (std::ostream& os, const EdgeRing& er)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeRing& er)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - newStart
    - newGeometryFactory
    argTypes:
    - DirectedEdge*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::EdgeRing(DirectedEdge* newStart,\n                   const
      GeometryFactory* newGeometryFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:81,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::EdgeRing::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isIsolated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:88,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::EdgeRing::isHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isHole()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::geomgraph::EdgeRing::getLinearRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - get
    - testInvariant
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getLinearRing()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: '&

      EdgeRing::getLabel()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Label
    signature: 'Label &

      EdgeRing::getLabel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::geomgraph::EdgeRing::isShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::EdgeRing::getShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getShell()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::addHole
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:132,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newShell
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: geos::geomgraph::EdgeRing::setShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::addHole
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setShell(EdgeRing* newShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:140,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - edgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeRing::addHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - emplace_back
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* edgeRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:148,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:154,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:157,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_geometryFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: geos::geomgraph::EdgeRing::toPolygon
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - size
    - detail::make_unique<LinearRing>
    - GeometryFactory*::createPolygon
    - std::move
    - geos::geomgraph::EdgeRing::getLinearRing
    - testInvariant
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::toPolygon(const GeometryFactory*
      p_geometryFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:171,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: createLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::EdgeRing::computeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - getCoordinatesRO
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: '&

      EdgeRing::getEdges()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      EdgeRing::getEdges()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:204,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:207,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:208,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:212,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:215,1
    - Dst: geos::geomgraph::EdgeRing::addPoints
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::isForward
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: setEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:218,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:219,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - newStart
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (deLabel.isArea())
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::EdgeRing::computePoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getLabel
    - setEdgeRing
    - geos::geomgraph::EdgeRing::addPoints
    - getNext
    - isArea
    - push_back
    - geos::geomgraph::EdgeRing::mergeLabel
    - DirectedEdge*::isForward
    - DirectedEdge*::getEdgeRing
    - geos::util::TopologyException
    - assert
    - testInvariant
    - DirectedEdge*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computePoints(DirectedEdge* newStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:232,1
    - Dst: geos::geomgraph::EdgeRing::computeMaxNodeDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: geos::geomgraph::EdgeRing::getMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeRing::computeMaxNodeDegree
    - testInvariant
    linkageType: ''
    returnType: int
    signature: int EdgeRing::getMaxNodeDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getNode
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:247,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:248,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:249,1
    - Dst: DirectedEdgeStar*::getOutgoingDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:250,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:254,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: geos::geomgraph::EdgeRing::computeMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - getNext
    - detail::down_cast<DirectedEdgeStar*>
    - DirectedEdgeStar*::getOutgoingDegree
    - Node*::getEdges
    - testInvariant
    - DirectedEdge*::getNode
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeMaxNodeDegree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:269,1
    - Dst: DirectedEdge*::getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:270,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: geos::geomgraph::EdgeRing::setInResult
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getNext
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setInResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:282,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:283,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' deLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::mergeLabel
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:294,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:296,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:303,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' deLabel'
    - geomIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - getLocation
    - testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel, uint8_t geomIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:314,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:316,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:319,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:320,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - edge
    - isForward
    - isFirstEdge
    argTypes:
    - Edge*
    - bool
    - bool
    assertStmts:
    - condition: (ring == nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edgePts)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edge)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 344
    functionName: geos::geomgraph::EdgeRing::addPoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - add
    - CoordinateSequence*::getSize
    - assert
    - Edge*::getCoordinates
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addPoints(Edge* edge, bool isForward, bool isFirstEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:350,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:352,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:354,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:355,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:356,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:365,1
    - Dst: geos::geomgraph::EdgeRing::containsPoint
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (env)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (hole)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 371
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 371
    functionName: geos::geomgraph::EdgeRing::containsPoint
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - getCoordinatesRO
    - getEnvelopeInternal
    - geos::geomgraph::EdgeRing::containsPoint
    - Envelope*::contains
    - assert
    - geos::algorithm::PointLocation::isInRing
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::containsPoint(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' er'
    argTypes:
    - std::ostream
    - EdgeRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: '&

      operator<< (std::ostream& os, const EdgeRing& er)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeRing& er)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - newStart
    - newGeometryFactory
    argTypes:
    - DirectedEdge*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::EdgeRing(DirectedEdge* newStart,\n                   const
      GeometryFactory* newGeometryFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:81,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::EdgeRing::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isIsolated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:88,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::EdgeRing::isHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isHole()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::geomgraph::EdgeRing::getLinearRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - get
    - testInvariant
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getLinearRing()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: '&

      EdgeRing::getLabel()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Label
    signature: 'Label &

      EdgeRing::getLabel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::geomgraph::EdgeRing::isShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::EdgeRing::getShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getShell()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::addHole
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:132,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newShell
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: geos::geomgraph::EdgeRing::setShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::addHole
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setShell(EdgeRing* newShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:140,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - edgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeRing::addHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - emplace_back
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* edgeRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:148,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:154,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:157,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_geometryFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: geos::geomgraph::EdgeRing::toPolygon
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - size
    - detail::make_unique<LinearRing>
    - GeometryFactory*::createPolygon
    - std::move
    - geos::geomgraph::EdgeRing::getLinearRing
    - testInvariant
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::toPolygon(const GeometryFactory*
      p_geometryFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:171,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: createLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::EdgeRing::computeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - getCoordinatesRO
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: '&

      EdgeRing::getEdges()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      EdgeRing::getEdges()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:204,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:207,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:208,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:212,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:215,1
    - Dst: geos::geomgraph::EdgeRing::addPoints
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::isForward
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: setEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:218,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:219,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - newStart
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (deLabel.isArea())
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::EdgeRing::computePoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getLabel
    - setEdgeRing
    - geos::geomgraph::EdgeRing::addPoints
    - getNext
    - isArea
    - push_back
    - geos::geomgraph::EdgeRing::mergeLabel
    - DirectedEdge*::isForward
    - DirectedEdge*::getEdgeRing
    - geos::util::TopologyException
    - assert
    - testInvariant
    - DirectedEdge*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computePoints(DirectedEdge* newStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:232,1
    - Dst: geos::geomgraph::EdgeRing::computeMaxNodeDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: geos::geomgraph::EdgeRing::getMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeRing::computeMaxNodeDegree
    - testInvariant
    linkageType: ''
    returnType: int
    signature: int EdgeRing::getMaxNodeDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getNode
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:247,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:248,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:249,1
    - Dst: DirectedEdgeStar*::getOutgoingDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:250,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:254,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: geos::geomgraph::EdgeRing::computeMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - getNext
    - detail::down_cast<DirectedEdgeStar*>
    - DirectedEdgeStar*::getOutgoingDegree
    - Node*::getEdges
    - testInvariant
    - DirectedEdge*::getNode
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeMaxNodeDegree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:269,1
    - Dst: DirectedEdge*::getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:270,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: geos::geomgraph::EdgeRing::setInResult
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getNext
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setInResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:282,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:283,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' deLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 6
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::mergeLabel
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:294,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:296,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:303,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' deLabel'
    - geomIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 6
    functionsReached:
    - getLocation
    - testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel, uint8_t geomIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:314,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:316,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:319,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:320,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - edge
    - isForward
    - isFirstEdge
    argTypes:
    - Edge*
    - bool
    - bool
    assertStmts:
    - condition: (ring == nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edgePts)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edge)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 344
    functionName: geos::geomgraph::EdgeRing::addPoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - add
    - CoordinateSequence*::getSize
    - assert
    - Edge*::getCoordinates
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addPoints(Edge* edge, bool isForward, bool isFirstEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:350,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:352,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:354,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:355,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:356,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:365,1
    - Dst: geos::geomgraph::EdgeRing::containsPoint
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (env)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (hole)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 371
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 371
    functionName: geos::geomgraph::EdgeRing::containsPoint
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - getCoordinatesRO
    - getEnvelopeInternal
    - geos::geomgraph::EdgeRing::containsPoint
    - Envelope*::contains
    - assert
    - geos::algorithm::PointLocation::isInRing
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::containsPoint(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' er'
    argTypes:
    - std::ostream
    - EdgeRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: '&

      operator<< (std::ostream& os, const EdgeRing& er)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeRing& er)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - newStart
    - newGeometryFactory
    argTypes:
    - DirectedEdge*
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::EdgeRing(DirectedEdge* newStart,\n                   const
      GeometryFactory* newGeometryFactory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:81,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::EdgeRing::isIsolated
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isIsolated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:88,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::EdgeRing::isHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isHole()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:102,1
    - Dst: get
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::geomgraph::EdgeRing::getLinearRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - get
    - testInvariant
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getLinearRing()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: '&

      EdgeRing::getLabel()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: Label
    signature: 'Label &

      EdgeRing::getLabel()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: geos::geomgraph::EdgeRing::isShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isShell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::EdgeRing::getShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getShell()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::addHole
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:132,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newShell
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: geos::geomgraph::EdgeRing::setShell
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::addHole
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setShell(EdgeRing* newShell)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:140,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - edgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeRing::addHole
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - emplace_back
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* edgeRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:148,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:153,1
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:154,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:155,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:157,1
    - Dst: detail::make_unique<LinearRing>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: geos::geomgraph::EdgeRing::getLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:160,1
    - Dst: GeometryFactory*::createPolygon
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_geometryFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: geos::geomgraph::EdgeRing::toPolygon
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - size
    - detail::make_unique<LinearRing>
    - GeometryFactory*::createPolygon
    - std::move
    - geos::geomgraph::EdgeRing::getLinearRing
    - testInvariant
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::toPolygon(const GeometryFactory*
      p_geometryFactory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:171,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:176,1
    - Dst: createLinearRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: std::move
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:177,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:178,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::EdgeRing::computeRing
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::move
    - getCoordinatesRO
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: '&

      EdgeRing::getEdges()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - testInvariant
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      EdgeRing::getEdges()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:204,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:207,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:208,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:212,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:213,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:214,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:215,1
    - Dst: geos::geomgraph::EdgeRing::addPoints
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: DirectedEdge*::isForward
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:216,1
    - Dst: setEdgeRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:218,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:219,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - newStart
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (deLabel.isArea())
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::EdgeRing::computePoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getLabel
    - setEdgeRing
    - geos::geomgraph::EdgeRing::addPoints
    - getNext
    - isArea
    - push_back
    - geos::geomgraph::EdgeRing::mergeLabel
    - DirectedEdge*::isForward
    - DirectedEdge*::getEdgeRing
    - geos::util::TopologyException
    - assert
    - testInvariant
    - DirectedEdge*::getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computePoints(DirectedEdge* newStart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:232,1
    - Dst: geos::geomgraph::EdgeRing::computeMaxNodeDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: geos::geomgraph::EdgeRing::getMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeRing::computeMaxNodeDegree
    - testInvariant
    linkageType: ''
    returnType: int
    signature: int EdgeRing::getMaxNodeDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getNode
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:247,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:248,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:249,1
    - Dst: DirectedEdgeStar*::getOutgoingDegree
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:250,1
    - Dst: getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:254,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: geos::geomgraph::EdgeRing::computeMaxNodeDegree
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - getNext
    - detail::down_cast<DirectedEdgeStar*>
    - DirectedEdgeStar*::getOutgoingDegree
    - Node*::getEdges
    - testInvariant
    - DirectedEdge*::getNode
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeMaxNodeDegree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:269,1
    - Dst: DirectedEdge*::getNext
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:270,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: geos::geomgraph::EdgeRing::setInResult
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::getNext
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::setInResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:282,1
    - Dst: geos::geomgraph::EdgeRing::mergeLabel
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:283,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' deLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - testInvariant
    - geos::geomgraph::EdgeRing::mergeLabel
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:294,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:296,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:303,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' deLabel'
    - geomIndex
    argTypes:
    - Label
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::geomgraph::EdgeRing::mergeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - getLocation
    - testInvariant
    - setLocation
    linkageType: ''
    returnType: void
    signature: void EdgeRing::mergeLabel(const Label& deLabel, uint8_t geomIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:314,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:316,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:317,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:319,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:320,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:328,1
    - Dst: add
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:339,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - edge
    - isForward
    - isFirstEdge
    argTypes:
    - Edge*
    - bool
    - bool
    assertStmts:
    - condition: (ring == nullptr)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edgePts)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (edge)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 344
    functionName: geos::geomgraph::EdgeRing::addPoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - add
    - CoordinateSequence*::getSize
    - assert
    - Edge*::getCoordinates
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addPoints(Edge* edge, bool isForward, bool isFirstEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:350,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:352,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:354,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:355,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:356,1
    - Dst: geos::algorithm::PointLocation::isInRing
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:360,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:365,1
    - Dst: geos::geomgraph::EdgeRing::containsPoint
      Src: /src/geos/src/geomgraph/EdgeRing.cpp:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (ring)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (env)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    - condition: (hole)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/geos/src/geomgraph/EdgeRing.cpp
    constantsTouched: []
    func_position:
      end: 371
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 371
    functionName: geos::geomgraph::EdgeRing::containsPoint
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - getCoordinatesRO
    - getEnvelopeInternal
    - geos::geomgraph::EdgeRing::containsPoint
    - Envelope*::contains
    - assert
    - geos::algorithm::PointLocation::isInRing
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::containsPoint(const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' er'
    argTypes:
    - std::ostream
    - EdgeRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: '&

      operator<< (std::ostream& os, const EdgeRing& er)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeRing& er)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' gl'
    argTypes:
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::TopologyLocation::merge
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void TopologyLocation::merge(const TopologyLocation& gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geomgraph::TopologyLocation::toString
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string TopologyLocation::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' tl'
    argTypes:
    - std::ostream
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: '&

      operator<< (std::ostream& os, const TopologyLocation& tl)'
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const TopologyLocation& tl)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' gl'
    argTypes:
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::TopologyLocation::merge
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void TopologyLocation::merge(const TopologyLocation& gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geomgraph::TopologyLocation::toString
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string TopologyLocation::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' tl'
    argTypes:
    - std::ostream
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: '&

      operator<< (std::ostream& os, const TopologyLocation& tl)'
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const TopologyLocation& tl)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' gl'
    argTypes:
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::TopologyLocation::merge
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void TopologyLocation::merge(const TopologyLocation& gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geomgraph::TopologyLocation::toString
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string TopologyLocation::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' tl'
    argTypes:
    - std::ostream
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: '&

      operator<< (std::ostream& os, const TopologyLocation& tl)'
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const TopologyLocation& tl)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' gl'
    argTypes:
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::TopologyLocation::merge
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void TopologyLocation::merge(const TopologyLocation& gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/TopologyLocation.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: geos::geomgraph::TopologyLocation::toString
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string TopologyLocation::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' tl'
    argTypes:
    - std::ostream
    - TopologyLocation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: '&

      operator<< (std::ostream& os, const TopologyLocation& tl)'
    functionSourceFile: /src/geos/src/geomgraph/TopologyLocation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const TopologyLocation& tl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::EdgeIntersectionList::EdgeIntersectionList
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::EdgeIntersectionList(const Edge* newEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:59,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:67,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' coord'
    - segmentIndex
    - dist
    argTypes:
    - Coordinate
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::EdgeIntersectionList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - back
    - size
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: "void EdgeIntersectionList::add(const Coordinate& coord,\n                          std::size_t
      segmentIndex, double dist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geomgraph::EdgeIntersectionList::isEmpty
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeIntersectionList::isIntersection
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isIntersection(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:95,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: geos::geomgraph::EdgeIntersectionList::addEndpoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - pts::getAt
    - getNumPoints
    - geos::geomgraph::EdgeIntersectionList::add
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeIntersectionList::addEndpoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:113,1
    - Dst: geos::geomgraph::EdgeIntersectionList::createSplitEdge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:115,1
    - Dst: std::vector<Edge*>*::push_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - edgeList
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeIntersectionList::addSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeIntersectionList::addEndpoints
    - std::vector<Edge*>*::push_back
    - geos::geomgraph::EdgeIntersectionList::createSplitEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addSplitEdges(std::vector<Edge*>* edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:131,1
    - Dst: EdgeIntersection*::coord::equals2D
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:138,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:148,1
    - Dst: auto::reserve
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:149,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:154,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - EdgeIntersection*
    - EdgeIntersection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::EdgeIntersectionList::createSplitEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - pts::getAt
    - EdgeIntersection*::coord::equals2D
    - auto::reserve
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - Edge::Edge
    - getLabel
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nEdgeIntersectionList::createSplitEdge(const EdgeIntersection*
      ei0,\n                                      const EdgeIntersection* ei1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::EdgeIntersectionList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeIntersectionList::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - EdgeIntersectionList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: '&

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::EdgeIntersectionList::EdgeIntersectionList
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::EdgeIntersectionList(const Edge* newEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:59,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:67,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' coord'
    - segmentIndex
    - dist
    argTypes:
    - Coordinate
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::EdgeIntersectionList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 1
    functionsReached:
    - back
    - size
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: "void EdgeIntersectionList::add(const Coordinate& coord,\n                          std::size_t
      segmentIndex, double dist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geomgraph::EdgeIntersectionList::isEmpty
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeIntersectionList::isIntersection
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isIntersection(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:95,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: geos::geomgraph::EdgeIntersectionList::addEndpoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 1
    functionsReached:
    - pts::getAt
    - getNumPoints
    - geos::geomgraph::EdgeIntersectionList::add
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeIntersectionList::addEndpoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:113,1
    - Dst: geos::geomgraph::EdgeIntersectionList::createSplitEdge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:115,1
    - Dst: std::vector<Edge*>*::push_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - edgeList
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeIntersectionList::addSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeIntersectionList::addEndpoints
    - std::vector<Edge*>*::push_back
    - geos::geomgraph::EdgeIntersectionList::createSplitEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addSplitEdges(std::vector<Edge*>* edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:131,1
    - Dst: EdgeIntersection*::coord::equals2D
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:138,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:148,1
    - Dst: auto::reserve
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:149,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:154,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - EdgeIntersection*
    - EdgeIntersection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::EdgeIntersectionList::createSplitEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - pts::getAt
    - EdgeIntersection*::coord::equals2D
    - auto::reserve
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - Edge::Edge
    - getLabel
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nEdgeIntersectionList::createSplitEdge(const EdgeIntersection*
      ei0,\n                                      const EdgeIntersection* ei1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::EdgeIntersectionList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeIntersectionList::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - EdgeIntersectionList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: '&

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::EdgeIntersectionList::EdgeIntersectionList
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::EdgeIntersectionList(const Edge* newEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:59,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:67,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' coord'
    - segmentIndex
    - dist
    argTypes:
    - Coordinate
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::EdgeIntersectionList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 2
    functionsReached:
    - back
    - size
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: "void EdgeIntersectionList::add(const Coordinate& coord,\n                          std::size_t
      segmentIndex, double dist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geomgraph::EdgeIntersectionList::isEmpty
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeIntersectionList::isIntersection
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isIntersection(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:95,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: geos::geomgraph::EdgeIntersectionList::addEndpoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 2
    functionsReached:
    - pts::getAt
    - getNumPoints
    - geos::geomgraph::EdgeIntersectionList::add
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeIntersectionList::addEndpoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:113,1
    - Dst: geos::geomgraph::EdgeIntersectionList::createSplitEdge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:115,1
    - Dst: std::vector<Edge*>*::push_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - edgeList
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeIntersectionList::addSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeIntersectionList::addEndpoints
    - std::vector<Edge*>*::push_back
    - geos::geomgraph::EdgeIntersectionList::createSplitEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addSplitEdges(std::vector<Edge*>* edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:131,1
    - Dst: EdgeIntersection*::coord::equals2D
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:138,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:148,1
    - Dst: auto::reserve
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:149,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:154,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - EdgeIntersection*
    - EdgeIntersection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::EdgeIntersectionList::createSplitEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - pts::getAt
    - EdgeIntersection*::coord::equals2D
    - auto::reserve
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - Edge::Edge
    - getLabel
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nEdgeIntersectionList::createSplitEdge(const EdgeIntersection*
      ei0,\n                                      const EdgeIntersection* ei1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::EdgeIntersectionList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeIntersectionList::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - EdgeIntersectionList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: '&

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::EdgeIntersectionList::EdgeIntersectionList
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::EdgeIntersectionList(const Edge* newEdge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:59,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:63,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:67,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' coord'
    - segmentIndex
    - dist
    argTypes:
    - Coordinate
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::EdgeIntersectionList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 3
    functionsReached:
    - back
    - size
    - emplace_back
    - empty
    linkageType: ''
    returnType: void
    signature: "void EdgeIntersectionList::add(const Coordinate& coord,\n                          std::size_t
      segmentIndex, double dist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::geomgraph::EdgeIntersectionList::isEmpty
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isEmpty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeIntersectionList::isIntersection
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeIntersectionList::isIntersection(const Coordinate& pt) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:95,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:96,1
    - Dst: geos::geomgraph::EdgeIntersectionList::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: geos::geomgraph::EdgeIntersectionList::addEndpoints
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 3
    functionsReached:
    - pts::getAt
    - getNumPoints
    - geos::geomgraph::EdgeIntersectionList::add
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeIntersectionList::addEndpoints
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:113,1
    - Dst: geos::geomgraph::EdgeIntersectionList::createSplitEdge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:115,1
    - Dst: std::vector<Edge*>*::push_back
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - edgeList
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeIntersectionList::addSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeIntersectionList::addEndpoints
    - std::vector<Edge*>*::push_back
    - geos::geomgraph::EdgeIntersectionList::createSplitEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeIntersectionList::addSplitEdges(std::vector<Edge*>* edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:131,1
    - Dst: EdgeIntersection*::coord::equals2D
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:138,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:148,1
    - Dst: auto::reserve
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:149,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:151,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:154,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:157,1
    - Dst: auto::add
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - EdgeIntersection*
    - EdgeIntersection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::EdgeIntersectionList::createSplitEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - pts::getAt
    - EdgeIntersection*::coord::equals2D
    - auto::reserve
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - Edge::Edge
    - getLabel
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nEdgeIntersectionList::createSplitEdge(const EdgeIntersection*
      ei0,\n                                      const EdgeIntersection* ei1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeIntersectionList.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::EdgeIntersectionList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeIntersectionList::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - EdgeIntersectionList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: '&

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeIntersectionList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeIntersectionList& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeList.cpp:45,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::EdgeList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeList::add(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:53,1
    - Dst: geos::geomgraph::EdgeList::add
      Src: /src/geos/src/geomgraph/EdgeList.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edgeColl'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: geos::geomgraph::EdgeList::addAll
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geomgraph::EdgeList::add
    linkageType: ''
    returnType: void
    signature: void EdgeList::addAll(const std::vector<Edge*>& edgeColl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeList::get
      Src: /src/geos/src/geomgraph/EdgeList.cpp:68,1
    - Dst: Profile*::start
      Src: /src/geos/src/geomgraph/EdgeList.cpp:69,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:72,1
    - Dst: find
      Src: /src/geos/src/geomgraph/EdgeList.cpp:74,1
    - Dst: Profile*::stop
      Src: /src/geos/src/geomgraph/EdgeList.cpp:77,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeList.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::EdgeList::findEqualEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeList::get
    - find
    - Profile*::stop
    - Profile*::start
    - Edge*::getCoordinates
    - end
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::findEqualEdge(const Edge* e) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeList::get
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::get(std::size_t i)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:100,1
    - Dst: equals
      Src: /src/geos/src/geomgraph/EdgeList.cpp:101,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geomgraph/EdgeList.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeList::findEdgeIndex
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    - equals
    linkageType: ''
    returnType: int
    signature: int EdgeList::findEdgeIndex(const Edge* e) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeList.cpp:113,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:116,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/EdgeList.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: geos::geomgraph::EdgeList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - Edge*::print
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeList::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/EdgeList.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: geos::geomgraph::EdgeList::clearList
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void EdgeList::clearList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' el'
    argTypes:
    - std::ostream
    - EdgeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: '&

      operator<< (std::ostream& os, const EdgeList& el)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - edges::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeList& el)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeList.cpp:45,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::EdgeList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 1
    functionsReached:
    - Edge*::getCoordinates
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeList::add(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:53,1
    - Dst: geos::geomgraph::EdgeList::add
      Src: /src/geos/src/geomgraph/EdgeList.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edgeColl'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: geos::geomgraph::EdgeList::addAll
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geomgraph::EdgeList::add
    linkageType: ''
    returnType: void
    signature: void EdgeList::addAll(const std::vector<Edge*>& edgeColl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeList::get
      Src: /src/geos/src/geomgraph/EdgeList.cpp:68,1
    - Dst: Profile*::start
      Src: /src/geos/src/geomgraph/EdgeList.cpp:69,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:72,1
    - Dst: find
      Src: /src/geos/src/geomgraph/EdgeList.cpp:74,1
    - Dst: Profile*::stop
      Src: /src/geos/src/geomgraph/EdgeList.cpp:77,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeList.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::EdgeList::findEqualEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeList::get
    - find
    - Profile*::stop
    - Profile*::start
    - Edge*::getCoordinates
    - end
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::findEqualEdge(const Edge* e) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeList::get
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::get(std::size_t i)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:100,1
    - Dst: equals
      Src: /src/geos/src/geomgraph/EdgeList.cpp:101,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geomgraph/EdgeList.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeList::findEdgeIndex
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    - equals
    linkageType: ''
    returnType: int
    signature: int EdgeList::findEdgeIndex(const Edge* e) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeList.cpp:113,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:116,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/EdgeList.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: geos::geomgraph::EdgeList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - Edge*::print
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeList::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/EdgeList.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: geos::geomgraph::EdgeList::clearList
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void EdgeList::clearList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' el'
    argTypes:
    - std::ostream
    - EdgeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: '&

      operator<< (std::ostream& os, const EdgeList& el)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - edges::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeList& el)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeList.cpp:45,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::EdgeList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 2
    functionsReached:
    - Edge*::getCoordinates
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeList::add(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:53,1
    - Dst: geos::geomgraph::EdgeList::add
      Src: /src/geos/src/geomgraph/EdgeList.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edgeColl'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: geos::geomgraph::EdgeList::addAll
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geomgraph::EdgeList::add
    linkageType: ''
    returnType: void
    signature: void EdgeList::addAll(const std::vector<Edge*>& edgeColl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeList::get
      Src: /src/geos/src/geomgraph/EdgeList.cpp:68,1
    - Dst: Profile*::start
      Src: /src/geos/src/geomgraph/EdgeList.cpp:69,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:72,1
    - Dst: find
      Src: /src/geos/src/geomgraph/EdgeList.cpp:74,1
    - Dst: Profile*::stop
      Src: /src/geos/src/geomgraph/EdgeList.cpp:77,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeList.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::EdgeList::findEqualEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeList::get
    - find
    - Profile*::stop
    - Profile*::start
    - Edge*::getCoordinates
    - end
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::findEqualEdge(const Edge* e) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeList::get
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::get(std::size_t i)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:100,1
    - Dst: equals
      Src: /src/geos/src/geomgraph/EdgeList.cpp:101,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geomgraph/EdgeList.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeList::findEdgeIndex
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    - equals
    linkageType: ''
    returnType: int
    signature: int EdgeList::findEdgeIndex(const Edge* e) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeList.cpp:113,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:116,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/EdgeList.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: geos::geomgraph::EdgeList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - Edge*::print
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeList::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/EdgeList.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: geos::geomgraph::EdgeList::clearList
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void EdgeList::clearList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' el'
    argTypes:
    - std::ostream
    - EdgeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: '&

      operator<< (std::ostream& os, const EdgeList& el)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - edges::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeList& el)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeList.cpp:45,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::EdgeList::add
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 3
    functionsReached:
    - Edge*::getCoordinates
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeList::add(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:53,1
    - Dst: geos::geomgraph::EdgeList::add
      Src: /src/geos/src/geomgraph/EdgeList.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' edgeColl'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: geos::geomgraph::EdgeList::addAll
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - size
    - geos::geomgraph::EdgeList::add
    linkageType: ''
    returnType: void
    signature: void EdgeList::addAll(const std::vector<Edge*>& edgeColl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeList::get
      Src: /src/geos/src/geomgraph/EdgeList.cpp:68,1
    - Dst: Profile*::start
      Src: /src/geos/src/geomgraph/EdgeList.cpp:69,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeList.cpp:72,1
    - Dst: find
      Src: /src/geos/src/geomgraph/EdgeList.cpp:74,1
    - Dst: Profile*::stop
      Src: /src/geos/src/geomgraph/EdgeList.cpp:77,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeList.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::EdgeList::findEqualEdge
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeList::get
    - find
    - Profile*::stop
    - Profile*::start
    - Edge*::getCoordinates
    - end
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::findEqualEdge(const Edge* e) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeList::get
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      EdgeList::get(std::size_t i)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:100,1
    - Dst: equals
      Src: /src/geos/src/geomgraph/EdgeList.cpp:101,1
    - Dst: static_cast<int>
      Src: /src/geos/src/geomgraph/EdgeList.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeList::findEdgeIndex
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    - equals
    linkageType: ''
    returnType: int
    signature: int EdgeList::findEdgeIndex(const Edge* e) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeList.cpp:113,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:116,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/EdgeList.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: geos::geomgraph::EdgeList::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - Edge*::print
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeList::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/EdgeList.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: geos::geomgraph::EdgeList::clearList
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void EdgeList::clearList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::size
      Src: /src/geos/src/geomgraph/EdgeList.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' os'
    - ' el'
    argTypes:
    - std::ostream
    - EdgeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: '&

      operator<< (std::ostream& os, const EdgeList& el)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeList.cpp
    functionUses: 0
    functionsReached:
    - edges::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeList& el)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newNodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap(const NodeFactory& newNodeFact)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geomgraph/NodeMap.cpp:53,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:55,1
    - Dst: createNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:60,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:61,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:62,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:64,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:68,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - createNode
    - toString
    - std::unique_ptr<Node>
    - get
    - Node*::addZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(const Coordinate& coord)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/NodeMap.cpp:80,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:83,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:86,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:91,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:92,1
    - Dst: Node*::getZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:97,1
    - Dst: size
      Src: /src/geos/src/geomgraph/NodeMap.cpp:98,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:99,1
    - Dst: Node*::mergeLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts:
    - condition: (n)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geomgraph/NodeMap.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - Node*::addZ
    - size
    - Node*::mergeLabel
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - std::unique_ptr<Node>
    - Node*::print
    - get
    - assert
    - Node*::getZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:111,1
    - Dst: geos::geomgraph::NodeMap::addNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:112,1
    - Dst: Node*::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::NodeMap::addNode
    - EdgeEnd*::getCoordinate
    - Node*::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::NodeMap::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: release
      Src: /src/geos/src/geomgraph/NodeMap.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::unique_ptr<EdgeEnd>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 1
    functionsReached:
    - get
    - release
    - geos::geomgraph::NodeMap::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(std::unique_ptr<EdgeEnd>&& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:129,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:131,1
    - Dst: end
      Src: /src/geos/src/geomgraph/NodeMap.cpp:133,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: geos::geomgraph::NodeMap::find
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 3
    functionsReached:
    - second::get
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const Coordinate& coord) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:145,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/NodeMap.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomIndex
    - ' bdyNodes'
    argTypes:
    - uint8_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::geomgraph::NodeMap::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::getLabel
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeMap::getBoundaryNodes(uint8_t geomIndex, std::vector<Node*>&
      bdyNodes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:157,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: geos::geomgraph::NodeMap::print
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::print
    linkageType: ''
    returnType: std::string
    signature: std::string NodeMap::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newNodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap(const NodeFactory& newNodeFact)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geomgraph/NodeMap.cpp:53,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:55,1
    - Dst: createNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:60,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:61,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:62,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:64,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:68,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 1
    functionsReached:
    - Node*::getCoordinate
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - createNode
    - toString
    - std::unique_ptr<Node>
    - get
    - Node*::addZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(const Coordinate& coord)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/NodeMap.cpp:80,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:83,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:86,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:91,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:92,1
    - Dst: Node*::getZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:97,1
    - Dst: size
      Src: /src/geos/src/geomgraph/NodeMap.cpp:98,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:99,1
    - Dst: Node*::mergeLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts:
    - condition: (n)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geomgraph/NodeMap.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 1
    functionsReached:
    - Node*::getCoordinate
    - Node*::addZ
    - size
    - Node*::mergeLabel
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - std::unique_ptr<Node>
    - Node*::print
    - get
    - assert
    - Node*::getZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:111,1
    - Dst: geos::geomgraph::NodeMap::addNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:112,1
    - Dst: Node*::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::NodeMap::addNode
    - EdgeEnd*::getCoordinate
    - Node*::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::NodeMap::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: release
      Src: /src/geos/src/geomgraph/NodeMap.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::unique_ptr<EdgeEnd>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 2
    functionsReached:
    - get
    - release
    - geos::geomgraph::NodeMap::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(std::unique_ptr<EdgeEnd>&& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:129,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:131,1
    - Dst: end
      Src: /src/geos/src/geomgraph/NodeMap.cpp:133,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: geos::geomgraph::NodeMap::find
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 6
    functionsReached:
    - second::get
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const Coordinate& coord) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:145,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/NodeMap.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomIndex
    - ' bdyNodes'
    argTypes:
    - uint8_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::geomgraph::NodeMap::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::getLabel
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeMap::getBoundaryNodes(uint8_t geomIndex, std::vector<Node*>&
      bdyNodes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:157,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: geos::geomgraph::NodeMap::print
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::print
    linkageType: ''
    returnType: std::string
    signature: std::string NodeMap::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newNodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap(const NodeFactory& newNodeFact)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geomgraph/NodeMap.cpp:53,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:55,1
    - Dst: createNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:60,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:61,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:62,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:64,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:68,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 2
    functionsReached:
    - Node*::getCoordinate
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - createNode
    - toString
    - std::unique_ptr<Node>
    - get
    - Node*::addZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(const Coordinate& coord)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/NodeMap.cpp:80,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:83,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:86,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:91,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:92,1
    - Dst: Node*::getZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:97,1
    - Dst: size
      Src: /src/geos/src/geomgraph/NodeMap.cpp:98,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:99,1
    - Dst: Node*::mergeLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts:
    - condition: (n)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geomgraph/NodeMap.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 2
    functionsReached:
    - Node*::getCoordinate
    - Node*::addZ
    - size
    - Node*::mergeLabel
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - std::unique_ptr<Node>
    - Node*::print
    - get
    - assert
    - Node*::getZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:111,1
    - Dst: geos::geomgraph::NodeMap::addNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:112,1
    - Dst: Node*::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::NodeMap::addNode
    - EdgeEnd*::getCoordinate
    - Node*::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::NodeMap::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: release
      Src: /src/geos/src/geomgraph/NodeMap.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::unique_ptr<EdgeEnd>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 3
    functionsReached:
    - get
    - release
    - geos::geomgraph::NodeMap::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(std::unique_ptr<EdgeEnd>&& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:129,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:131,1
    - Dst: end
      Src: /src/geos/src/geomgraph/NodeMap.cpp:133,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: geos::geomgraph::NodeMap::find
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 9
    functionsReached:
    - second::get
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const Coordinate& coord) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:145,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/NodeMap.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomIndex
    - ' bdyNodes'
    argTypes:
    - uint8_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::geomgraph::NodeMap::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::getLabel
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeMap::getBoundaryNodes(uint8_t geomIndex, std::vector<Node*>&
      bdyNodes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:157,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: geos::geomgraph::NodeMap::print
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::print
    linkageType: ''
    returnType: std::string
    signature: std::string NodeMap::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newNodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::NodeMap::NodeMap
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NodeMap::NodeMap(const NodeFactory& newNodeFact)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/geos/src/geomgraph/NodeMap.cpp:53,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:55,1
    - Dst: createNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:60,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:61,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:62,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:63,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:64,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:68,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 3
    functionsReached:
    - Node*::getCoordinate
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - createNode
    - toString
    - std::unique_ptr<Node>
    - get
    - Node*::addZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(const Coordinate& coord)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/NodeMap.cpp:80,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:83,1
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:85,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:86,1
    - Dst: std::unique_ptr<Node>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:91,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:92,1
    - Dst: Node*::getZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:97,1
    - Dst: size
      Src: /src/geos/src/geomgraph/NodeMap.cpp:98,1
    - Dst: Node*::addZ
      Src: /src/geos/src/geomgraph/NodeMap.cpp:99,1
    - Dst: Node*::mergeLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - Node*
    assertStmts:
    - condition: (n)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/geos/src/geomgraph/NodeMap.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::NodeMap::addNode
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 3
    functionsReached:
    - Node*::getCoordinate
    - Node*::addZ
    - size
    - Node*::mergeLabel
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - std::unique_ptr<Node>
    - Node*::print
    - get
    - assert
    - Node*::getZ
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::addNode(Node* n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/NodeMap.cpp:111,1
    - Dst: geos::geomgraph::NodeMap::addNode
      Src: /src/geos/src/geomgraph/NodeMap.cpp:112,1
    - Dst: Node*::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::NodeMap::addNode
    - EdgeEnd*::getCoordinate
    - Node*::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::NodeMap::add
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:119,1
    - Dst: release
      Src: /src/geos/src/geomgraph/NodeMap.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - std::unique_ptr<EdgeEnd>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::geomgraph::NodeMap::add
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 4
    functionsReached:
    - get
    - release
    - geos::geomgraph::NodeMap::add
    linkageType: ''
    returnType: void
    signature: void NodeMap::add(std::unique_ptr<EdgeEnd>&& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Coordinate*>
      Src: /src/geos/src/geomgraph/NodeMap.cpp:129,1
    - Dst: geos::geomgraph::NodeMap::find
      Src: /src/geos/src/geomgraph/NodeMap.cpp:131,1
    - Dst: end
      Src: /src/geos/src/geomgraph/NodeMap.cpp:133,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: geos::geomgraph::NodeMap::find
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 12
    functionsReached:
    - second::get
    - geos::geomgraph::NodeMap::find
    - const_cast<Coordinate*>
    - end
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeMap::find(const Coordinate& coord) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:145,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/NodeMap.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/NodeMap.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geomIndex
    - ' bdyNodes'
    argTypes:
    - uint8_t
    - std::vector<Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::geomgraph::NodeMap::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::getLabel
    - push_back
    linkageType: ''
    returnType: void
    signature: void NodeMap::getBoundaryNodes(uint8_t geomIndex, std::vector<Node*>&
      bdyNodes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/NodeMap.cpp:157,1
    - Dst: Node*::print
      Src: /src/geos/src/geomgraph/NodeMap.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: geos::geomgraph::NodeMap::print
    functionSourceFile: /src/geos/src/geomgraph/NodeMap.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - Node*::print
    linkageType: ''
    returnType: std::string
    signature: std::string NodeMap::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:37,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:39,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: '&

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - push_back
    - auto::release
    - auto::get
    - BasicSegmentString::BasicSegmentString
    - Edge*::getCoordinates
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> &

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: EdgeNodingValidator::~EdgeNodingValidator()
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeNodingValidator::~EdgeNodingValidator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:37,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:39,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: '&

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - push_back
    - auto::release
    - auto::get
    - BasicSegmentString::BasicSegmentString
    - Edge*::getCoordinates
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> &

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: EdgeNodingValidator::~EdgeNodingValidator()
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeNodingValidator::~EdgeNodingValidator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:37,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:39,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: '&

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - push_back
    - auto::release
    - auto::get
    - BasicSegmentString::BasicSegmentString
    - Edge*::getCoordinates
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> &

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: EdgeNodingValidator::~EdgeNodingValidator()
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeNodingValidator::~EdgeNodingValidator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:37,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:39,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: BasicSegmentString::BasicSegmentString
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - std::vector<Edge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: '&

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - push_back
    - auto::release
    - auto::get
    - BasicSegmentString::BasicSegmentString
    - Edge*::getCoordinates
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> &

      EdgeNodingValidator::toSegmentStrings(std::vector<Edge*>& edges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:49,1
    - Dst: size
      Src: /src/geos/src/geomgraph/EdgeNodingValidator.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: EdgeNodingValidator::~EdgeNodingValidator()
    functionSourceFile: /src/geos/src/geomgraph/EdgeNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void EdgeNodingValidator::~EdgeNodingValidator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:57,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:58,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph(const NodeFactory& nodeFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:66,1
    - Dst: geos::util::Profiler::instance
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - geos::util::Profiler::instance
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:81,1
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: PlanarGraph::~PlanarGraph()
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::~PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:97,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (edges)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: geos::geomgraph::PlanarGraph::getEdgeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: std::vector<Edge*>::iterator
    signature: std::vector<Edge*>::iterator PlanarGraph::getEdgeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::PlanarGraph::getEdgeEnds
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EdgeEnd*>
    signature: 'std::vector<EdgeEnd*> *

      PlanarGraph::getEdgeEnds()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:112,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:114,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:119,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - geomIndex
    - ' coord'
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::PlanarGraph::isBoundaryNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - geos::geomgraph::PlanarGraph::find
    - getLocation
    - Node*::getLabel
    - assert
    linkageType: ''
    returnType: bool
    signature: bool PlanarGraph::isBoundaryNode(uint8_t geomIndex, const Coordinate&
      coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:131,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:132,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (edges)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::PlanarGraph::insertEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::insertEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:142,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:143,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:145,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:146,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (edgeEndList)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nodes)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:154,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::PlanarGraph::getNodeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: NodeMap::iterator
    signature: NodeMap::iterator PlanarGraph::getNodeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:162,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (elem.second.get())
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: geos::geomgraph::PlanarGraph::getNodes
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    - second::get
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::getNodes(std::vector<Node*>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:175,1
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(const Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:198,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::PlanarGraph::find
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::find(Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:207,1
    - Dst: end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:208,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:211,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:216,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:217,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' edgesToAdd'
    argTypes:
    - std::vector<Edge*>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::PlanarGraph::addEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - push_back
    - detail::make_unique<DirectedEdge>
    - auto::release
    - auto::get
    - assert
    - begin
    - auto::setSym
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::addEdges(const std::vector<Edge*>& edgesToAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:235,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:236,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:238,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:239,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:240,1
    - Dst: DirectedEdgeStar*::linkResultDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ees)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (node)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: geos::geomgraph::PlanarGraph::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdgeStar*::linkResultDirectedEdges
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkResultDirectedEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:259,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:260,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:262,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:263,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:266,1
    - Dst: DirectedEdgeStar*::linkAllDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (node)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ees)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: geos::geomgraph::PlanarGraph::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    - DirectedEdgeStar*::linkAllDirectedEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkAllDirectedEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getEdgeEnds
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:277,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:283,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (eev)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ee)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: geos::geomgraph::PlanarGraph::findEdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector*::end
    - EdgeEnd*::getEdge
    - std::vector*::begin
    - geos::geomgraph::PlanarGraph::getEdgeEnds
    - assert
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      PlanarGraph::findEdgeEnd(Edge* e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:297,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:299,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:301,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:302,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: geos::geomgraph::PlanarGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - CoordinateSequence*::getAt
    - size
    - Edge*::getCoordinates
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      PlanarGraph::findEdge(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getNodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:316,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:321,1
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:322,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:324,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:326,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:328,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:329,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:331,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:332,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:333,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:337,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:338,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nCoords > 1)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: geos::geomgraph::PlanarGraph::findEdgeInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - Edge*::getCoordinates
    - geos::geomgraph::PlanarGraph::getNodeMap
    - CoordinateSequence*::size
    - assert
    - Node*::getEdges
    - getEdge
    - geos::geomgraph::PlanarGraph::matchInSameDirection
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nPlanarGraph::findEdgeInSameDirection(const Coordinate& p0,\n
      \                                    const Coordinate& p1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:356,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' ep0'
    - ' ep1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: geos::geomgraph::PlanarGraph::matchInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PlanarGraph::matchInSameDirection(const Coordinate& p0, const
      Coordinate& p1,\n                                  const Coordinate& ep0, const
      Coordinate& ep1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:369,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: Edge*::eiList::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: geos::geomgraph::PlanarGraph::printEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::eiList::print
    - Edge*::print
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PlanarGraph::printEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::PlanarGraph::getNodeMap
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NodeMap
    signature: 'NodeMap *

      PlanarGraph::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:57,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:58,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph(const NodeFactory& nodeFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:66,1
    - Dst: geos::util::Profiler::instance
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - geos::util::Profiler::instance
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:81,1
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: PlanarGraph::~PlanarGraph()
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::~PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:97,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (edges)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: geos::geomgraph::PlanarGraph::getEdgeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: std::vector<Edge*>::iterator
    signature: std::vector<Edge*>::iterator PlanarGraph::getEdgeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::PlanarGraph::getEdgeEnds
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EdgeEnd*>
    signature: 'std::vector<EdgeEnd*> *

      PlanarGraph::getEdgeEnds()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:112,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:114,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:119,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - geomIndex
    - ' coord'
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::PlanarGraph::isBoundaryNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - geos::geomgraph::PlanarGraph::find
    - getLocation
    - Node*::getLabel
    - assert
    linkageType: ''
    returnType: bool
    signature: bool PlanarGraph::isBoundaryNode(uint8_t geomIndex, const Coordinate&
      coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:131,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:132,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (edges)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::PlanarGraph::insertEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::insertEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:142,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:143,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:145,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:146,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (edgeEndList)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nodes)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:154,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::PlanarGraph::getNodeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: NodeMap::iterator
    signature: NodeMap::iterator PlanarGraph::getNodeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:162,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (elem.second.get())
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: geos::geomgraph::PlanarGraph::getNodes
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    - second::get
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::getNodes(std::vector<Node*>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:175,1
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(const Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:198,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::PlanarGraph::find
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::find(Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:207,1
    - Dst: end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:208,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:211,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:216,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:217,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' edgesToAdd'
    argTypes:
    - std::vector<Edge*>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::PlanarGraph::addEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - push_back
    - detail::make_unique<DirectedEdge>
    - auto::release
    - auto::get
    - assert
    - begin
    - auto::setSym
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::addEdges(const std::vector<Edge*>& edgesToAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:235,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:236,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:238,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:239,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:240,1
    - Dst: DirectedEdgeStar*::linkResultDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ees)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (node)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: geos::geomgraph::PlanarGraph::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdgeStar*::linkResultDirectedEdges
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkResultDirectedEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:259,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:260,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:262,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:263,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:266,1
    - Dst: DirectedEdgeStar*::linkAllDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (node)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ees)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: geos::geomgraph::PlanarGraph::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    - DirectedEdgeStar*::linkAllDirectedEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkAllDirectedEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getEdgeEnds
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:277,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:283,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (eev)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ee)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: geos::geomgraph::PlanarGraph::findEdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector*::end
    - EdgeEnd*::getEdge
    - std::vector*::begin
    - geos::geomgraph::PlanarGraph::getEdgeEnds
    - assert
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      PlanarGraph::findEdgeEnd(Edge* e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:297,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:299,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:301,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:302,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: geos::geomgraph::PlanarGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - CoordinateSequence*::getAt
    - size
    - Edge*::getCoordinates
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      PlanarGraph::findEdge(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getNodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:316,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:321,1
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:322,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:324,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:326,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:328,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:329,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:331,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:332,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:333,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:337,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:338,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nCoords > 1)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: geos::geomgraph::PlanarGraph::findEdgeInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - Edge*::getCoordinates
    - geos::geomgraph::PlanarGraph::getNodeMap
    - CoordinateSequence*::size
    - assert
    - Node*::getEdges
    - getEdge
    - geos::geomgraph::PlanarGraph::matchInSameDirection
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nPlanarGraph::findEdgeInSameDirection(const Coordinate& p0,\n
      \                                    const Coordinate& p1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:356,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' ep0'
    - ' ep1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: geos::geomgraph::PlanarGraph::matchInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PlanarGraph::matchInSameDirection(const Coordinate& p0, const
      Coordinate& p1,\n                                  const Coordinate& ep0, const
      Coordinate& ep1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:369,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: Edge*::eiList::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: geos::geomgraph::PlanarGraph::printEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::eiList::print
    - Edge*::print
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PlanarGraph::printEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::PlanarGraph::getNodeMap
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: NodeMap
    signature: 'NodeMap *

      PlanarGraph::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:57,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:58,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph(const NodeFactory& nodeFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:66,1
    - Dst: geos::util::Profiler::instance
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - geos::util::Profiler::instance
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:81,1
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: PlanarGraph::~PlanarGraph()
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::~PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:97,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (edges)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: geos::geomgraph::PlanarGraph::getEdgeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: std::vector<Edge*>::iterator
    signature: std::vector<Edge*>::iterator PlanarGraph::getEdgeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::PlanarGraph::getEdgeEnds
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EdgeEnd*>
    signature: 'std::vector<EdgeEnd*> *

      PlanarGraph::getEdgeEnds()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:112,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:114,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:119,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - geomIndex
    - ' coord'
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::PlanarGraph::isBoundaryNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - geos::geomgraph::PlanarGraph::find
    - getLocation
    - Node*::getLabel
    - assert
    linkageType: ''
    returnType: bool
    signature: bool PlanarGraph::isBoundaryNode(uint8_t geomIndex, const Coordinate&
      coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:131,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:132,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (edges)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::PlanarGraph::insertEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::insertEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:142,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:143,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:145,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:146,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (edgeEndList)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nodes)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 5
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:154,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::PlanarGraph::getNodeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: NodeMap::iterator
    signature: NodeMap::iterator PlanarGraph::getNodeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:162,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (elem.second.get())
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: geos::geomgraph::PlanarGraph::getNodes
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    - second::get
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::getNodes(std::vector<Node*>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:175,1
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 5
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 6
    functionsReached:
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(const Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:198,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::PlanarGraph::find
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 6
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::find(Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:207,1
    - Dst: end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:208,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:211,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:216,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:217,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' edgesToAdd'
    argTypes:
    - std::vector<Edge*>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::PlanarGraph::addEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - push_back
    - detail::make_unique<DirectedEdge>
    - auto::release
    - auto::get
    - assert
    - begin
    - auto::setSym
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::addEdges(const std::vector<Edge*>& edgesToAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:235,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:236,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:238,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:239,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:240,1
    - Dst: DirectedEdgeStar*::linkResultDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ees)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (node)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: geos::geomgraph::PlanarGraph::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdgeStar*::linkResultDirectedEdges
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkResultDirectedEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:259,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:260,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:262,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:263,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:266,1
    - Dst: DirectedEdgeStar*::linkAllDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (node)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ees)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: geos::geomgraph::PlanarGraph::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    - DirectedEdgeStar*::linkAllDirectedEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkAllDirectedEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getEdgeEnds
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:277,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:283,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (eev)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ee)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: geos::geomgraph::PlanarGraph::findEdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector*::end
    - EdgeEnd*::getEdge
    - std::vector*::begin
    - geos::geomgraph::PlanarGraph::getEdgeEnds
    - assert
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      PlanarGraph::findEdgeEnd(Edge* e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:297,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:299,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:301,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:302,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: geos::geomgraph::PlanarGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - CoordinateSequence*::getAt
    - size
    - Edge*::getCoordinates
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      PlanarGraph::findEdge(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getNodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:316,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:321,1
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:322,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:324,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:326,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:328,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:329,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:331,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:332,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:333,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:337,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:338,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nCoords > 1)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: geos::geomgraph::PlanarGraph::findEdgeInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - Edge*::getCoordinates
    - geos::geomgraph::PlanarGraph::getNodeMap
    - CoordinateSequence*::size
    - assert
    - Node*::getEdges
    - getEdge
    - geos::geomgraph::PlanarGraph::matchInSameDirection
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nPlanarGraph::findEdgeInSameDirection(const Coordinate& p0,\n
      \                                    const Coordinate& p1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:356,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' ep0'
    - ' ep1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: geos::geomgraph::PlanarGraph::matchInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PlanarGraph::matchInSameDirection(const Coordinate& p0, const
      Coordinate& p1,\n                                  const Coordinate& ep0, const
      Coordinate& ep1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:369,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: Edge*::eiList::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: geos::geomgraph::PlanarGraph::printEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::eiList::print
    - Edge*::print
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PlanarGraph::printEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::PlanarGraph::getNodeMap
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: NodeMap
    signature: 'NodeMap *

      PlanarGraph::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:57,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:58,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nodeFact'
    argTypes:
    - NodeFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph(const NodeFactory& nodeFact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>::vector<Edge*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:66,1
    - Dst: geos::util::Profiler::instance
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: NodeMap::NodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:67,1
    - Dst: std::vector<EdgeEnd*>::vector<EdgeEnd*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::PlanarGraph::PlanarGraph
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector<EdgeEnd*>::vector<EdgeEnd*>
    - geos::util::Profiler::instance
    - std::vector<Edge*>::vector<Edge*>
    - NodeMap::NodeMap
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:81,1
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: PlanarGraph::~PlanarGraph()
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::~PlanarGraph()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:97,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (edges)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: geos::geomgraph::PlanarGraph::getEdgeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: std::vector<Edge*>::iterator
    signature: std::vector<Edge*>::iterator PlanarGraph::getEdgeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::PlanarGraph::getEdgeEnds
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EdgeEnd*>
    signature: 'std::vector<EdgeEnd*> *

      PlanarGraph::getEdgeEnds()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:112,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:114,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:119,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - geomIndex
    - ' coord'
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: geos::geomgraph::PlanarGraph::isBoundaryNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - geos::geomgraph::PlanarGraph::find
    - getLocation
    - Node*::getLabel
    - assert
    linkageType: ''
    returnType: bool
    signature: bool PlanarGraph::isBoundaryNode(uint8_t geomIndex, const Coordinate&
      coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:131,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:132,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (edges)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::PlanarGraph::insertEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::insertEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:142,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:143,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:145,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:146,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (edgeEndList)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nodes)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::PlanarGraph::add
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 7
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - assert
    - push_back
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::add(EdgeEnd* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:154,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::PlanarGraph::getNodeIterator
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    linkageType: ''
    returnType: NodeMap::iterator
    signature: NodeMap::iterator PlanarGraph::getNodeIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:162,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<Node*>
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (elem.second.get())
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: geos::geomgraph::PlanarGraph::getNodes
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    - second::get
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::getNodes(std::vector<Node*>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:175,1
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 7
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(Node* node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::addNode
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: geos::geomgraph::PlanarGraph::addNode
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 8
    functionsReached:
    - geos::geomgraph::PlanarGraph::addNode
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::addNode(const Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:198,1
    - Dst: geos::geomgraph::PlanarGraph::find
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts:
    - condition: (nodes)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::PlanarGraph::find
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 8
    functionsReached:
    - assert
    - geos::geomgraph::PlanarGraph::find
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PlanarGraph::find(Coordinate& coord)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:207,1
    - Dst: end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:208,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:210,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:211,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:216,1
    - Dst: detail::make_unique<DirectedEdge>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:217,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:218,1
    - Dst: auto::setSym
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:219,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:222,1
    - Dst: geos::geomgraph::PlanarGraph::add
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' edgesToAdd'
    argTypes:
    - std::vector<Edge*>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::PlanarGraph::addEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::PlanarGraph::add
    - push_back
    - detail::make_unique<DirectedEdge>
    - auto::release
    - auto::get
    - assert
    - begin
    - auto::setSym
    - end
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::addEdges(const std::vector<Edge*>& edgesToAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:235,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:236,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:238,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:239,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:240,1
    - Dst: DirectedEdgeStar*::linkResultDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ees)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (node)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: geos::geomgraph::PlanarGraph::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdgeStar*::linkResultDirectedEdges
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkResultDirectedEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: second::get
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:259,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:260,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:262,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:263,1
    - Dst: detail::down_cast<DirectedEdgeStar*>
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:266,1
    - Dst: DirectedEdgeStar*::linkAllDirectedEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (node)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ees)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: geos::geomgraph::PlanarGraph::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - second::get
    - detail::down_cast<DirectedEdgeStar*>
    - assert
    - Node*::getEdges
    - DirectedEdgeStar*::linkAllDirectedEdges
    linkageType: ''
    returnType: void
    signature: void PlanarGraph::linkAllDirectedEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getEdgeEnds
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:277,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:279,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:283,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts:
    - condition: (eev)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (ee)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: geos::geomgraph::PlanarGraph::findEdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector*::end
    - EdgeEnd*::getEdge
    - std::vector*::begin
    - geos::geomgraph::PlanarGraph::getEdgeEnds
    - assert
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      PlanarGraph::findEdgeEnd(Edge* e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:297,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:299,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:301,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:302,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (e)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: geos::geomgraph::PlanarGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - assert
    - CoordinateSequence*::getAt
    - size
    - Edge*::getCoordinates
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      PlanarGraph::findEdge(const Coordinate& p0, const Coordinate& p1)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::PlanarGraph::getNodeMap
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:316,1
    - Dst: Node*::getEdges
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:321,1
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:322,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:324,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:326,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:328,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:329,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:331,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:332,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:333,1
    - Dst: geos::geomgraph::PlanarGraph::matchInSameDirection
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:337,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:338,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (eCoord)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    - condition: (nCoords > 1)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/geos/src/geomgraph/PlanarGraph.cpp
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: geos::geomgraph::PlanarGraph::findEdgeInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - Edge*::getCoordinates
    - geos::geomgraph::PlanarGraph::getNodeMap
    - CoordinateSequence*::size
    - assert
    - Node*::getEdges
    - getEdge
    - geos::geomgraph::PlanarGraph::matchInSameDirection
    linkageType: ''
    returnType: Edge
    signature: "Edge *\nPlanarGraph::findEdgeInSameDirection(const Coordinate& p0,\n
      \                                    const Coordinate& p1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:356,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ' ep0'
    - ' ep1'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: geos::geomgraph::PlanarGraph::matchInSameDirection
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::PolygonNodeTopology::quadrant
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: bool
    signature: "bool PlanarGraph::matchInSameDirection(const Coordinate& p0, const
      Coordinate& p1,\n                                  const Coordinate& ep0, const
      Coordinate& ep1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:369,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: Edge*::eiList::print
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:371,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/PlanarGraph.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: geos::geomgraph::PlanarGraph::printEdges
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::eiList::print
    - Edge*::print
    - size
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PlanarGraph::printEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::PlanarGraph::getNodeMap
    functionSourceFile: /src/geos/src/geomgraph/PlanarGraph.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: NodeMap
    signature: 'NodeMap *

      PlanarGraph::getNodeMap()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::Node
      Src: /src/geos/src/geomgraph/NodeFactory.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::geomgraph::NodeFactory::createNode
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached:
    - Node::Node
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeFactory::createNode(const Coordinate& coord) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '&

      NodeFactory::instance()'
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeFactory
    signature: 'NodeFactory &

      NodeFactory::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::Node
      Src: /src/geos/src/geomgraph/NodeFactory.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::geomgraph::NodeFactory::createNode
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached:
    - Node::Node
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeFactory::createNode(const Coordinate& coord) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '&

      NodeFactory::instance()'
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeFactory
    signature: 'NodeFactory &

      NodeFactory::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::Node
      Src: /src/geos/src/geomgraph/NodeFactory.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::geomgraph::NodeFactory::createNode
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached:
    - Node::Node
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeFactory::createNode(const Coordinate& coord) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '&

      NodeFactory::instance()'
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeFactory
    signature: 'NodeFactory &

      NodeFactory::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::Node
      Src: /src/geos/src/geomgraph/NodeFactory.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' coord'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::geomgraph::NodeFactory::createNode
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached:
    - Node::Node
    linkageType: ''
    returnType: Node
    signature: 'Node *

      NodeFactory::createNode(const Coordinate& coord) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '&

      NodeFactory::instance()'
    functionSourceFile: /src/geos/src/geomgraph/NodeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeFactory
    signature: 'NodeFactory &

      NodeFactory::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:50,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:51,1
    - Dst: insertEdgeEnd
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdgeStar::insert
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - detail::down_cast<DirectedEdge*>
    - insertEdgeEnd
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::insert(EdgeEnd* ee)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:61,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - detail::down_cast<DirectedEdge*>
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:74,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:76,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:77,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdgeRing
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree(EdgeRing* er)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:89,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:90,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:94,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:95,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:97,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:104,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:105,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:107,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:108,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:109,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:110,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:120,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deLast)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: geos::geomgraph::DirectedEdgeStar::getRightmostEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isNorthern
    - DirectedEdge*::getDy
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getQuadrant
    - assert
    - begin
    - end
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getRightmostEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeLabelling
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:138,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:142,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:144,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:146,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:148,1
    - Dst: Edge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:149,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:151,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (e)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: geos::geomgraph::DirectedEdgeStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - Label
    - assert
    - getLocation
    - EdgeEnd*::getEdge
    - Edge*::getLabel
    - setLocation
    - geos::geomgraph::EdgeEndStar::computeLabelling
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:163,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:164,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:165,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:166,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:167,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:169,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:170,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:172,1
    - Dst: merge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deSym)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: geos::geomgraph::DirectedEdgeStar::mergeSymLabels
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - merge
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::mergeSymLabels()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:182,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:184,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:185,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:186,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' nodeLabel'
    argTypes:
    - Label
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: geos::geomgraph::DirectedEdgeStar::updateLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - setAllLocationsIfNull
    - getLocation
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::updateLabelling(const Label& nodeLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:200,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:201,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:202,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:203,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: '&

      DirectedEdgeStar::getResultAreaEdges()'
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - push_back
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getResultAreaEdges()'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getResultAreaEdges
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:219,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:226,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:229,1
    - Dst: getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:233,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:234,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:237,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:243,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:250,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:253,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:260,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:261,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:264,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextOut)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->isInResult())
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 267
    functionName: geos::geomgraph::DirectedEdgeStar::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - isInResult
    - getResultAreaEdges
    - getCoordinate
    - DirectedEdge*::isInResult
    - getSym
    - geos::util::TopologyException
    - getLabel
    - assert
    - DirectedEdge*::setNext
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkResultDirectedEdges()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:284,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:286,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:287,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:290,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:295,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:302,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:305,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:306,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:314,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextOut)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->getEdgeRing() == er)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 317
    functionName: geos::geomgraph::DirectedEdgeStar::linkMinimalDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setNextMin
    - rend
    - DirectedEdge*::getEdgeRing
    - DirectedEdge*::getSym
    - assert
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkMinimalDirectedEdges(EdgeRing* er)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:330,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:331,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:333,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:334,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:336,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:337,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:343,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:348,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstIn)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: geos::geomgraph::DirectedEdgeStar::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - rend
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - DirectedEdge*::setNext
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkAllDirectedEdges()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:368,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:369,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:370,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:371,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:373,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:374,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:376,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:377,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:381,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:399,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:400,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:401,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:403,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:404,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:406,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:407,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:410,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 418
    functionName: geos::geomgraph::DirectedEdgeStar::findCoveredLineEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::isInResult
    - DirectedEdge*::getSym
    - detail::down_cast<DirectedEdge*>
    - assert
    - DirectedEdge*::isLineEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::findCoveredLineEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:424,1
    - Dst: find
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:426,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:428,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:429,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (de)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 442
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 1
    functionsReached:
    - DirectedEdge*::getCoordinate
    - find
    - geos::geomgraph::DirectedEdgeStar::computeDepths
    - DirectedEdge*::getDepth
    - geos::util::TopologyException
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeDepths(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:451,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:452,1
    - Dst: DirectedEdge*::setEdgeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:454,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - startIt
    - endIt
    - startDepth
    argTypes:
    - EdgeEndStar::iterator
    - EdgeEndStar::iterator
    - int
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 1
    functionsReached:
    - DirectedEdge*::setEdgeDepths
    - assert
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getDepth
    linkageType: ''
    returnType: int
    signature: "int DirectedEdgeStar::computeDepths(EdgeEndStar::iterator startIt,\n
      \                               EdgeEndStar::iterator endIt, int startDepth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:464,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:466,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:467,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:468,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:469,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:470,1
    - Dst: DirectedEdge*::print
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:472,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de->getSym())
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: geos::geomgraph::DirectedEdgeStar::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - DirectedEdge*::print
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdgeStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:50,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:51,1
    - Dst: insertEdgeEnd
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdgeStar::insert
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - detail::down_cast<DirectedEdge*>
    - insertEdgeEnd
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::insert(EdgeEnd* ee)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:61,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - detail::down_cast<DirectedEdge*>
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:74,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:76,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:77,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdgeRing
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree(EdgeRing* er)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:89,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:90,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:94,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:95,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:97,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:104,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:105,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:107,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:108,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:109,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:110,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:120,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deLast)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: geos::geomgraph::DirectedEdgeStar::getRightmostEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isNorthern
    - DirectedEdge*::getDy
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getQuadrant
    - assert
    - begin
    - end
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getRightmostEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeLabelling
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:138,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:142,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:144,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:146,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:148,1
    - Dst: Edge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:149,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:151,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (e)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: geos::geomgraph::DirectedEdgeStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - Label
    - assert
    - getLocation
    - EdgeEnd*::getEdge
    - Edge*::getLabel
    - setLocation
    - geos::geomgraph::EdgeEndStar::computeLabelling
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:163,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:164,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:165,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:166,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:167,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:169,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:170,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:172,1
    - Dst: merge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deSym)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: geos::geomgraph::DirectedEdgeStar::mergeSymLabels
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - merge
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::mergeSymLabels()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:182,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:184,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:185,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:186,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' nodeLabel'
    argTypes:
    - Label
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: geos::geomgraph::DirectedEdgeStar::updateLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - setAllLocationsIfNull
    - getLocation
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::updateLabelling(const Label& nodeLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:200,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:201,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:202,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:203,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: '&

      DirectedEdgeStar::getResultAreaEdges()'
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - push_back
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getResultAreaEdges()'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getResultAreaEdges
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:219,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:226,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:229,1
    - Dst: getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:233,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:234,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:237,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:243,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:250,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:253,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:260,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:261,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:264,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextOut)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->isInResult())
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 267
    functionName: geos::geomgraph::DirectedEdgeStar::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - isInResult
    - getResultAreaEdges
    - getCoordinate
    - DirectedEdge*::isInResult
    - getSym
    - geos::util::TopologyException
    - getLabel
    - assert
    - DirectedEdge*::setNext
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkResultDirectedEdges()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:284,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:286,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:287,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:290,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:295,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:302,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:305,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:306,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:314,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextOut)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->getEdgeRing() == er)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 317
    functionName: geos::geomgraph::DirectedEdgeStar::linkMinimalDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setNextMin
    - rend
    - DirectedEdge*::getEdgeRing
    - DirectedEdge*::getSym
    - assert
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkMinimalDirectedEdges(EdgeRing* er)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:330,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:331,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:333,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:334,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:336,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:337,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:343,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:348,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstIn)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: geos::geomgraph::DirectedEdgeStar::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - rend
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - DirectedEdge*::setNext
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkAllDirectedEdges()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:368,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:369,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:370,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:371,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:373,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:374,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:376,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:377,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:381,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:399,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:400,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:401,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:403,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:404,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:406,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:407,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:410,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 418
    functionName: geos::geomgraph::DirectedEdgeStar::findCoveredLineEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::isInResult
    - DirectedEdge*::getSym
    - detail::down_cast<DirectedEdge*>
    - assert
    - DirectedEdge*::isLineEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::findCoveredLineEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:424,1
    - Dst: find
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:426,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:428,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:429,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (de)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 442
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 2
    functionsReached:
    - DirectedEdge*::getCoordinate
    - find
    - geos::geomgraph::DirectedEdgeStar::computeDepths
    - DirectedEdge*::getDepth
    - geos::util::TopologyException
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeDepths(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:451,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:452,1
    - Dst: DirectedEdge*::setEdgeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:454,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - startIt
    - endIt
    - startDepth
    argTypes:
    - EdgeEndStar::iterator
    - EdgeEndStar::iterator
    - int
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 2
    functionsReached:
    - DirectedEdge*::setEdgeDepths
    - assert
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getDepth
    linkageType: ''
    returnType: int
    signature: "int DirectedEdgeStar::computeDepths(EdgeEndStar::iterator startIt,\n
      \                               EdgeEndStar::iterator endIt, int startDepth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:464,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:466,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:467,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:468,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:469,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:470,1
    - Dst: DirectedEdge*::print
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:472,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de->getSym())
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: geos::geomgraph::DirectedEdgeStar::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - DirectedEdge*::print
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdgeStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:50,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:51,1
    - Dst: insertEdgeEnd
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdgeStar::insert
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - detail::down_cast<DirectedEdge*>
    - insertEdgeEnd
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::insert(EdgeEnd* ee)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:61,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - detail::down_cast<DirectedEdge*>
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:74,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:76,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:77,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdgeRing
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree(EdgeRing* er)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:89,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:90,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:94,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:95,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:97,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:104,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:105,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:107,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:108,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:109,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:110,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:120,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deLast)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: geos::geomgraph::DirectedEdgeStar::getRightmostEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isNorthern
    - DirectedEdge*::getDy
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getQuadrant
    - assert
    - begin
    - end
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getRightmostEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeLabelling
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:138,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:142,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:144,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:146,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:148,1
    - Dst: Edge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:149,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:151,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (e)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: geos::geomgraph::DirectedEdgeStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - Label
    - assert
    - getLocation
    - EdgeEnd*::getEdge
    - Edge*::getLabel
    - setLocation
    - geos::geomgraph::EdgeEndStar::computeLabelling
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:163,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:164,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:165,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:166,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:167,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:169,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:170,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:172,1
    - Dst: merge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deSym)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: geos::geomgraph::DirectedEdgeStar::mergeSymLabels
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - merge
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::mergeSymLabels()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:182,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:184,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:185,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:186,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' nodeLabel'
    argTypes:
    - Label
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: geos::geomgraph::DirectedEdgeStar::updateLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - setAllLocationsIfNull
    - getLocation
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::updateLabelling(const Label& nodeLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:200,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:201,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:202,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:203,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: '&

      DirectedEdgeStar::getResultAreaEdges()'
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - push_back
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getResultAreaEdges()'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getResultAreaEdges
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:219,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:226,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:229,1
    - Dst: getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:233,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:234,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:237,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:243,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:250,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:253,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:260,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:261,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:264,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextOut)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->isInResult())
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 267
    functionName: geos::geomgraph::DirectedEdgeStar::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - isInResult
    - getResultAreaEdges
    - getCoordinate
    - DirectedEdge*::isInResult
    - getSym
    - geos::util::TopologyException
    - getLabel
    - assert
    - DirectedEdge*::setNext
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkResultDirectedEdges()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:284,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:286,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:287,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:290,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:295,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:302,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:305,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:306,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:314,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextOut)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->getEdgeRing() == er)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 317
    functionName: geos::geomgraph::DirectedEdgeStar::linkMinimalDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setNextMin
    - rend
    - DirectedEdge*::getEdgeRing
    - DirectedEdge*::getSym
    - assert
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkMinimalDirectedEdges(EdgeRing* er)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:330,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:331,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:333,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:334,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:336,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:337,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:343,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:348,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstIn)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: geos::geomgraph::DirectedEdgeStar::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - rend
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - DirectedEdge*::setNext
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkAllDirectedEdges()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:368,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:369,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:370,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:371,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:373,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:374,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:376,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:377,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:381,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:399,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:400,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:401,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:403,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:404,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:406,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:407,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:410,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 418
    functionName: geos::geomgraph::DirectedEdgeStar::findCoveredLineEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::isInResult
    - DirectedEdge*::getSym
    - detail::down_cast<DirectedEdge*>
    - assert
    - DirectedEdge*::isLineEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::findCoveredLineEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:424,1
    - Dst: find
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:426,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:428,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:429,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (de)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 442
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 3
    functionsReached:
    - DirectedEdge*::getCoordinate
    - find
    - geos::geomgraph::DirectedEdgeStar::computeDepths
    - DirectedEdge*::getDepth
    - geos::util::TopologyException
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeDepths(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:451,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:452,1
    - Dst: DirectedEdge*::setEdgeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:454,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - startIt
    - endIt
    - startDepth
    argTypes:
    - EdgeEndStar::iterator
    - EdgeEndStar::iterator
    - int
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 3
    functionsReached:
    - DirectedEdge*::setEdgeDepths
    - assert
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getDepth
    linkageType: ''
    returnType: int
    signature: "int DirectedEdgeStar::computeDepths(EdgeEndStar::iterator startIt,\n
      \                               EdgeEndStar::iterator endIt, int startDepth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:464,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:466,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:467,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:468,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:469,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:470,1
    - Dst: DirectedEdge*::print
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:472,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de->getSym())
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: geos::geomgraph::DirectedEdgeStar::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - DirectedEdge*::print
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdgeStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:50,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:51,1
    - Dst: insertEdgeEnd
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdgeStar::insert
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - detail::down_cast<DirectedEdge*>
    - insertEdgeEnd
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::insert(EdgeEnd* ee)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:61,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - detail::down_cast<DirectedEdge*>
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:74,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:75,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:76,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:77,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: geos::geomgraph::DirectedEdgeStar::getOutgoingDegree
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdgeRing
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: int
    signature: int DirectedEdgeStar::getOutgoingDegree(EdgeRing* er)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:89,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:90,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:94,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:95,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:97,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:101,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:104,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:105,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:107,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:108,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:109,1
    - Dst: DirectedEdge*::getQuadrant
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:110,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:111,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: geos::geom::isNorthern
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:114,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:120,1
    - Dst: DirectedEdge*::getDy
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:123,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deLast)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: geos::geomgraph::DirectedEdgeStar::getRightmostEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::isNorthern
    - DirectedEdge*::getDy
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getQuadrant
    - assert
    - begin
    - end
    linkageType: ''
    returnType: DirectedEdge
    signature: 'DirectedEdge *

      DirectedEdgeStar::getRightmostEdge()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeLabelling
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:138,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:142,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:143,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:144,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:146,1
    - Dst: EdgeEnd*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:147,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:148,1
    - Dst: Edge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:149,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:151,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - geom
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (e)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: geos::geomgraph::DirectedEdgeStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - Label
    - assert
    - getLocation
    - EdgeEnd*::getEdge
    - Edge*::getLabel
    - setLocation
    - geos::geomgraph::EdgeEndStar::computeLabelling
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:163,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:164,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:165,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:166,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:167,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:169,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:170,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:172,1
    - Dst: merge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (deSym)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: geos::geomgraph::DirectedEdgeStar::mergeSymLabels
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - merge
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::mergeSymLabels()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:182,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:184,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:185,1
    - Dst: DirectedEdge*::getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:186,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:187,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' nodeLabel'
    argTypes:
    - Label
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: geos::geomgraph::DirectedEdgeStar::updateLabelling
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getLabel
    - setAllLocationsIfNull
    - getLocation
    - detail::down_cast<DirectedEdge*>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::updateLabelling(const Label& nodeLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:200,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:201,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:202,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:203,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:204,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: '&

      DirectedEdgeStar::getResultAreaEdges()'
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::isInResult
    - push_back
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::vector<DirectedEdge*>
    signature: 'std::vector<DirectedEdge*> &

      DirectedEdgeStar::getResultAreaEdges()'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getResultAreaEdges
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:219,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:226,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:229,1
    - Dst: getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:233,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:234,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:237,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:243,1
    - Dst: isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:250,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:253,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:260,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:261,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:263,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:264,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextOut)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->isInResult())
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 267
    functionName: geos::geomgraph::DirectedEdgeStar::linkResultDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - isInResult
    - getResultAreaEdges
    - getCoordinate
    - DirectedEdge*::isInResult
    - getSym
    - geos::util::TopologyException
    - getLabel
    - assert
    - DirectedEdge*::setNext
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkResultDirectedEdges()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:280,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:284,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:286,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:287,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:290,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:295,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:302,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:305,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:306,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: DirectedEdge*::getEdgeRing
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:313,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:314,1
    - Dst: DirectedEdge*::setNextMin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - er
    argTypes:
    - EdgeRing*
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextOut)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut != nullptr)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstOut->getEdgeRing() == er)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (incoming)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 317
    functionName: geos::geomgraph::DirectedEdgeStar::linkMinimalDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::setNextMin
    - rend
    - DirectedEdge*::getEdgeRing
    - DirectedEdge*::getSym
    - assert
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkMinimalDirectedEdges(EdgeRing* er)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:330,1
    - Dst: rend
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:331,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:333,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:334,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:336,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:337,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:343,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:348,1
    - Dst: DirectedEdge*::setNext
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (firstIn)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: geos::geomgraph::DirectedEdgeStar::linkAllDirectedEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - rend
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - DirectedEdge*::setNext
    - rbegin
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::linkAllDirectedEdges()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:368,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:369,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:370,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:371,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:373,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:374,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:376,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:377,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:381,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:399,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:400,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:401,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:403,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:404,1
    - Dst: DirectedEdge*::isLineEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:406,1
    - Dst: DirectedEdge*::getEdge
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:407,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:410,1
    - Dst: DirectedEdge*::isInResult
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nextIn)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (nextIn)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (*it)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 418
    functionName: geos::geomgraph::DirectedEdgeStar::findCoveredLineEdges
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - DirectedEdge*::getEdge
    - DirectedEdge*::isInResult
    - DirectedEdge*::getSym
    - detail::down_cast<DirectedEdge*>
    - assert
    - DirectedEdge*::isLineEdge
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::findCoveredLineEdges()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:424,1
    - Dst: find
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:426,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:428,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:429,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:434,1
    - Dst: geos::geomgraph::DirectedEdgeStar::computeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:437,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    - Dst: DirectedEdge*::getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - de
    argTypes:
    - DirectedEdge*
    assertStmts:
    - condition: (de)
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 442
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 4
    functionsReached:
    - DirectedEdge*::getCoordinate
    - find
    - geos::geomgraph::DirectedEdgeStar::computeDepths
    - DirectedEdge*::getDepth
    - geos::util::TopologyException
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void DirectedEdgeStar::computeDepths(DirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:451,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:452,1
    - Dst: DirectedEdge*::setEdgeDepths
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:454,1
    - Dst: DirectedEdge*::getDepth
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - startIt
    - endIt
    - startDepth
    argTypes:
    - EdgeEndStar::iterator
    - EdgeEndStar::iterator
    - int
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: geos::geomgraph::DirectedEdgeStar::computeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 4
    functionsReached:
    - DirectedEdge*::setEdgeDepths
    - assert
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getDepth
    linkageType: ''
    returnType: int
    signature: "int DirectedEdgeStar::computeDepths(EdgeEndStar::iterator startIt,\n
      \                               EdgeEndStar::iterator endIt, int startDepth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:464,1
    - Dst: end
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:466,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:467,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:468,1
    - Dst: detail::down_cast<DirectedEdge*>
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:469,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:470,1
    - Dst: DirectedEdge*::print
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:472,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:475,1
    - Dst: DirectedEdge*::getSym
      Src: /src/geos/src/geomgraph/DirectedEdgeStar.cpp:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*it)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    - condition: (de->getSym())
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    constantsTouched: []
    func_position:
      end: 480
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 480
    functionName: geos::geomgraph::DirectedEdgeStar::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdgeStar.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - DirectedEdge*::print
    - detail::down_cast<DirectedEdge*>
    - DirectedEdge*::getSym
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdgeStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent(const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_isCovered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::GraphComponent::setCovered
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::setCovered(bool p_isCovered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: computeIM
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' im'
    argTypes:
    - IntersectionMatrix
    assertStmts:
    - condition: (label.getGeometryCount() >= 2)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/geos/src/geomgraph/GraphComponent.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::geomgraph::GraphComponent::updateIM
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - assert
    - computeIM
    linkageType: ''
    returnType: void
    signature: void GraphComponent::updateIM(IntersectionMatrix& im)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent(const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_isCovered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::GraphComponent::setCovered
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::setCovered(bool p_isCovered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: computeIM
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' im'
    argTypes:
    - IntersectionMatrix
    assertStmts:
    - condition: (label.getGeometryCount() >= 2)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/geos/src/geomgraph/GraphComponent.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::geomgraph::GraphComponent::updateIM
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - assert
    - computeIM
    linkageType: ''
    returnType: void
    signature: void GraphComponent::updateIM(IntersectionMatrix& im)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent(const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_isCovered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::GraphComponent::setCovered
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::setCovered(bool p_isCovered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: computeIM
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' im'
    argTypes:
    - IntersectionMatrix
    assertStmts:
    - condition: (label.getGeometryCount() >= 2)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/geos/src/geomgraph/GraphComponent.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::geomgraph::GraphComponent::updateIM
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - assert
    - computeIM
    linkageType: ''
    returnType: void
    signature: void GraphComponent::updateIM(IntersectionMatrix& im)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' newLabel'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: geos::geomgraph::GraphComponent::GraphComponent
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::GraphComponent(const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_isCovered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::geomgraph::GraphComponent::setCovered
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GraphComponent::setCovered(bool p_isCovered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: getGeometryCount
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:60,1
    - Dst: computeIM
      Src: /src/geos/src/geomgraph/GraphComponent.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' im'
    argTypes:
    - IntersectionMatrix
    assertStmts:
    - condition: (label.getGeometryCount() >= 2)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/geos/src/geomgraph/GraphComponent.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: geos::geomgraph::GraphComponent::updateIM
    functionSourceFile: /src/geos/src/geomgraph/GraphComponent.cpp
    functionUses: 0
    functionsReached:
    - getGeometryCount
    - assert
    - computeIM
    linkageType: ''
    returnType: void
    signature: void GraphComponent::updateIM(IntersectionMatrix& im)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:64,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:66,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:69,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' lbl'
    - ' im'
    argTypes:
    - Label
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::Edge::updateIM
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - setAtLeastIfValid
    - isArea
    linkageType: ''
    returnType: void
    signature: void Edge::updateIM(const Label& lbl, IntersectionMatrix& im)
  - 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: Edge::~Edge()
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Edge::~Edge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:86,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - newPts
    - ' newLabel'
    argTypes:
    - CoordinateSequence*
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts, const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:101,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newPts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:115,1
    - Dst: detail::make_unique<MonotoneChainEdge>
      Src: /src/geos/src/geomgraph/Edge.cpp:117,1
    - Dst: get
      Src: /src/geos/src/geomgraph/Edge.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::Edge::getMonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<MonotoneChainEdge>
    - testInvariant
    - get
    linkageType: ''
    returnType: MonotoneChainEdge
    signature: 'MonotoneChainEdge *

      Edge::getMonotoneChainEdge()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:127,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:128,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:131,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: geos::geomgraph::Edge::isCollapsed
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - getNumPoints
    - testInvariant
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool Edge::isCollapsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:143,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/Edge.cpp:144,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: geos::geomgraph::toLineLabel
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::Edge::getCollapsedEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - getAt
    - Edge::Edge
    - geos::geomgraph::toLineLabel
    - CoordinateSequence*::setAt
    - testInvariant
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      Edge::getCollapsedEdge()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:155,1
    - Dst: LineIntersector*::getIntersectionNum
      Src: /src/geos/src/geomgraph/Edge.cpp:158,1
    - Dst: geos::geomgraph::Edge::addIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:159,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - li
    - segmentIndex
    - geomIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::Edge::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector*::getIntersectionNum
    - LineIntersector*::toString
    - testInvariant
    - geos::geomgraph::Edge::addIntersection
    linkageType: ''
    returnType: void
    signature: void Edge::addIntersections(LineIntersector* li, std::size_t segmentIndex,
      std::size_t geomIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:171,1
    - Dst: LineIntersector*::getIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:174,1
    - Dst: LineIntersector*::getEdgeDistance
      Src: /src/geos/src/geomgraph/Edge.cpp:176,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:180,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:182,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:185,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Edge.cpp:195,1
    - Dst: add
      Src: /src/geos/src/geomgraph/Edge.cpp:197,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - li
    - segmentIndex
    - geomIndex
    - intIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::Edge::addIntersection
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 1
    functionsReached:
    - LineIntersector*::getIntersection
    - LineIntersector*::getEdgeDistance
    - add
    - equals2D
    - getAt
    - LineIntersector*::toString
    - toString
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void Edge::addIntersection(LineIntersector* li,\n                      std::size_t
      segmentIndex, std::size_t geomIndex, std::size_t intIndex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:206,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:209,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:219,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:220,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:221,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:223,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 234
    functionName: geos::geomgraph::Edge::equals
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - pts::getAt
    - equals2D
    - getAt
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::equals(const Edge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:240,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:245,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:246,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    - Dst: Edge*::pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: geos::geomgraph::Edge::isPointwiseEqual
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - Edge*::pts::getAt
    - getAt
    - getNumPoints
    - Edge*::getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::isPointwiseEqual(const Edge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:264,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geomgraph::Edge::print
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - testInvariant
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:275,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:285,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:290,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: geos::geomgraph::Edge::printReverse
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - getNumPoints
    - testInvariant
    - getAt
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::printReverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geomgraph::Edge::getEnvelope
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Edge::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: '&

      operator<< (std::ostream& os, const Edge& e)'
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Edge& e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:64,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:66,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:69,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' lbl'
    - ' im'
    argTypes:
    - Label
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::Edge::updateIM
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - setAtLeastIfValid
    - isArea
    linkageType: ''
    returnType: void
    signature: void Edge::updateIM(const Label& lbl, IntersectionMatrix& im)
  - 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: Edge::~Edge()
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Edge::~Edge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:86,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - newPts
    - ' newLabel'
    argTypes:
    - CoordinateSequence*
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts, const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:101,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newPts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:115,1
    - Dst: detail::make_unique<MonotoneChainEdge>
      Src: /src/geos/src/geomgraph/Edge.cpp:117,1
    - Dst: get
      Src: /src/geos/src/geomgraph/Edge.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::Edge::getMonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<MonotoneChainEdge>
    - testInvariant
    - get
    linkageType: ''
    returnType: MonotoneChainEdge
    signature: 'MonotoneChainEdge *

      Edge::getMonotoneChainEdge()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:127,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:128,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:131,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: geos::geomgraph::Edge::isCollapsed
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - getNumPoints
    - testInvariant
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool Edge::isCollapsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:143,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/Edge.cpp:144,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: geos::geomgraph::toLineLabel
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::Edge::getCollapsedEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - getAt
    - Edge::Edge
    - geos::geomgraph::toLineLabel
    - CoordinateSequence*::setAt
    - testInvariant
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      Edge::getCollapsedEdge()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:155,1
    - Dst: LineIntersector*::getIntersectionNum
      Src: /src/geos/src/geomgraph/Edge.cpp:158,1
    - Dst: geos::geomgraph::Edge::addIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:159,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - li
    - segmentIndex
    - geomIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::Edge::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector*::getIntersectionNum
    - LineIntersector*::toString
    - testInvariant
    - geos::geomgraph::Edge::addIntersection
    linkageType: ''
    returnType: void
    signature: void Edge::addIntersections(LineIntersector* li, std::size_t segmentIndex,
      std::size_t geomIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:171,1
    - Dst: LineIntersector*::getIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:174,1
    - Dst: LineIntersector*::getEdgeDistance
      Src: /src/geos/src/geomgraph/Edge.cpp:176,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:180,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:182,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:185,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Edge.cpp:195,1
    - Dst: add
      Src: /src/geos/src/geomgraph/Edge.cpp:197,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - li
    - segmentIndex
    - geomIndex
    - intIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::Edge::addIntersection
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 2
    functionsReached:
    - LineIntersector*::getIntersection
    - LineIntersector*::getEdgeDistance
    - add
    - equals2D
    - getAt
    - LineIntersector*::toString
    - toString
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void Edge::addIntersection(LineIntersector* li,\n                      std::size_t
      segmentIndex, std::size_t geomIndex, std::size_t intIndex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:206,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:209,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:219,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:220,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:221,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:223,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 234
    functionName: geos::geomgraph::Edge::equals
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - pts::getAt
    - equals2D
    - getAt
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::equals(const Edge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:240,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:245,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:246,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    - Dst: Edge*::pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: geos::geomgraph::Edge::isPointwiseEqual
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - Edge*::pts::getAt
    - getAt
    - getNumPoints
    - Edge*::getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::isPointwiseEqual(const Edge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:264,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geomgraph::Edge::print
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - testInvariant
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:275,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:285,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:290,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: geos::geomgraph::Edge::printReverse
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - getNumPoints
    - testInvariant
    - getAt
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::printReverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geomgraph::Edge::getEnvelope
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Edge::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: '&

      operator<< (std::ostream& os, const Edge& e)'
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Edge& e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:64,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:66,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:69,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' lbl'
    - ' im'
    argTypes:
    - Label
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::Edge::updateIM
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - setAtLeastIfValid
    - isArea
    linkageType: ''
    returnType: void
    signature: void Edge::updateIM(const Label& lbl, IntersectionMatrix& im)
  - 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: Edge::~Edge()
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Edge::~Edge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:86,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - newPts
    - ' newLabel'
    argTypes:
    - CoordinateSequence*
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts, const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:101,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newPts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:115,1
    - Dst: detail::make_unique<MonotoneChainEdge>
      Src: /src/geos/src/geomgraph/Edge.cpp:117,1
    - Dst: get
      Src: /src/geos/src/geomgraph/Edge.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::Edge::getMonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<MonotoneChainEdge>
    - testInvariant
    - get
    linkageType: ''
    returnType: MonotoneChainEdge
    signature: 'MonotoneChainEdge *

      Edge::getMonotoneChainEdge()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:127,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:128,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:131,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: geos::geomgraph::Edge::isCollapsed
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - getNumPoints
    - testInvariant
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool Edge::isCollapsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:143,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/Edge.cpp:144,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: geos::geomgraph::toLineLabel
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::Edge::getCollapsedEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - getAt
    - Edge::Edge
    - geos::geomgraph::toLineLabel
    - CoordinateSequence*::setAt
    - testInvariant
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      Edge::getCollapsedEdge()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:155,1
    - Dst: LineIntersector*::getIntersectionNum
      Src: /src/geos/src/geomgraph/Edge.cpp:158,1
    - Dst: geos::geomgraph::Edge::addIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:159,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - li
    - segmentIndex
    - geomIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::Edge::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector*::getIntersectionNum
    - LineIntersector*::toString
    - testInvariant
    - geos::geomgraph::Edge::addIntersection
    linkageType: ''
    returnType: void
    signature: void Edge::addIntersections(LineIntersector* li, std::size_t segmentIndex,
      std::size_t geomIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:171,1
    - Dst: LineIntersector*::getIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:174,1
    - Dst: LineIntersector*::getEdgeDistance
      Src: /src/geos/src/geomgraph/Edge.cpp:176,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:180,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:182,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:185,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Edge.cpp:195,1
    - Dst: add
      Src: /src/geos/src/geomgraph/Edge.cpp:197,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - li
    - segmentIndex
    - geomIndex
    - intIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::Edge::addIntersection
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 3
    functionsReached:
    - LineIntersector*::getIntersection
    - LineIntersector*::getEdgeDistance
    - add
    - equals2D
    - getAt
    - LineIntersector*::toString
    - toString
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void Edge::addIntersection(LineIntersector* li,\n                      std::size_t
      segmentIndex, std::size_t geomIndex, std::size_t intIndex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:206,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:209,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:219,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:220,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:221,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:223,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 234
    functionName: geos::geomgraph::Edge::equals
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - pts::getAt
    - equals2D
    - getAt
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::equals(const Edge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:240,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:245,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:246,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    - Dst: Edge*::pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: geos::geomgraph::Edge::isPointwiseEqual
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - Edge*::pts::getAt
    - getAt
    - getNumPoints
    - Edge*::getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::isPointwiseEqual(const Edge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:264,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geomgraph::Edge::print
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - testInvariant
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:275,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:285,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:290,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: geos::geomgraph::Edge::printReverse
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - getNumPoints
    - testInvariant
    - getAt
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::printReverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geomgraph::Edge::getEnvelope
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Edge::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: '&

      operator<< (std::ostream& os, const Edge& e)'
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Edge& e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:63,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:64,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:66,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:68,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:69,1
    - Dst: setAtLeastIfValid
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:72,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Edge.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' lbl'
    - ' im'
    argTypes:
    - Label
    - IntersectionMatrix
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::Edge::updateIM
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - setAtLeastIfValid
    - isArea
    linkageType: ''
    returnType: void
    signature: void Edge::updateIM(const Label& lbl, IntersectionMatrix& im)
  - 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: Edge::~Edge()
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Edge::~Edge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:86,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - newPts
    - ' newLabel'
    argTypes:
    - CoordinateSequence*
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts, const Label& newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getEnvelope
      Src: /src/geos/src/geomgraph/Edge.cpp:101,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newPts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: geos::geomgraph::Edge::Edge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getEnvelope
    - testInvariant
    linkageType: ''
    returnType: void
    signature: void Edge::Edge(CoordinateSequence* newPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:115,1
    - Dst: detail::make_unique<MonotoneChainEdge>
      Src: /src/geos/src/geomgraph/Edge.cpp:117,1
    - Dst: get
      Src: /src/geos/src/geomgraph/Edge.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::Edge::getMonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - detail::make_unique<MonotoneChainEdge>
    - testInvariant
    - get
    linkageType: ''
    returnType: MonotoneChainEdge
    signature: 'MonotoneChainEdge *

      Edge::getMonotoneChainEdge()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:127,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/Edge.cpp:128,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:131,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: geos::geomgraph::Edge::isCollapsed
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    - getNumPoints
    - testInvariant
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool Edge::isCollapsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:143,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/Edge.cpp:144,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:145,1
    - Dst: CoordinateSequence*::setAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:146,1
    - Dst: geos::geomgraph::toLineLabel
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/Edge.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: geos::geomgraph::Edge::getCollapsedEdge
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::CoordinateSequence
    - getAt
    - Edge::Edge
    - geos::geomgraph::toLineLabel
    - CoordinateSequence*::setAt
    - testInvariant
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      Edge::getCollapsedEdge()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:155,1
    - Dst: LineIntersector*::getIntersectionNum
      Src: /src/geos/src/geomgraph/Edge.cpp:158,1
    - Dst: geos::geomgraph::Edge::addIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:159,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - li
    - segmentIndex
    - geomIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::Edge::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector*::getIntersectionNum
    - LineIntersector*::toString
    - testInvariant
    - geos::geomgraph::Edge::addIntersection
    linkageType: ''
    returnType: void
    signature: void Edge::addIntersections(LineIntersector* li, std::size_t segmentIndex,
      std::size_t geomIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector*::toString
      Src: /src/geos/src/geomgraph/Edge.cpp:171,1
    - Dst: LineIntersector*::getIntersection
      Src: /src/geos/src/geomgraph/Edge.cpp:174,1
    - Dst: LineIntersector*::getEdgeDistance
      Src: /src/geos/src/geomgraph/Edge.cpp:176,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:180,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:182,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:185,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/Edge.cpp:195,1
    - Dst: add
      Src: /src/geos/src/geomgraph/Edge.cpp:197,1
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - li
    - segmentIndex
    - geomIndex
    - intIndex
    argTypes:
    - LineIntersector*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 200
    functionName: geos::geomgraph::Edge::addIntersection
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 4
    functionsReached:
    - LineIntersector*::getIntersection
    - LineIntersector*::getEdgeDistance
    - add
    - equals2D
    - getAt
    - LineIntersector*::toString
    - toString
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: void
    signature: "void Edge::addIntersection(LineIntersector* li,\n                      std::size_t
      segmentIndex, std::size_t geomIndex, std::size_t intIndex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:206,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:208,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:209,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:219,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:220,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:221,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:223,1
    - Dst: equals2D
      Src: /src/geos/src/geomgraph/Edge.cpp:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 234
    functionName: geos::geomgraph::Edge::equals
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - pts::getAt
    - equals2D
    - getAt
    - getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::equals(const Edge& e) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:240,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:245,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:246,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    - Dst: Edge*::pts::getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: geos::geomgraph::Edge::isPointwiseEqual
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - Edge*::pts::getAt
    - getAt
    - getNumPoints
    - Edge*::getNumPoints
    - testInvariant
    linkageType: ''
    returnType: bool
    signature: bool Edge::isPointwiseEqual(const Edge* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:264,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: geos::geomgraph::Edge::print
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - testInvariant
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testInvariant
      Src: /src/geos/src/geomgraph/Edge.cpp:275,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/Edge.cpp:285,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/Edge.cpp:290,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Edge.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: geos::geomgraph::Edge::printReverse
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - getNumPoints
    - testInvariant
    - getAt
    linkageType: ''
    returnType: std::string
    signature: std::string Edge::printReverse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: geos::geomgraph::Edge::getEnvelope
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      Edge::getEnvelope()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' e'
    argTypes:
    - std::ostream
    - Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: '&

      operator<< (std::ostream& os, const Edge& e)'
    functionSourceFile: /src/geos/src/geomgraph/Edge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Edge& e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::EdgeEndStar::EdgeEndStar
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::EdgeEndStar()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:61,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:63,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: '&

      EdgeEndStar::getCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - EdgeEnd*::getCoordinate
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<EdgeEndStar*>
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      EdgeEndStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - const_cast<EdgeEndStar*>
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::find
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:78,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:79,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:82,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeEndStar::getNextCW
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - geos::geomgraph::EdgeEndStar::find
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      EdgeEndStar::getNextCW(EdgeEnd* ee)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:103,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:104,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:147,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:148,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:157,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:158,1
    - Dst: isAnyNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:163,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:164,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 170
    functionName: geos::geomgraph::EdgeEndStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 4
    functionsReached:
    - isAnyNull
    - geos::geomgraph::EdgeEndStar::propagateSideLabels
    - isLine
    - getCoordinate
    - assert
    - geos::geomgraph::EdgeEndStar::getLocation
    - getLabel
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - setAllLocationsIfNull
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&
      geomGraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:180,1
    - Dst: EdgeEnd*::computeLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' boundaryNodeRule'
    argTypes:
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - assert
    - EdgeEnd*::computeLabel
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: "void EdgeEndStar::computeEdgeEndLabels(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:192,1
    - Dst: getGeometry
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geomIndex
    - ' p'
    - ' geom'
    argTypes:
    - uint32_t
    - Coordinate
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: geos::geomgraph::EdgeEndStar::getLocation
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - getGeometry
    linkageType: ''
    returnType: Location
    signature: "Location EdgeEndStar::getLocation(uint32_t geomIndex,\n                         const
      Coordinate& p, const std::vector<std::unique_ptr<GeometryGraph>>& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - GeometryGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: geos::geomgraph::EdgeEndStar::isAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::isAreaLabelsConsistent(const GeometryGraph& geomGraph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:222,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:225,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:231,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:232,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:239,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (*rbegin())
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (startLoc != Location::NONE)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (eLabel.isArea(geomIndex))
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 253
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 253
    functionName: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::EdgeEndStar::begin
    - isArea
    - geos::geomgraph::EdgeEndStar::rbegin
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - getLabel
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::checkAreaLabelsConsistent(uint32_t geomIndex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:265,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:266,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:272,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:273,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:274,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:275,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:288,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:289,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:291,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:292,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:297,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:298,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:301,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:310,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:316,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:336,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: "(label.getLocation(geomIndex,\n                                         Position::LEFT)
        == Location::NONE)"
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 343
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 343
    functionName: geos::geomgraph::EdgeEndStar::propagateSideLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - EdgeEnd*::getCoordinate
    - isArea
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - setLocation
    - geos::util::TopologyException
    - assert
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::propagateSideLabels(uint32_t geomIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: geos::geomgraph::EdgeEndStar::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEndStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:357,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' es'
    argTypes:
    - std::ostream
    - EdgeEndStar
    assertStmts:
    - condition: (e)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: '&

      operator<< (std::ostream& os, const EdgeEndStar& es)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - getCoordinate
    - end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEndStar& es)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::EdgeEndStar::EdgeEndStar
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::EdgeEndStar()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:61,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:63,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: '&

      EdgeEndStar::getCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - EdgeEnd*::getCoordinate
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<EdgeEndStar*>
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      EdgeEndStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - const_cast<EdgeEndStar*>
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::find
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:78,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:79,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:82,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeEndStar::getNextCW
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - geos::geomgraph::EdgeEndStar::find
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      EdgeEndStar::getNextCW(EdgeEnd* ee)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:103,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:104,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:147,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:148,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:157,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:158,1
    - Dst: isAnyNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:163,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:164,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 170
    functionName: geos::geomgraph::EdgeEndStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 4
    functionsReached:
    - isAnyNull
    - geos::geomgraph::EdgeEndStar::propagateSideLabels
    - isLine
    - getCoordinate
    - assert
    - geos::geomgraph::EdgeEndStar::getLocation
    - getLabel
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - setAllLocationsIfNull
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&
      geomGraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:180,1
    - Dst: EdgeEnd*::computeLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' boundaryNodeRule'
    argTypes:
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - assert
    - EdgeEnd*::computeLabel
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: "void EdgeEndStar::computeEdgeEndLabels(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:192,1
    - Dst: getGeometry
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geomIndex
    - ' p'
    - ' geom'
    argTypes:
    - uint32_t
    - Coordinate
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: geos::geomgraph::EdgeEndStar::getLocation
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - getGeometry
    linkageType: ''
    returnType: Location
    signature: "Location EdgeEndStar::getLocation(uint32_t geomIndex,\n                         const
      Coordinate& p, const std::vector<std::unique_ptr<GeometryGraph>>& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - GeometryGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: geos::geomgraph::EdgeEndStar::isAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::isAreaLabelsConsistent(const GeometryGraph& geomGraph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:222,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:225,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:231,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:232,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:239,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (*rbegin())
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (startLoc != Location::NONE)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (eLabel.isArea(geomIndex))
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 253
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 253
    functionName: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::EdgeEndStar::begin
    - isArea
    - geos::geomgraph::EdgeEndStar::rbegin
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - getLabel
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::checkAreaLabelsConsistent(uint32_t geomIndex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:265,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:266,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:272,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:273,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:274,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:275,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:288,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:289,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:291,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:292,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:297,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:298,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:301,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:310,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:316,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:336,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: "(label.getLocation(geomIndex,\n                                         Position::LEFT)
        == Location::NONE)"
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 343
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 343
    functionName: geos::geomgraph::EdgeEndStar::propagateSideLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - EdgeEnd*::getCoordinate
    - isArea
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - setLocation
    - geos::util::TopologyException
    - assert
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::propagateSideLabels(uint32_t geomIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: geos::geomgraph::EdgeEndStar::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEndStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:357,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' es'
    argTypes:
    - std::ostream
    - EdgeEndStar
    assertStmts:
    - condition: (e)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: '&

      operator<< (std::ostream& os, const EdgeEndStar& es)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - getCoordinate
    - end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEndStar& es)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::EdgeEndStar::EdgeEndStar
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::EdgeEndStar()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:61,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:63,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: '&

      EdgeEndStar::getCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - EdgeEnd*::getCoordinate
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<EdgeEndStar*>
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      EdgeEndStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - const_cast<EdgeEndStar*>
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::find
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:78,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:79,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:82,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeEndStar::getNextCW
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - geos::geomgraph::EdgeEndStar::find
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      EdgeEndStar::getNextCW(EdgeEnd* ee)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:103,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:104,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:147,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:148,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:157,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:158,1
    - Dst: isAnyNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:163,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:164,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 170
    functionName: geos::geomgraph::EdgeEndStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 4
    functionsReached:
    - isAnyNull
    - geos::geomgraph::EdgeEndStar::propagateSideLabels
    - isLine
    - getCoordinate
    - assert
    - geos::geomgraph::EdgeEndStar::getLocation
    - getLabel
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - setAllLocationsIfNull
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&
      geomGraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:180,1
    - Dst: EdgeEnd*::computeLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' boundaryNodeRule'
    argTypes:
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 5
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - assert
    - EdgeEnd*::computeLabel
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: "void EdgeEndStar::computeEdgeEndLabels(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:192,1
    - Dst: getGeometry
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geomIndex
    - ' p'
    - ' geom'
    argTypes:
    - uint32_t
    - Coordinate
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: geos::geomgraph::EdgeEndStar::getLocation
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - getGeometry
    linkageType: ''
    returnType: Location
    signature: "Location EdgeEndStar::getLocation(uint32_t geomIndex,\n                         const
      Coordinate& p, const std::vector<std::unique_ptr<GeometryGraph>>& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - GeometryGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: geos::geomgraph::EdgeEndStar::isAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::isAreaLabelsConsistent(const GeometryGraph& geomGraph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:222,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:225,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:231,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:232,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:239,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (*rbegin())
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (startLoc != Location::NONE)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (eLabel.isArea(geomIndex))
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 253
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 253
    functionName: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::EdgeEndStar::begin
    - isArea
    - geos::geomgraph::EdgeEndStar::rbegin
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - getLabel
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::checkAreaLabelsConsistent(uint32_t geomIndex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:265,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:266,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:272,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:273,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:274,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:275,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:288,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:289,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:291,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:292,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:297,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:298,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:301,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:310,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:316,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:336,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: "(label.getLocation(geomIndex,\n                                         Position::LEFT)
        == Location::NONE)"
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 343
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 343
    functionName: geos::geomgraph::EdgeEndStar::propagateSideLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - EdgeEnd*::getCoordinate
    - isArea
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - setLocation
    - geos::util::TopologyException
    - assert
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::propagateSideLabels(uint32_t geomIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: geos::geomgraph::EdgeEndStar::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEndStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:357,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' es'
    argTypes:
    - std::ostream
    - EdgeEndStar
    assertStmts:
    - condition: (e)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: '&

      operator<< (std::ostream& os, const EdgeEndStar& es)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - getCoordinate
    - end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEndStar& es)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::EdgeEndStar::EdgeEndStar
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::EdgeEndStar()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:61,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:63,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (e)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: '&

      EdgeEndStar::getCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - EdgeEnd*::getCoordinate
    - empty
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<EdgeEndStar*>
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      EdgeEndStar::getCoordinate() const'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - const_cast<EdgeEndStar*>
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEndStar::getCoordinate() const'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::find
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:78,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:79,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:82,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ee
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::EdgeEndStar::getNextCW
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - geos::geomgraph::EdgeEndStar::find
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: EdgeEnd
    signature: 'EdgeEnd *

      EdgeEndStar::getNextCW(EdgeEnd* ee)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:97,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:103,1
    - Dst: geos::geomgraph::EdgeEndStar::propagateSideLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:104,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:147,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:148,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:150,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:157,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:158,1
    - Dst: isAnyNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:160,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:163,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:164,1
    - Dst: setAllLocationsIfNull
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts:
    - condition: (e)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 170
    functionName: geos::geomgraph::EdgeEndStar::computeLabelling
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 4
    functionsReached:
    - isAnyNull
    - geos::geomgraph::EdgeEndStar::propagateSideLabels
    - isLine
    - getCoordinate
    - assert
    - geos::geomgraph::EdgeEndStar::getLocation
    - getLabel
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - setAllLocationsIfNull
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::computeLabelling(const std::vector<std::unique_ptr<GeometryGraph>>&
      geomGraph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:178,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:180,1
    - Dst: EdgeEnd*::computeLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' boundaryNodeRule'
    argTypes:
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (ee)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 7
    functionsReached:
    - geos::geomgraph::EdgeEndStar::end
    - assert
    - EdgeEnd*::computeLabel
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: "void EdgeEndStar::computeEdgeEndLabels(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::locate::SimplePointInAreaLocator::locate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:192,1
    - Dst: getGeometry
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geomIndex
    - ' p'
    - ' geom'
    argTypes:
    - uint32_t
    - Coordinate
    - std::vector<std::unique_ptr<GeometryGraph>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: geos::geomgraph::EdgeEndStar::getLocation
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 10
    functionsReached:
    - geos::algorithm::locate::SimplePointInAreaLocator::locate
    - getGeometry
    linkageType: ''
    returnType: Location
    signature: "Location EdgeEndStar::getLocation(uint32_t geomIndex,\n                         const
      Coordinate& p, const std::vector<std::unique_ptr<GeometryGraph>>& geom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: getBoundaryNodeRule
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:202,1
    - Dst: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' geomGraph'
    argTypes:
    - GeometryGraph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: geos::geomgraph::EdgeEndStar::isAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEndStar::computeEdgeEndLabels
    - getBoundaryNodeRule
    - geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::isAreaLabelsConsistent(const GeometryGraph& geomGraph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:220,1
    - Dst: geos::geomgraph::EdgeEndStar::rbegin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:221,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:222,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:225,1
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:229,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:231,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:232,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:237,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:239,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (*rbegin())
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (startLoc != Location::NONE)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (eLabel.isArea(geomIndex))
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 253
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 253
    functionName: geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::EdgeEndStar::begin
    - isArea
    - geos::geomgraph::EdgeEndStar::rbegin
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - getLabel
    - assert
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EdgeEndStar::checkAreaLabelsConsistent(uint32_t geomIndex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEndStar::begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:265,1
    - Dst: geos::geomgraph::EdgeEndStar::end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:266,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:272,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:273,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:274,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:275,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:276,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:288,1
    - Dst: EdgeEnd*::getLabel
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:289,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:291,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:292,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:297,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:298,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:301,1
    - Dst: EdgeEnd*::getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:310,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:312,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:316,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: geos::geomgraph::EdgeEndStar::getLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:333,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:336,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - geomIndex
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (e)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: (e)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    - condition: "(label.getLocation(geomIndex,\n                                         Position::LEFT)
        == Location::NONE)"
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 343
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 343
    functionName: geos::geomgraph::EdgeEndStar::propagateSideLabels
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    - EdgeEnd*::getCoordinate
    - isArea
    - geos::geomgraph::EdgeEndStar::getLocation
    - geos::geomgraph::EdgeEndStar::end
    - EdgeEnd*::getLabel
    - setLocation
    - geos::util::TopologyException
    - assert
    - geos::geomgraph::EdgeEndStar::begin
    linkageType: ''
    returnType: void
    signature: void EdgeEndStar::propagateSideLabels(uint32_t geomIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: geos::geomgraph::EdgeEndStar::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEndStar::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:357,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: end
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:358,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEndStar.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' os'
    - ' es'
    argTypes:
    - std::ostream
    - EdgeEndStar
    assertStmts:
    - condition: (e)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/geos/src/geomgraph/EdgeEndStar.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: '&

      operator<< (std::ostream& os, const EdgeEndStar& es)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEndStar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - begin
    - getCoordinate
    - end
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEndStar& es)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: geos::geomgraph::GeometryGraph::isInBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::isInBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: Location GeometryGraph::determineBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::geomgraph::GeometryGraph::createEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
    linkageType: ''
    returnType: EdgeSetIntersector
    signature: 'EdgeSetIntersector *

      GeometryGraph::createEdgeSetIntersector()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:114,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::geomgraph::GeometryGraph::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - reset
    - std::vector<Node*>::vector<Node*>
    - get
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      GeometryGraph::getBoundaryNodes()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:126,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:128,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: setAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: geos::geomgraph::GeometryGraph::getBoundaryPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - CoordinateSequence::CoordinateSequence
    - std::vector*::end
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - setAt
    - get
    - std::vector*::begin
    - reset
    - std::vector*::size
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      GeometryGraph::getBoundaryPoints()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::GeometryGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      GeometryGraph::findEdge(const LineString* line) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:152,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:153,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:159,1
    - Dst: Edge*::eiList::addSplitEdges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - edgelist
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::GeometryGraph::computeSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector<Edge*>*::size
    - Edge*::eiList::addSplitEdges
    - Edge*::print
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::computeSplitEdges(std::vector<Edge*>* edgelist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:172,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:174,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:180,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:185,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygon
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:186,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:190,1
    - Dst: geos::geomgraph::GeometryGraph::addLineString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:191,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:194,1
    - Dst: geos::geomgraph::GeometryGraph::addPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:195,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:199,1
    - Dst: geos::geomgraph::GeometryGraph::addCollection
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:200,1
    - Dst: typeid
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:204,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 207
    functionName: geos::geomgraph::GeometryGraph::add
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geomgraph::GeometryGraph::addCollection
    - geos::geomgraph::GeometryGraph::addPoint
    - geos::geomgraph::GeometryGraph::addPolygon
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - typeid
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiPolygon*>
    - geos::util::UnsupportedOperationException
    - geos::geomgraph::GeometryGraph::addLineString
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::add(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:212,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gc
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: geos::geomgraph::GeometryGraph::addCollection
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - geos::geomgraph::GeometryGraph::add
    - GeometryCollection*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addCollection(const GeometryCollection* gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:223,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    - Point*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(const Point* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:238,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:242,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:244,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:245,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:247,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:263,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:266,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - lr
    - cwLeft
    - cwRight
    argTypes:
    - LinearRing*
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: geos::geomgraph::GeometryGraph::addPolygonRing
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - Label
    - geos::geomgraph::GeometryGraph::insertPoint
    - LinearRing*::getCoordinatesRO
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - LinearRing*::isEmpty
    - auto::release
    - Edge::Edge
    - insertEdge
    - auto::get
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygonRing(const LinearRing* lr, Location cwLeft,
      Location cwRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:273,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:275,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:276,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:280,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: geos::geomgraph::GeometryGraph::addPolygon
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::GeometryGraph::addPolygonRing
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygon(const Polygon* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:289,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:291,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:295,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: auto::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts:
    - condition: (coordRaw->size() >= 2)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geomgraph/GeometryGraph.cpp
    constantsTouched: []
    func_position:
      end: 310
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 310
    functionName: geos::geomgraph::GeometryGraph::addLineString
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - Label
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - Edge::Edge
    - insertEdge
    - assert
    - auto::getSize
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addLineString(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:319,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:320,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: geos::geomgraph::GeometryGraph::addEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::geomgraph::GeometryGraph::insertPoint
    - CoordinateSequence*::getSize
    - insertEdge
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getEnvelope
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:342,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - env
    - start
    - end
    - ' to'
    argTypes:
    - Envelope*
    - T
    - T
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: geos::geomgraph::collect_intersecting_edges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void collect_intersecting_edges(const Envelope* env, T start, T end,
      C& to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<SegmentIntersector>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:353,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:366,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:367,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:368,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' li'
    - computeRingSelfNodes
    - env
    argTypes:
    - LineIntersector
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::GeometryGraph::computeSelfNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    - auto::get
    - getEnvelopeInternal
    - EC*::end
    - dynamic_cast<const Polygon*>
    - EC*::begin
    - std::unique_ptr::computeIntersections
    - dynamic_cast<const MultiPolygon*>
    - collect_intersecting_edges
    - detail::make_unique<SegmentIntersector>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeSelfNodes(LineIntersector&
      li,\n                                bool computeRingSelfNodes, const Envelope*
      env)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector::SegmentIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:389,1
    - Dst: std::unique_ptr::setBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: GeometryGraph*::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: GeometryGraph*::parentGeom::getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - g
    - li
    - includeProper
    - env
    argTypes:
    - GeometryGraph*
    - LineIntersector*
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: geos::geomgraph::GeometryGraph::computeEdgeIntersections
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - std::unique_ptr::get
    - getEnvelopeInternal
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - SegmentIntersector::SegmentIntersector
    - EC*::end
    - GeometryGraph*::getBoundaryNodes
    - EC*::begin
    - GeometryGraph*::parentGeom::getEnvelopeInternal
    - std::unique_ptr::computeIntersections
    - collect_intersecting_edges
    - std::unique_ptr::setBoundaryNodes
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeEdgeIntersections(GeometryGraph*
      g,\n                                        LineIntersector* li, bool includeProper,
      const Envelope* env)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::toString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:423,1
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:425,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:426,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:427,1
    - Dst: Node*::setLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:428,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - onLocation
    argTypes:
    - uint8_t
    - Coordinate
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: geos::geomgraph::GeometryGraph::insertPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - isNull
    - Coordinate::toString
    - addNode
    - Node*::setLabel
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::insertPoint(uint8_t p_argIndex, const Coordinate
      &coord,\n                           geom::Location onLocation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:444,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:446,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:452,1
    - Dst: geos::geomgraph::GeometryGraph::determineBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:459,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_argIndex
    - coord
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: geos::geomgraph::GeometryGraph::insertBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - addNode
    - geos::geomgraph::GeometryGraph::determineBoundary
    - getLocation
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::insertBoundaryPoint(uint8_t p_argIndex, const Coordinate
      &coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:468,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:471,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - getLabel
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addSelfIntersectionNodes(uint8_t p_argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundaryNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:483,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:487,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - loc
    argTypes:
    - uint8_t
    - Coordinate
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - isBoundaryNode
    - geos::geomgraph::GeometryGraph::insertPoint
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::addSelfIntersectionNode(uint8_t p_argIndex,\n
      \                                      const Coordinate &coord, Location loc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geomgraph::GeometryGraph::getEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      GeometryGraph::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: geos::geomgraph::GeometryGraph::hasTooFewPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::hasTooFewPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: '&

      GeometryGraph::getInvalidPoint()'
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      GeometryGraph::getInvalidPoint()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:518,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - newArgIndex
    - newParentGeom
    argTypes:
    - uint8_t
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - newArgIndex
    - newParentGeom
    - ' bnr'
    argTypes:
    - uint8_t
    - geom::Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom,\n                             const algorithm::BoundaryNodeRule&
      bnr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' boundaryNodeRule'
    - boundaryCount
    argTypes:
    - algorithm::BoundaryNodeRule
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: "Location GeometryGraph::determineBoundary(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule,\n    int boundaryCount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: geos::geomgraph::GeometryGraph::isInBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::isInBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: Location GeometryGraph::determineBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::geomgraph::GeometryGraph::createEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
    linkageType: ''
    returnType: EdgeSetIntersector
    signature: 'EdgeSetIntersector *

      GeometryGraph::createEdgeSetIntersector()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:114,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::geomgraph::GeometryGraph::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - reset
    - std::vector<Node*>::vector<Node*>
    - get
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      GeometryGraph::getBoundaryNodes()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:126,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:128,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: setAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: geos::geomgraph::GeometryGraph::getBoundaryPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - CoordinateSequence::CoordinateSequence
    - std::vector*::end
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - setAt
    - get
    - std::vector*::begin
    - reset
    - std::vector*::size
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      GeometryGraph::getBoundaryPoints()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::GeometryGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      GeometryGraph::findEdge(const LineString* line) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:152,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:153,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:159,1
    - Dst: Edge*::eiList::addSplitEdges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - edgelist
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::GeometryGraph::computeSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector<Edge*>*::size
    - Edge*::eiList::addSplitEdges
    - Edge*::print
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::computeSplitEdges(std::vector<Edge*>* edgelist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:172,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:174,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:180,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:185,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygon
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:186,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:190,1
    - Dst: geos::geomgraph::GeometryGraph::addLineString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:191,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:194,1
    - Dst: geos::geomgraph::GeometryGraph::addPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:195,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:199,1
    - Dst: geos::geomgraph::GeometryGraph::addCollection
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:200,1
    - Dst: typeid
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:204,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 207
    functionName: geos::geomgraph::GeometryGraph::add
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geomgraph::GeometryGraph::addCollection
    - geos::geomgraph::GeometryGraph::addPoint
    - geos::geomgraph::GeometryGraph::addPolygon
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - typeid
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiPolygon*>
    - geos::util::UnsupportedOperationException
    - geos::geomgraph::GeometryGraph::addLineString
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::add(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:212,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gc
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: geos::geomgraph::GeometryGraph::addCollection
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - geos::geomgraph::GeometryGraph::add
    - GeometryCollection*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addCollection(const GeometryCollection* gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:223,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    - Point*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(const Point* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:238,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:242,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:244,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:245,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:247,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:263,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:266,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - lr
    - cwLeft
    - cwRight
    argTypes:
    - LinearRing*
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: geos::geomgraph::GeometryGraph::addPolygonRing
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - Label
    - geos::geomgraph::GeometryGraph::insertPoint
    - LinearRing*::getCoordinatesRO
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - LinearRing*::isEmpty
    - auto::release
    - Edge::Edge
    - insertEdge
    - auto::get
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygonRing(const LinearRing* lr, Location cwLeft,
      Location cwRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:273,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:275,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:276,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:280,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: geos::geomgraph::GeometryGraph::addPolygon
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::GeometryGraph::addPolygonRing
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygon(const Polygon* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:289,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:291,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:295,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: auto::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts:
    - condition: (coordRaw->size() >= 2)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geomgraph/GeometryGraph.cpp
    constantsTouched: []
    func_position:
      end: 310
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 310
    functionName: geos::geomgraph::GeometryGraph::addLineString
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - Label
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - Edge::Edge
    - insertEdge
    - assert
    - auto::getSize
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addLineString(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:319,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:320,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: geos::geomgraph::GeometryGraph::addEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::geomgraph::GeometryGraph::insertPoint
    - CoordinateSequence*::getSize
    - insertEdge
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getEnvelope
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:342,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - env
    - start
    - end
    - ' to'
    argTypes:
    - Envelope*
    - T
    - T
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: geos::geomgraph::collect_intersecting_edges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void collect_intersecting_edges(const Envelope* env, T start, T end,
      C& to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<SegmentIntersector>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:353,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:366,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:367,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:368,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' li'
    - computeRingSelfNodes
    - env
    argTypes:
    - LineIntersector
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::GeometryGraph::computeSelfNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    - auto::get
    - getEnvelopeInternal
    - EC*::end
    - dynamic_cast<const Polygon*>
    - EC*::begin
    - std::unique_ptr::computeIntersections
    - dynamic_cast<const MultiPolygon*>
    - collect_intersecting_edges
    - detail::make_unique<SegmentIntersector>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeSelfNodes(LineIntersector&
      li,\n                                bool computeRingSelfNodes, const Envelope*
      env)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector::SegmentIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:389,1
    - Dst: std::unique_ptr::setBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: GeometryGraph*::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: GeometryGraph*::parentGeom::getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - g
    - li
    - includeProper
    - env
    argTypes:
    - GeometryGraph*
    - LineIntersector*
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: geos::geomgraph::GeometryGraph::computeEdgeIntersections
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - std::unique_ptr::get
    - getEnvelopeInternal
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - SegmentIntersector::SegmentIntersector
    - EC*::end
    - GeometryGraph*::getBoundaryNodes
    - EC*::begin
    - GeometryGraph*::parentGeom::getEnvelopeInternal
    - std::unique_ptr::computeIntersections
    - collect_intersecting_edges
    - std::unique_ptr::setBoundaryNodes
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeEdgeIntersections(GeometryGraph*
      g,\n                                        LineIntersector* li, bool includeProper,
      const Envelope* env)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::toString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:423,1
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:425,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:426,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:427,1
    - Dst: Node*::setLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:428,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - onLocation
    argTypes:
    - uint8_t
    - Coordinate
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: geos::geomgraph::GeometryGraph::insertPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 9
    functionsReached:
    - isNull
    - Coordinate::toString
    - addNode
    - Node*::setLabel
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::insertPoint(uint8_t p_argIndex, const Coordinate
      &coord,\n                           geom::Location onLocation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:444,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:446,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:452,1
    - Dst: geos::geomgraph::GeometryGraph::determineBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:459,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_argIndex
    - coord
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: geos::geomgraph::GeometryGraph::insertBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - addNode
    - geos::geomgraph::GeometryGraph::determineBoundary
    - getLocation
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::insertBoundaryPoint(uint8_t p_argIndex, const Coordinate
      &coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:468,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:471,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - getLabel
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addSelfIntersectionNodes(uint8_t p_argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundaryNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:483,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:487,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - loc
    argTypes:
    - uint8_t
    - Coordinate
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - isBoundaryNode
    - geos::geomgraph::GeometryGraph::insertPoint
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::addSelfIntersectionNode(uint8_t p_argIndex,\n
      \                                      const Coordinate &coord, Location loc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geomgraph::GeometryGraph::getEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      GeometryGraph::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: geos::geomgraph::GeometryGraph::hasTooFewPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::hasTooFewPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: '&

      GeometryGraph::getInvalidPoint()'
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      GeometryGraph::getInvalidPoint()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:518,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - newArgIndex
    - newParentGeom
    argTypes:
    - uint8_t
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - newArgIndex
    - newParentGeom
    - ' bnr'
    argTypes:
    - uint8_t
    - geom::Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom,\n                             const algorithm::BoundaryNodeRule&
      bnr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' boundaryNodeRule'
    - boundaryCount
    argTypes:
    - algorithm::BoundaryNodeRule
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: "Location GeometryGraph::determineBoundary(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule,\n    int boundaryCount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: geos::geomgraph::GeometryGraph::isInBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::isInBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: Location GeometryGraph::determineBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::geomgraph::GeometryGraph::createEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
    linkageType: ''
    returnType: EdgeSetIntersector
    signature: 'EdgeSetIntersector *

      GeometryGraph::createEdgeSetIntersector()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:114,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::geomgraph::GeometryGraph::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 7
    functionsReached:
    - reset
    - std::vector<Node*>::vector<Node*>
    - get
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      GeometryGraph::getBoundaryNodes()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:126,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:128,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: setAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: geos::geomgraph::GeometryGraph::getBoundaryPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - CoordinateSequence::CoordinateSequence
    - std::vector*::end
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - setAt
    - get
    - std::vector*::begin
    - reset
    - std::vector*::size
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      GeometryGraph::getBoundaryPoints()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::GeometryGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      GeometryGraph::findEdge(const LineString* line) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:152,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:153,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:159,1
    - Dst: Edge*::eiList::addSplitEdges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - edgelist
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::GeometryGraph::computeSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector<Edge*>*::size
    - Edge*::eiList::addSplitEdges
    - Edge*::print
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::computeSplitEdges(std::vector<Edge*>* edgelist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:172,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:174,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:180,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:185,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygon
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:186,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:190,1
    - Dst: geos::geomgraph::GeometryGraph::addLineString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:191,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:194,1
    - Dst: geos::geomgraph::GeometryGraph::addPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:195,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:199,1
    - Dst: geos::geomgraph::GeometryGraph::addCollection
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:200,1
    - Dst: typeid
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:204,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 207
    functionName: geos::geomgraph::GeometryGraph::add
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geomgraph::GeometryGraph::addCollection
    - geos::geomgraph::GeometryGraph::addPoint
    - geos::geomgraph::GeometryGraph::addPolygon
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - typeid
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiPolygon*>
    - geos::util::UnsupportedOperationException
    - geos::geomgraph::GeometryGraph::addLineString
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::add(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:212,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gc
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: geos::geomgraph::GeometryGraph::addCollection
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - geos::geomgraph::GeometryGraph::add
    - GeometryCollection*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addCollection(const GeometryCollection* gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:223,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    - Point*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(const Point* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:238,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:242,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:244,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:245,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:247,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:263,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:266,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - lr
    - cwLeft
    - cwRight
    argTypes:
    - LinearRing*
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: geos::geomgraph::GeometryGraph::addPolygonRing
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - Label
    - geos::geomgraph::GeometryGraph::insertPoint
    - LinearRing*::getCoordinatesRO
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - LinearRing*::isEmpty
    - auto::release
    - Edge::Edge
    - insertEdge
    - auto::get
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygonRing(const LinearRing* lr, Location cwLeft,
      Location cwRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:273,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:275,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:276,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:280,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: geos::geomgraph::GeometryGraph::addPolygon
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::GeometryGraph::addPolygonRing
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygon(const Polygon* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:289,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:291,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:295,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: auto::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts:
    - condition: (coordRaw->size() >= 2)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geomgraph/GeometryGraph.cpp
    constantsTouched: []
    func_position:
      end: 310
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 310
    functionName: geos::geomgraph::GeometryGraph::addLineString
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - auto::size
    - Label
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - Edge::Edge
    - insertEdge
    - assert
    - auto::getSize
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addLineString(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:319,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:320,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: geos::geomgraph::GeometryGraph::addEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::geomgraph::GeometryGraph::insertPoint
    - CoordinateSequence*::getSize
    - insertEdge
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getEnvelope
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:342,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - env
    - start
    - end
    - ' to'
    argTypes:
    - Envelope*
    - T
    - T
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: geos::geomgraph::collect_intersecting_edges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void collect_intersecting_edges(const Envelope* env, T start, T end,
      C& to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<SegmentIntersector>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:353,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:366,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:367,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:368,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' li'
    - computeRingSelfNodes
    - env
    argTypes:
    - LineIntersector
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::GeometryGraph::computeSelfNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    - auto::get
    - getEnvelopeInternal
    - EC*::end
    - dynamic_cast<const Polygon*>
    - EC*::begin
    - std::unique_ptr::computeIntersections
    - dynamic_cast<const MultiPolygon*>
    - collect_intersecting_edges
    - detail::make_unique<SegmentIntersector>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeSelfNodes(LineIntersector&
      li,\n                                bool computeRingSelfNodes, const Envelope*
      env)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector::SegmentIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:389,1
    - Dst: std::unique_ptr::setBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: GeometryGraph*::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: GeometryGraph*::parentGeom::getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - g
    - li
    - includeProper
    - env
    argTypes:
    - GeometryGraph*
    - LineIntersector*
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: geos::geomgraph::GeometryGraph::computeEdgeIntersections
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - std::unique_ptr::get
    - getEnvelopeInternal
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - SegmentIntersector::SegmentIntersector
    - EC*::end
    - GeometryGraph*::getBoundaryNodes
    - EC*::begin
    - GeometryGraph*::parentGeom::getEnvelopeInternal
    - std::unique_ptr::computeIntersections
    - collect_intersecting_edges
    - std::unique_ptr::setBoundaryNodes
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeEdgeIntersections(GeometryGraph*
      g,\n                                        LineIntersector* li, bool includeProper,
      const Envelope* env)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::toString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:423,1
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:425,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:426,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:427,1
    - Dst: Node*::setLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:428,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - onLocation
    argTypes:
    - uint8_t
    - Coordinate
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: geos::geomgraph::GeometryGraph::insertPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 14
    functionsReached:
    - isNull
    - Coordinate::toString
    - addNode
    - Node*::setLabel
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::insertPoint(uint8_t p_argIndex, const Coordinate
      &coord,\n                           geom::Location onLocation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:444,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:446,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:452,1
    - Dst: geos::geomgraph::GeometryGraph::determineBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:459,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_argIndex
    - coord
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: geos::geomgraph::GeometryGraph::insertBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 5
    functionsReached:
    - addNode
    - geos::geomgraph::GeometryGraph::determineBoundary
    - getLocation
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::insertBoundaryPoint(uint8_t p_argIndex, const Coordinate
      &coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:468,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:471,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - getLabel
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addSelfIntersectionNodes(uint8_t p_argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundaryNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:483,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:487,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - loc
    argTypes:
    - uint8_t
    - Coordinate
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - isBoundaryNode
    - geos::geomgraph::GeometryGraph::insertPoint
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::addSelfIntersectionNode(uint8_t p_argIndex,\n
      \                                      const Coordinate &coord, Location loc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geomgraph::GeometryGraph::getEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      GeometryGraph::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: geos::geomgraph::GeometryGraph::hasTooFewPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::hasTooFewPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: '&

      GeometryGraph::getInvalidPoint()'
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      GeometryGraph::getInvalidPoint()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:518,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - newArgIndex
    - newParentGeom
    argTypes:
    - uint8_t
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - newArgIndex
    - newParentGeom
    - ' bnr'
    argTypes:
    - uint8_t
    - geom::Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom,\n                             const algorithm::BoundaryNodeRule&
      bnr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' boundaryNodeRule'
    - boundaryCount
    argTypes:
    - algorithm::BoundaryNodeRule
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: "Location GeometryGraph::determineBoundary(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule,\n    int boundaryCount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: geos::geomgraph::GeometryGraph::isInBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::isInBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - boundaryCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: Location GeometryGraph::determineBoundary(int boundaryCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: geos::geomgraph::GeometryGraph::createEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - SimpleMCSweepLineIntersector::SimpleMCSweepLineIntersector
    linkageType: ''
    returnType: EdgeSetIntersector
    signature: 'EdgeSetIntersector *

      GeometryGraph::createEdgeSetIntersector()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:114,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: std::vector<Node*>::vector<Node*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:115,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:116,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: geos::geomgraph::GeometryGraph::getBoundaryNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 10
    functionsReached:
    - reset
    - std::vector<Node*>::vector<Node*>
    - get
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    linkageType: ''
    returnType: std::vector<Node*>
    signature: 'std::vector<Node*> *

      GeometryGraph::getBoundaryNodes()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:126,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:128,1
    - Dst: reset
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:129,1
    - Dst: std::vector*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: std::vector*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:131,1
    - Dst: setAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: Node*::getCoordinate
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:134,1
    - Dst: get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: geos::geomgraph::GeometryGraph::getBoundaryPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Node*::getCoordinate
    - CoordinateSequence::CoordinateSequence
    - std::vector*::end
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - setAt
    - get
    - std::vector*::begin
    - reset
    - std::vector*::size
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      GeometryGraph::getBoundaryPoints()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::GeometryGraph::findEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: Edge
    signature: 'Edge *

      GeometryGraph::findEdge(const LineString* line) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:152,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:153,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:155,1
    - Dst: Edge*::print
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:159,1
    - Dst: Edge*::eiList::addSplitEdges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - edgelist
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: geos::geomgraph::GeometryGraph::computeSplitEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector<Edge*>*::size
    - Edge*::eiList::addSplitEdges
    - Edge*::print
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::computeSplitEdges(std::vector<Edge*>* edgelist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:172,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:174,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:180,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:185,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygon
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:186,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:190,1
    - Dst: geos::geomgraph::GeometryGraph::addLineString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:191,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:194,1
    - Dst: geos::geomgraph::GeometryGraph::addPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:195,1
    - Dst: dynamic_cast<const GeometryCollection*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:199,1
    - Dst: geos::geomgraph::GeometryGraph::addCollection
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:200,1
    - Dst: typeid
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:204,1
    - Dst: geos::util::UnsupportedOperationException
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 207
    functionName: geos::geomgraph::GeometryGraph::add
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 9
    functionsReached:
    - dynamic_cast<const Point*>
    - dynamic_cast<const GeometryCollection*>
    - geos::geomgraph::GeometryGraph::addCollection
    - geos::geomgraph::GeometryGraph::addPoint
    - geos::geomgraph::GeometryGraph::addPolygon
    - geos::util::ensureNoCurvedComponents
    - Geometry*::isEmpty
    - dynamic_cast<const Polygon*>
    - typeid
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiPolygon*>
    - geos::util::UnsupportedOperationException
    - geos::geomgraph::GeometryGraph::addLineString
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::add(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryCollection*::getNumGeometries
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:212,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    - Dst: GeometryCollection*::getGeometryN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gc
    argTypes:
    - GeometryCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: geos::geomgraph::GeometryGraph::addCollection
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - GeometryCollection*::getNumGeometries
    - geos::geomgraph::GeometryGraph::add
    - GeometryCollection*::getGeometryN
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addCollection(const GeometryCollection* gc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Point*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:223,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - Point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    - Point*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(const Point* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::isEmpty
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:238,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:242,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:244,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:245,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:247,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:258,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:263,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:264,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:266,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - lr
    - cwLeft
    - cwRight
    argTypes:
    - LinearRing*
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: geos::geomgraph::GeometryGraph::addPolygonRing
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::Orientation::isCCW
    - Label
    - geos::geomgraph::GeometryGraph::insertPoint
    - LinearRing*::getCoordinatesRO
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - LinearRing*::isEmpty
    - auto::release
    - Edge::Edge
    - insertEdge
    - auto::get
    - auto::getSize
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygonRing(const LinearRing* lr, Location cwLeft,
      Location cwRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:273,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:275,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:276,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:280,1
    - Dst: geos::geomgraph::GeometryGraph::addPolygonRing
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: geos::geomgraph::GeometryGraph::addPolygon
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::GeometryGraph::addPolygonRing
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPolygon(const Polygon* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:288,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:289,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:291,1
    - Dst: auto::release
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:295,1
    - Dst: Label
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: Edge::Edge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:296,1
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:298,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: auto::size
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:307,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:308,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    - Dst: auto::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts:
    - condition: (coordRaw->size() >= 2)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/geos/src/geomgraph/GeometryGraph.cpp
    constantsTouched: []
    func_position:
      end: 310
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 310
    functionName: geos::geomgraph::GeometryGraph::addLineString
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - auto::size
    - Label
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - Edge::Edge
    - insertEdge
    - assert
    - auto::getSize
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addLineString(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertEdge
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:319,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:320,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:322,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: geos::geomgraph::GeometryGraph::addEdge
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::geomgraph::GeometryGraph::insertPoint
    - CoordinateSequence*::getSize
    - insertEdge
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addEdge(Edge* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: geos::geomgraph::GeometryGraph::addPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::GeometryGraph::insertPoint
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addPoint(Coordinate& pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getEnvelope
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:342,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - env
    - start
    - end
    - ' to'
    argTypes:
    - Envelope*
    - T
    - T
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: geos::geomgraph::collect_intersecting_edges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getEnvelope
    - push_back
    linkageType: ''
    returnType: void
    signature: void collect_intersecting_edges(const Envelope* env, T start, T end,
      C& to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<SegmentIntersector>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:353,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:360,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:361,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:366,1
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:367,1
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:368,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: auto::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:372,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ' li'
    - computeRingSelfNodes
    - env
    argTypes:
    - LineIntersector
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: geos::geomgraph::GeometryGraph::computeSelfNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    - auto::get
    - getEnvelopeInternal
    - EC*::end
    - dynamic_cast<const Polygon*>
    - EC*::begin
    - std::unique_ptr::computeIntersections
    - dynamic_cast<const MultiPolygon*>
    - collect_intersecting_edges
    - detail::make_unique<SegmentIntersector>
    - dynamic_cast<const LinearRing*>
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeSelfNodes(LineIntersector&
      li,\n                                bool computeRingSelfNodes, const Envelope*
      env)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector::SegmentIntersector
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:389,1
    - Dst: std::unique_ptr::setBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: geos::geomgraph::GeometryGraph::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: GeometryGraph*::getBoundaryNodes
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:391,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:401,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:402,1
    - Dst: Envelope*::covers
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: GeometryGraph*::parentGeom::getEnvelopeInternal
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:406,1
    - Dst: collect_intersecting_edges
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::begin
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: EC*::end
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:407,1
    - Dst: std::unique_ptr::computeIntersections
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - g
    - li
    - includeProper
    - env
    argTypes:
    - GeometryGraph*
    - LineIntersector*
    - bool
    - Envelope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: geos::geomgraph::GeometryGraph::computeEdgeIntersections
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - Envelope*::covers
    - std::unique_ptr::get
    - getEnvelopeInternal
    - geos::geomgraph::GeometryGraph::getBoundaryNodes
    - SegmentIntersector::SegmentIntersector
    - EC*::end
    - GeometryGraph*::getBoundaryNodes
    - EC*::begin
    - GeometryGraph*::parentGeom::getEnvelopeInternal
    - std::unique_ptr::computeIntersections
    - collect_intersecting_edges
    - std::unique_ptr::setBoundaryNodes
    linkageType: ''
    returnType: std::unique_ptr<SegmentIntersector>
    signature: "std::unique_ptr<SegmentIntersector> GeometryGraph::computeEdgeIntersections(GeometryGraph*
      g,\n                                        LineIntersector* li, bool includeProper,
      const Envelope* env)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate::toString
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:423,1
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:425,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:426,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:427,1
    - Dst: Node*::setLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:428,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - onLocation
    argTypes:
    - uint8_t
    - Coordinate
    - geom::Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: geos::geomgraph::GeometryGraph::insertPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 19
    functionsReached:
    - isNull
    - Coordinate::toString
    - addNode
    - Node*::setLabel
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::insertPoint(uint8_t p_argIndex, const Coordinate
      &coord,\n                           geom::Location onLocation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:444,1
    - Dst: Node*::getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:446,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:452,1
    - Dst: geos::geomgraph::GeometryGraph::determineBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:459,1
    - Dst: setLocation
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_argIndex
    - coord
    argTypes:
    - uint8_t
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: geos::geomgraph::GeometryGraph::insertBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 7
    functionsReached:
    - addNode
    - geos::geomgraph::GeometryGraph::determineBoundary
    - getLocation
    - Node*::getLabel
    - setLocation
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::insertBoundaryPoint(uint8_t p_argIndex, const Coordinate
      &coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:468,1
    - Dst: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:471,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_argIndex
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNodes
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - getLabel
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    linkageType: ''
    returnType: void
    signature: void GeometryGraph::addSelfIntersectionNodes(uint8_t p_argIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isBoundaryNode
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:483,1
    - Dst: geos::geomgraph::GeometryGraph::insertBoundaryPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:487,1
    - Dst: geos::geomgraph::GeometryGraph::insertPoint
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_argIndex
    - coord
    - loc
    argTypes:
    - uint8_t
    - Coordinate
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: geos::geomgraph::GeometryGraph::addSelfIntersectionNode
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - isBoundaryNode
    - geos::geomgraph::GeometryGraph::insertPoint
    - geos::geomgraph::GeometryGraph::insertBoundaryPoint
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::addSelfIntersectionNode(uint8_t p_argIndex,\n
      \                                      const Coordinate &coord, Location loc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: geos::geomgraph::GeometryGraph::getEdges
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Edge*>
    signature: 'std::vector<Edge*> *

      GeometryGraph::getEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: geos::geomgraph::GeometryGraph::hasTooFewPoints
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GeometryGraph::hasTooFewPoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: '&

      GeometryGraph::getInvalidPoint()'
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      GeometryGraph::getInvalidPoint()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:518,1
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - newArgIndex
    - newParentGeom
    argTypes:
    - uint8_t
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::add
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - newArgIndex
    - newParentGeom
    - ' bnr'
    argTypes:
    - uint8_t
    - geom::Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: geos::geomgraph::GeometryGraph::GeometryGraph
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::GeometryGraph::add
    linkageType: ''
    returnType: void
    signature: "void GeometryGraph::GeometryGraph(uint8_t newArgIndex,\n                             const
      geom::Geometry* newParentGeom,\n                             const algorithm::BoundaryNodeRule&
      bnr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::GeometryGraph::isInBoundary
      Src: /src/geos/src/geomgraph/GeometryGraph.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' boundaryNodeRule'
    - boundaryCount
    argTypes:
    - algorithm::BoundaryNodeRule
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: geos::geomgraph::GeometryGraph::determineBoundary
    functionSourceFile: /src/geos/src/geomgraph/GeometryGraph.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::GeometryGraph::isInBoundary
    linkageType: ''
    returnType: Location
    signature: "Location GeometryGraph::determineBoundary(\n    const algorithm::BoundaryNodeRule&
      boundaryNodeRule,\n    int boundaryCount)"
  - 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: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd(Edge* newEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    - ' newLabel'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1, const Label& newLabel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:102,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' newP0'
    - ' newP1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (!(dx == 0 && dy == 0))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeEnd::init
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 2
    functionsReached:
    - assert
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::init(const Coordinate& newP0, const Coordinate& newP1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '&

      EdgeEnd::getDirectedCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEnd::getDirectedCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeEnd::getQuadrant
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::getQuadrant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::EdgeEnd::getDx
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::EdgeEnd::getDy
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newNode
    argTypes:
    - Node*
    assertStmts:
    - condition: (node->getCoordinate().equals2D(p0))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeEnd::setNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::setNode(Node* newNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: geos::geomgraph::EdgeEnd::getNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      EdgeEnd::getNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::compareDirection
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::EdgeEnd::compareTo
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::compareDirection
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareTo(const EdgeEnd* e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:162,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: geos::geomgraph::EdgeEnd::compareDirection
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 1
    functionsReached:
    - assert
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareDirection(const EdgeEnd* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geomgraph::EdgeEnd::computeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::computeLabel(const algorithm::BoundaryNodeRule& /*boundaryNodeRule*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::EdgeEnd::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEnd::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atan2
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' ee'
    argTypes:
    - std::ostream
    - EdgeEnd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: '&

      operator<< (std::ostream& os, const EdgeEnd& ee)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::atan2
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEnd& ee)'
  - 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: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd(Edge* newEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    - ' newLabel'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1, const Label& newLabel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:102,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' newP0'
    - ' newP1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (!(dx == 0 && dy == 0))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeEnd::init
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 4
    functionsReached:
    - assert
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::init(const Coordinate& newP0, const Coordinate& newP1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '&

      EdgeEnd::getDirectedCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEnd::getDirectedCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeEnd::getQuadrant
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::getQuadrant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::EdgeEnd::getDx
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::EdgeEnd::getDy
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newNode
    argTypes:
    - Node*
    assertStmts:
    - condition: (node->getCoordinate().equals2D(p0))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeEnd::setNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::setNode(Node* newNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: geos::geomgraph::EdgeEnd::getNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      EdgeEnd::getNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::compareDirection
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::EdgeEnd::compareTo
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::compareDirection
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareTo(const EdgeEnd* e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:162,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: geos::geomgraph::EdgeEnd::compareDirection
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 2
    functionsReached:
    - assert
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareDirection(const EdgeEnd* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geomgraph::EdgeEnd::computeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::computeLabel(const algorithm::BoundaryNodeRule& /*boundaryNodeRule*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::EdgeEnd::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEnd::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atan2
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' ee'
    argTypes:
    - std::ostream
    - EdgeEnd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: '&

      operator<< (std::ostream& os, const EdgeEnd& ee)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::atan2
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEnd& ee)'
  - 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: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd(Edge* newEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    - ' newLabel'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1, const Label& newLabel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:102,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' newP0'
    - ' newP1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (!(dx == 0 && dy == 0))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeEnd::init
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 6
    functionsReached:
    - assert
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::init(const Coordinate& newP0, const Coordinate& newP1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '&

      EdgeEnd::getDirectedCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEnd::getDirectedCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeEnd::getQuadrant
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::getQuadrant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::EdgeEnd::getDx
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::EdgeEnd::getDy
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newNode
    argTypes:
    - Node*
    assertStmts:
    - condition: (node->getCoordinate().equals2D(p0))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeEnd::setNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::setNode(Node* newNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: geos::geomgraph::EdgeEnd::getNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      EdgeEnd::getNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::compareDirection
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::EdgeEnd::compareTo
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::compareDirection
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareTo(const EdgeEnd* e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:162,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: geos::geomgraph::EdgeEnd::compareDirection
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 3
    functionsReached:
    - assert
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareDirection(const EdgeEnd* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geomgraph::EdgeEnd::computeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::computeLabel(const algorithm::BoundaryNodeRule& /*boundaryNodeRule*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::EdgeEnd::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEnd::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atan2
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' ee'
    argTypes:
    - std::ostream
    - EdgeEnd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: '&

      operator<< (std::ostream& os, const EdgeEnd& ee)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::atan2
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEnd& ee)'
  - 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: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newEdge
    argTypes:
    - Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::EdgeEnd(Edge* newEdge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    - ' newLabel'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1, const Label& newLabel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::init
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - newEdge
    - ' newP0'
    - ' newP1'
    argTypes:
    - Edge*
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: geos::geomgraph::EdgeEnd::EdgeEnd
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::init
    linkageType: ''
    returnType: void
    signature: "void EdgeEnd::EdgeEnd(Edge* newEdge, const Coordinate& newP0,\n                 const
      Coordinate& newP1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:102,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' newP0'
    - ' newP1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts:
    - condition: (!(dx == 0 && dy == 0))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: geos::geomgraph::EdgeEnd::init
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 8
    functionsReached:
    - assert
    - geos::algorithm::PolygonNodeTopology::quadrant
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::init(const Coordinate& newP0, const Coordinate& newP1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '&

      EdgeEnd::getDirectedCoordinate()'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      EdgeEnd::getDirectedCoordinate()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::geomgraph::EdgeEnd::getQuadrant
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::getQuadrant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::EdgeEnd::getDx
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: geos::geomgraph::EdgeEnd::getDy
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double EdgeEnd::getDy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newNode
    argTypes:
    - Node*
    assertStmts:
    - condition: (node->getCoordinate().equals2D(p0))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::EdgeEnd::setNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::setNode(Node* newNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: geos::geomgraph::EdgeEnd::getNode
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: 'Node *

      EdgeEnd::getNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::compareDirection
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: geos::geomgraph::EdgeEnd::compareTo
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::compareDirection
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareTo(const EdgeEnd* e) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:162,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - EdgeEnd*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/geos/src/geomgraph/EdgeEnd.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: geos::geomgraph::EdgeEnd::compareDirection
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 4
    functionsReached:
    - assert
    - geos::algorithm::Orientation::index
    linkageType: ''
    returnType: int
    signature: int EdgeEnd::compareDirection(const EdgeEnd* e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: geos::geomgraph::EdgeEnd::computeLabel
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeEnd::computeLabel(const algorithm::BoundaryNodeRule& /*boundaryNodeRule*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::EdgeEnd::print
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string EdgeEnd::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atan2
      Src: /src/geos/src/geomgraph/EdgeEnd.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' ee'
    argTypes:
    - std::ostream
    - EdgeEnd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: '&

      operator<< (std::ostream& os, const EdgeEnd& ee)'
    functionSourceFile: /src/geos/src/geomgraph/EdgeEnd.cpp
    functionUses: 0
    functionsReached:
    - std::atan2
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const EdgeEnd& ee)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - currLocation
    - nextLocation
    argTypes:
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdge::depthFactor
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::depthFactor(Location currLocation, Location nextLocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:71,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:78,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: geos::geomgraph::DirectedEdge::computeDirectedLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - newEdge
    - newIsForward
    argTypes:
    - Edge*
    - bool
    assertStmts:
    - condition: (newEdge)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    - condition: (newEdge->getNumPoints() >= 2)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: geos::geomgraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumPoints
    - assert
    - Edge*::getNumPoints
    - init
    - geos::geomgraph::DirectedEdge::computeDirectedLabel
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::DirectedEdge(Edge* newEdge, bool newIsForward)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::DirectedEdge::setDepth
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::util::TopologyException
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setDepth(int position, int newDepth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: geos::geomgraph::DirectedEdge::getDepthDelta
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getDepthDelta() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:113,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:114,1
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newIsVisited
    argTypes:
    - bool
    assertStmts:
    - condition: (sym)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::geomgraph::DirectedEdge::setVisitedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - setVisited
    - assert
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setVisitedEdge(bool newIsVisited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::DirectedEdge::isLineEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - allPositionsEqual
    - isLine
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isLineEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:135,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:136,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::DirectedEdge::isInteriorAreaEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isInteriorAreaEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:148,1
    - Dst: flip
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::geomgraph::DirectedEdge::computeDirectedLabel
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 1
    functionsReached:
    - getLabel
    - flip
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::computeDirectedLabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:159,1
    - Dst: geos::geom::Position::opposite
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:168,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:172,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::DirectedEdge::setEdgeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::DirectedEdge::setDepth
    - getEdge
    - geos::geom::Position::opposite
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdgeDepths(int position, int newDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:181,1
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:187,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::EdgeEnd::print
    - std::stringstream::str
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:207,1
    - Dst: printReverse
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: geos::geomgraph::DirectedEdge::printEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - printReverse
    - geos::geomgraph::DirectedEdge::print
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::printEdge()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - currLocation
    - nextLocation
    argTypes:
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdge::depthFactor
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::depthFactor(Location currLocation, Location nextLocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:71,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:78,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: geos::geomgraph::DirectedEdge::computeDirectedLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - newEdge
    - newIsForward
    argTypes:
    - Edge*
    - bool
    assertStmts:
    - condition: (newEdge)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    - condition: (newEdge->getNumPoints() >= 2)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: geos::geomgraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumPoints
    - assert
    - Edge*::getNumPoints
    - init
    - geos::geomgraph::DirectedEdge::computeDirectedLabel
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::DirectedEdge(Edge* newEdge, bool newIsForward)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::DirectedEdge::setDepth
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 1
    functionsReached:
    - geos::util::TopologyException
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setDepth(int position, int newDepth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: geos::geomgraph::DirectedEdge::getDepthDelta
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getDepthDelta() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:113,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:114,1
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newIsVisited
    argTypes:
    - bool
    assertStmts:
    - condition: (sym)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::geomgraph::DirectedEdge::setVisitedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - setVisited
    - assert
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setVisitedEdge(bool newIsVisited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::DirectedEdge::isLineEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - allPositionsEqual
    - isLine
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isLineEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:135,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:136,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::DirectedEdge::isInteriorAreaEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isInteriorAreaEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:148,1
    - Dst: flip
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::geomgraph::DirectedEdge::computeDirectedLabel
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 2
    functionsReached:
    - getLabel
    - flip
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::computeDirectedLabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:159,1
    - Dst: geos::geom::Position::opposite
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:168,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:172,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::DirectedEdge::setEdgeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::DirectedEdge::setDepth
    - getEdge
    - geos::geom::Position::opposite
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdgeDepths(int position, int newDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:181,1
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:187,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::EdgeEnd::print
    - std::stringstream::str
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:207,1
    - Dst: printReverse
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: geos::geomgraph::DirectedEdge::printEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - printReverse
    - geos::geomgraph::DirectedEdge::print
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::printEdge()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - currLocation
    - nextLocation
    argTypes:
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdge::depthFactor
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::depthFactor(Location currLocation, Location nextLocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:71,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:78,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: geos::geomgraph::DirectedEdge::computeDirectedLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - newEdge
    - newIsForward
    argTypes:
    - Edge*
    - bool
    assertStmts:
    - condition: (newEdge)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    - condition: (newEdge->getNumPoints() >= 2)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: geos::geomgraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumPoints
    - assert
    - Edge*::getNumPoints
    - init
    - geos::geomgraph::DirectedEdge::computeDirectedLabel
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::DirectedEdge(Edge* newEdge, bool newIsForward)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::DirectedEdge::setDepth
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 2
    functionsReached:
    - geos::util::TopologyException
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setDepth(int position, int newDepth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: geos::geomgraph::DirectedEdge::getDepthDelta
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 5
    functionsReached:
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getDepthDelta() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:113,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:114,1
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newIsVisited
    argTypes:
    - bool
    assertStmts:
    - condition: (sym)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::geomgraph::DirectedEdge::setVisitedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - setVisited
    - assert
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setVisitedEdge(bool newIsVisited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::DirectedEdge::isLineEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - allPositionsEqual
    - isLine
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isLineEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:135,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:136,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::DirectedEdge::isInteriorAreaEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isInteriorAreaEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:148,1
    - Dst: flip
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::geomgraph::DirectedEdge::computeDirectedLabel
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 3
    functionsReached:
    - getLabel
    - flip
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::computeDirectedLabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:159,1
    - Dst: geos::geom::Position::opposite
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:168,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:172,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::DirectedEdge::setEdgeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::DirectedEdge::setDepth
    - getEdge
    - geos::geom::Position::opposite
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdgeDepths(int position, int newDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:181,1
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:187,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::EdgeEnd::print
    - std::stringstream::str
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:207,1
    - Dst: printReverse
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: geos::geomgraph::DirectedEdge::printEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - printReverse
    - geos::geomgraph::DirectedEdge::print
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::printEdge()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - currLocation
    - nextLocation
    argTypes:
    - Location
    - Location
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: geos::geomgraph::DirectedEdge::depthFactor
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::depthFactor(Location currLocation, Location nextLocation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:71,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:72,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:75,1
    - Dst: getNumPoints
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:78,1
    - Dst: init
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:79,1
    - Dst: geos::geomgraph::DirectedEdge::computeDirectedLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - newEdge
    - newIsForward
    argTypes:
    - Edge*
    - bool
    assertStmts:
    - condition: (newEdge)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    - condition: (newEdge->getNumPoints() >= 2)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: geos::geomgraph::DirectedEdge::DirectedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    - getNumPoints
    - assert
    - Edge*::getNumPoints
    - init
    - geos::geomgraph::DirectedEdge::computeDirectedLabel
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::DirectedEdge(Edge* newEdge, bool newIsForward)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: geos::geomgraph::DirectedEdge::setDepth
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 3
    functionsReached:
    - geos::util::TopologyException
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setDepth(int position, int newDepth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: geos::geomgraph::DirectedEdge::getDepthDelta
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 7
    functionsReached:
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: int
    signature: int DirectedEdge::getDepthDelta() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:113,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:114,1
    - Dst: setVisited
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newIsVisited
    argTypes:
    - bool
    assertStmts:
    - condition: (sym)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/geos/src/geomgraph/DirectedEdge.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: geos::geomgraph::DirectedEdge::setVisitedEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - setVisited
    - assert
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setVisitedEdge(bool newIsVisited)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isLine
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:123,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:124,1
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    - Dst: allPositionsEqual
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::DirectedEdge::isLineEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - allPositionsEqual
    - isLine
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isLineEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isArea
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:135,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:136,1
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: geos::geomgraph::DirectedEdge::isInteriorAreaEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isArea
    linkageType: ''
    returnType: bool
    signature: bool DirectedEdge::isInteriorAreaEdge()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:148,1
    - Dst: flip
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::geomgraph::DirectedEdge::computeDirectedLabel
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 4
    functionsReached:
    - getLabel
    - flip
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::computeDirectedLabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getEdge
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:159,1
    - Dst: geos::geom::Position::opposite
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:168,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:172,1
    - Dst: geos::geomgraph::DirectedEdge::setDepth
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - position
    - newDepth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: geos::geomgraph::DirectedEdge::setEdgeDepths
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::DirectedEdge::setDepth
    - getEdge
    - geos::geom::Position::opposite
    linkageType: ''
    returnType: void
    signature: void DirectedEdge::setEdgeDepths(int position, int newDepth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::EdgeEnd::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:181,1
    - Dst: geos::geomgraph::DirectedEdge::getDepthDelta
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:187,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: geos::geomgraph::DirectedEdge::print
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::EdgeEnd::print
    - std::stringstream::str
    - geos::geomgraph::DirectedEdge::getDepthDelta
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::print() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::DirectedEdge::print
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:207,1
    - Dst: printReverse
      Src: /src/geos/src/geomgraph/DirectedEdge.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: geos::geomgraph::DirectedEdge::printEdge
    functionSourceFile: /src/geos/src/geomgraph/DirectedEdge.cpp
    functionUses: 0
    functionsReached:
    - printReverse
    - geos::geomgraph::DirectedEdge::print
    linkageType: ''
    returnType: std::string
    signature: std::string DirectedEdge::printEdge()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::Depth::normalize
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - isNull
    linkageType: ''
    returnType: void
    signature: void Depth::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:68,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:72,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:73,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' lbl'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: geos::geomgraph::Depth::add
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isNull
    - depthAtLocation
    linkageType: ''
    returnType: void
    signature: void Depth::add(const Label& lbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Depth.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::Depth::toString
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Depth::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::Depth::normalize
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - isNull
    linkageType: ''
    returnType: void
    signature: void Depth::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:68,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:72,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:73,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' lbl'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: geos::geomgraph::Depth::add
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isNull
    - depthAtLocation
    linkageType: ''
    returnType: void
    signature: void Depth::add(const Label& lbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Depth.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::Depth::toString
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Depth::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::Depth::normalize
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - isNull
    linkageType: ''
    returnType: void
    signature: void Depth::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:68,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:72,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:73,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' lbl'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: geos::geomgraph::Depth::add
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isNull
    - depthAtLocation
    linkageType: ''
    returnType: void
    signature: void Depth::add(const Label& lbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Depth.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::Depth::toString
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Depth::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::Depth::normalize
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - isNull
    linkageType: ''
    returnType: void
    signature: void Depth::normalize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:68,1
    - Dst: isNull
      Src: /src/geos/src/geomgraph/Depth.cpp:72,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:73,1
    - Dst: depthAtLocation
      Src: /src/geos/src/geomgraph/Depth.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' lbl'
    argTypes:
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: geos::geomgraph::Depth::add
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - getLocation
    - isNull
    - depthAtLocation
    linkageType: ''
    returnType: void
    signature: void Depth::add(const Label& lbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/Depth.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: geos::geomgraph::Depth::toString
    functionSourceFile: /src/geos/src/geomgraph/Depth.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Depth::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Label.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::geomgraph::Label::toString
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Label::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' l'
    argTypes:
    - std::ostream
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: '&

      operator<< (std::ostream& os, const Label& l)'
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Label& l)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Label.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::geomgraph::Label::toString
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Label::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' l'
    argTypes:
    - std::ostream
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: '&

      operator<< (std::ostream& os, const Label& l)'
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Label& l)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Label.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::geomgraph::Label::toString
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Label::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' l'
    argTypes:
    - std::ostream
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: '&

      operator<< (std::ostream& os, const Label& l)'
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Label& l)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/geos/src/geomgraph/Label.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::geomgraph::Label::toString
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Label::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' l'
    argTypes:
    - std::ostream
    - Label
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: '&

      operator<< (std::ostream& os, const Label& l)'
    functionSourceFile: /src/geos/src/geomgraph/Label.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Label& l)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 1
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 1
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 5
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 11
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 15
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 9
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 10
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 19
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 20
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 20
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 10
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 5
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 11
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 23
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 24
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 24
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 5
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 13
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 14
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 27
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 28
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 28
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 14
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::SimpleSweepLineIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::SimpleSweepLineIntersector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::~SimpleSweepLineIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:51,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:54,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 15
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:62,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:63,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0, std::vector<Edge*>* edges1, SegmentIntersector* si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:70,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 31
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:80,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 32
    functionsReached:
    - geos::geomgraph::index::SimpleSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:89,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:90,1
    - Dst: SweepLineSegment::SweepLineSegment
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:92,1
    - Dst: SweepLineSegment*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:93,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:94,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineSegment*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    - Dst: SweepLineEvent::SweepLineEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 32
    functionsReached:
    - SweepLineSegment::SweepLineSegment
    - Edge*::getCoordinates
    - push_back
    - CoordinateSequence*::getSize
    - SweepLineSegment*::getMaxX
    - SweepLineSegment*::getMinX
    - SweepLineEvent::SweepLineEvent
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:107,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:108,1
    - Dst: SweepLineEvent*::isDelete
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:110,1
    - Dst: SweepLineEvent*::getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - size
    - SweepLineEvent*::isDelete
    - SweepLineEventLessThen
    - SweepLineEvent*::getInsertEvent
    - sort
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::prepareEvents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:120,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:121,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    - Dst: SweepLineEvent*::getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - size
    - SweepLineEvent*::isInsert
    - geos::geomgraph::index::SimpleSweepLineIntersector::prepareEvents
    - SweepLineEvent*::getDeleteEventIndex
    - geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:134,1
    - Dst: SweepLineEvent*::isInsert
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:143,1
    - Dst: detail::down_cast<SweepLineSegment*>
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:144,1
    - Dst: SweepLineSegment*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 151
    functionName: geos::geomgraph::index::SimpleSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - SweepLineSegment*::computeIntersections
    - SweepLineEvent*::isInsert
    - SweepLineEvent*::getObject
    - detail::down_cast<SweepLineSegment*>
    linkageType: ''
    returnType: void
    signature: "void SimpleSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end, SweepLineEvent* ev0,\n        SegmentIntersector* si)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 1
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 1
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 2
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 2
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 3
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 3
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 4
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 4
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 5
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 5
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 6
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 6
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 7
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:57,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:58,1
    - Dst: Edge*::isClosed
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:61,1
    - Dst: Edge*::getNumPoints
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 7
    functionsReached:
    - isAdjacentSegments
    - Edge*::getNumPoints
    - getIntersectionNum
    - Edge*::isClosed
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isTrivialIntersection(Edge* e0,\n        std::size_t
      segIndex0, Edge* e1,\n        std::size_t segIndex1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:92,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:93,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:94,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:95,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:97,1
    - Dst: computeIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:98,1
    - Dst: hasIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:104,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:106,1
    - Dst: Edge*::setIsolated
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:107,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:116,1
    - Dst: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:121,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:122,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:125,1
    - Dst: Edge*::addIntersections
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:126,1
    - Dst: isProper
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:131,1
    - Dst: getIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:132,1
    - Dst: toString
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - Edge*
    - std::size_t
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: geos::geomgraph::index::SegmentIntersector::addIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - getIntersection
    - isProper
    - Edge*::setIsolated
    - computeIntersection
    - toString
    - hasIntersection
    - geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    - Edge*::addIntersections
    - geos::geomgraph::index::SegmentIntersector::isTrivialIntersection
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SegmentIntersector::addIntersections(Edge* e0, std::size_t segIndex0,
      Edge* e1, std::size_t segIndex1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:158,1
    - Dst: LineIntersector*::isIntersection
      Src: /src/geos/src/geomgraph/index/SegmentIntersector.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_li
    - tstBdyNodes
    argTypes:
    - LineIntersector*
    - std::vector<Node*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: geos::geomgraph::index::SegmentIntersector::isBoundaryPoint
    functionSourceFile: /src/geos/src/geomgraph/index/SegmentIntersector.cpp
    functionUses: 8
    functionsReached:
    - LineIntersector*::isIntersection
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentIntersector::isBoundaryPoint(LineIntersector* p_li,\n
      \                                   std::vector<Node*>* tstBdyNodes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 1
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 2
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 3
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 4
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 5
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 6
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 7
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - newEdgeSet
    - x
    - newInsertEvent
    - newObj
    argTypes:
    - void*
    - double
    - SweepLineEvent*
    - SweepLineEventOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SweepLineEvent::SweepLineEvent
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SweepLineEvent::SweepLineEvent(void* newEdgeSet, double x,\n
      \                              SweepLineEvent* newInsertEvent, SweepLineEventOBJ*
      newObj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:51,1
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    - Dst: SweepLineEvent*::eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - sle
    argTypes:
    - SweepLineEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: geos::geomgraph::index::SweepLineEvent::compareTo
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 0
    functionsReached:
    - eventType
    - SweepLineEvent*::eventType
    linkageType: ''
    returnType: int
    signature: int SweepLineEvent::compareTo(SweepLineEvent* sle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventType
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:67,1
    - Dst: geos::geomgraph::index::SweepLineEvent::print
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:70,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/geomgraph/index/SweepLineEvent.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: geos::geomgraph::index::SweepLineEvent::print
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineEvent.cpp
    functionUses: 8
    functionsReached:
    - eventType
    - std::ostringstream::str
    - geos::geomgraph::index::SweepLineEvent::print
    linkageType: ''
    returnType: std::string
    signature: std::string SweepLineEvent::print()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 3
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 1
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 5
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 6
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 2
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 8
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 9
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 3
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 11
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 12
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 4
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 14
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 15
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 5
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 17
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 18
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 6
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 20
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 21
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 7
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:55,1
    - Dst: MonotoneChainIndexer::getChainStartIndices
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:57,1
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - newE
    argTypes:
    - Edge*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    - condition: (e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::MonotoneChainEdge::MonotoneChainEdge
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MonotoneChainIndexer::getChainStartIndices
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MonotoneChainEdge::MonotoneChainEdge(Edge* newE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pts)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: geos::geomgraph::index::MonotoneChainEdge::getCoordinates
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      MonotoneChainEdge::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      MonotoneChainEdge::getStartIndexes()'
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<size_t>
    signature: 'std::vector<size_t> &

      MonotoneChainEdge::getStartIndexes()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:77,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMinX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:85,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chainIndex
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::geomgraph::index::MonotoneChainEdge::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double MonotoneChainEdge::getMaxX(std::size_t chainIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:94,1
    - Dst: startIndex::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:95,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mce'
    - ' si'
    argTypes:
    - MonotoneChainEdge
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    - startIndex::size
    - size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersects(const MonotoneChainEdge&
      mce,\n                                     SegmentIntersector& si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - chainIndex0
    - ' mce'
    - chainIndex1
    - ' si'
    argTypes:
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 23
    functionsReached:
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t chainIndex0,\n
      \       const MonotoneChainEdge& mce, std::size_t chainIndex1,\n        SegmentIntersector&
      si)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addIntersections
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:122,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::overlaps
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:126,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:139,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:142,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:147,1
    - Dst: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    - ' ei'
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    - SegmentIntersector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 153
    functionName: geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 24
    functionsReached:
    - addIntersections
    - geos::geomgraph::index::MonotoneChainEdge::overlaps
    - geos::geomgraph::index::MonotoneChainEdge::computeIntersectsForChain
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainEdge::computeIntersectsForChain(std::size_t start0,
      std::size_t end0,\n        const MonotoneChainEdge& mce, std::size_t start1,
      std::size_t end1,\n        SegmentIntersector& ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:158,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    - Dst: pts::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - start0
    - end0
    - ' mce'
    - start1
    - end1
    argTypes:
    - std::size_t
    - std::size_t
    - MonotoneChainEdge
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: geos::geomgraph::index::MonotoneChainEdge::overlaps
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainEdge.cpp
    functionUses: 8
    functionsReached:
    - pts::getAt
    - geos::geom::Envelope::intersects
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool MonotoneChainEdge::overlaps(std::size_t start0, std::size_t end0,
      const MonotoneChainEdge& mce, std::size_t start1, std::size_t end1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 2
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 4
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 6
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 8
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 10
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 12
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 14
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::SimpleEdgeSetIntersector
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleEdgeSetIntersector::SimpleEdgeSetIntersector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:40,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:59,1
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:60,1
    - Dst: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:80,1
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:81,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:83,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:84,1
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - e0
    - e1
    - si
    argTypes:
    - Edge*
    - Edge*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: geos::geomgraph::index::SimpleEdgeSetIntersector::computeIntersects
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleEdgeSetIntersector.cpp
    functionUses: 16
    functionsReached:
    - SegmentIntersector*::addIntersections
    - Edge*::getCoordinates
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void SimpleEdgeSetIntersector::computeIntersects(Edge* e0, Edge* e1,\n
      \       SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 1
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 1
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 1
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 5
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 11
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 15
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 3
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 9
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 10
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 19
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 20
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 20
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 4
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 10
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 5
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 11
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 23
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 24
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 24
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 5
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 12
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 13
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 14
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 27
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 28
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 28
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 6
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 14
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:36,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:39,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - edges
    - si
    - testAllSegments
    argTypes:
    - std::vector<Edge*>*
    - SegmentIntersector*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 15
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges,\n        SegmentIntersector* si, bool testAllSegments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:48,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:49,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - edges0
    - edges1
    - si
    argTypes:
    - std::vector<Edge*>*
    - std::vector<Edge*>*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::computeIntersections(std::vector<Edge*>*
      edges0,\n        std::vector<Edge*>* edges1, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:56,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - edges
    argTypes:
    - std::vector<Edge*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 31
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Edge*>*::size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:66,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - edges
    - edgeSet
    argTypes:
    - std::vector<Edge*>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 32
    functionsReached:
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    - std::vector<Edge*>*::size
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(std::vector<Edge*>* edges, void*
      edgeSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getMonotoneChainEdge
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:75,1
    - Dst: MonotoneChainEdge*::getStartIndexes
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:76,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:77,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:80,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:81,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:82,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: MonotoneChainEdge*::getMinX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:84,1
    - Dst: back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:85,1
    - Dst: emplace_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    - Dst: MonotoneChainEdge*::getMaxX
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - edge
    - edgeSet
    argTypes:
    - Edge*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::add
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 32
    functionsReached:
    - size
    - MonotoneChainEdge*::getMaxX
    - MonotoneChainEdge*::getMinX
    - MonotoneChainEdge*::getStartIndexes
    - Edge*::getMonotoneChainEdge
    - GEOS_CHECK_FOR_INTERRUPTS
    - back
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::add(Edge* edge, void* edgeSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:99,1
    - Dst: reserve
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:100,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:102,1
    - Dst: sort
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: begin
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: end
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: SweepLineEventLessThen
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:105,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:106,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:107,1
    - Dst: isDelete
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:109,1
    - Dst: getInsertEvent
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 7
    functionsReached:
    - reserve
    - size
    - getInsertEvent
    - push_back
    - clear
    - SweepLineEventLessThen
    - isDelete
    - GEOS_CHECK_FOR_INTERRUPTS
    - end
    - begin
    - sort
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::prepareEvents()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:119,1
    - Dst: size
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:120,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:121,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:123,1
    - Dst: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: getDeleteEventIndex
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:124,1
    - Dst: SegmentIntersector*::getIsDone
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - si
    argTypes:
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 16
    functionsReached:
    - size
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::prepareEvents
    - SegmentIntersector*::getIsDone
    - isInsert
    - GEOS_CHECK_FOR_INTERRUPTS
    - getDeleteEventIndex
    - geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    linkageType: ''
    returnType: void
    signature: void SimpleMCSweepLineIntersector::computeIntersections(SegmentIntersector*
      si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: SweepLineEvent*::getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:136,1
    - Dst: isInsert
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:145,1
    - Dst: detail::down_cast<MonotoneChain*>
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: getObject
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:146,1
    - Dst: MonotoneChain*::computeIntersections
      Src: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - start
    - end
    - ev0
    - si
    argTypes:
    - std::size_t
    - std::size_t
    - SweepLineEvent*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: geos::geomgraph::index::SimpleMCSweepLineIntersector::processOverlaps
    functionSourceFile: /src/geos/src/geomgraph/index/SimpleMCSweepLineIntersector.cpp
    functionUses: 8
    functionsReached:
    - getObject
    - detail::down_cast<MonotoneChain*>
    - isInsert
    - SweepLineEvent*::getObject
    - MonotoneChain*::computeIntersections
    linkageType: ''
    returnType: void
    signature: "void SimpleMCSweepLineIntersector::processOverlaps(std::size_t start,
      std::size_t end,\n        SweepLineEvent* ev0, SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Edge*::getCoordinates
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newEdge
    - newPtIndex
    argTypes:
    - Edge*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: geos::geomgraph::index::SweepLineSegment::SweepLineSegment
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - Edge*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SweepLineSegment::SweepLineSegment(Edge* newEdge, std::size_t
      newPtIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:41,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::geomgraph::index::SweepLineSegment::getMinX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMinX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:49,1
    - Dst: getAt
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: geos::geomgraph::index::SweepLineSegment::getMaxX
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: double
    signature: double SweepLineSegment::getMaxX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentIntersector*::addIntersections
      Src: /src/geos/src/geomgraph/index/SweepLineSegment.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - si
    argTypes:
    - SweepLineSegment*
    - SegmentIntersector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geos::geomgraph::index::SweepLineSegment::computeIntersections
    functionSourceFile: /src/geos/src/geomgraph/index/SweepLineSegment.cpp
    functionUses: 0
    functionsReached:
    - SegmentIntersector*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void SweepLineSegment::computeIntersections(SweepLineSegment* ss,\n
      \                                      SegmentIntersector* si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:38,1
    - Dst: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:40,1
    - Dst: push_back
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:41,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pts
    - ' startIndexList'
    argTypes:
    - CoordinateSequence*
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: geos::geomgraph::index::MonotoneChainIndexer::getChainStartIndices
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 0
    functionsReached:
    - geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    - push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: "void MonotoneChainIndexer::getChainStartIndices(const CoordinateSequence*
      pts,\n        std::vector<size_t>& startIndexList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:56,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:58,1
    - Dst: geos::algorithm::PolygonNodeTopology::quadrant
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pts
    - start
    argTypes:
    - CoordinateSequence*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: geos::geomgraph::index::MonotoneChainIndexer::findChainEnd
    functionSourceFile: /src/geos/src/geomgraph/index/MonotoneChainIndexer.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - geos::algorithm::PolygonNodeTopology::quadrant
    - CoordinateSequence*::size
    linkageType: ''
    returnType: size_t
    signature: size_t MonotoneChainIndexer::findChainEnd(const CoordinateSequence*
      pts, std::size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ringHull
    argTypes:
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::simplify::RingHullIndex::add
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHullIndex::add(const RingHull* ringHull)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHullIndex::size
      Src: /src/geos/src/simplify/RingHullIndex.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::simplify::RingHullIndex::size
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::RingHullIndex::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHullIndex::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/simplify/RingHullIndex.cpp:46,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHullIndex.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: geos::simplify::RingHullIndex::query
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - std::vector::push_back
    - getEnvelope
    linkageType: ''
    returnType: std::vector<const RingHull*>
    signature: std::vector<const RingHull*> RingHullIndex::query(const Envelope& queryEnv)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ringHull
    argTypes:
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::simplify::RingHullIndex::add
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHullIndex::add(const RingHull* ringHull)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHullIndex::size
      Src: /src/geos/src/simplify/RingHullIndex.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::simplify::RingHullIndex::size
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::RingHullIndex::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHullIndex::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/simplify/RingHullIndex.cpp:46,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHullIndex.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: geos::simplify::RingHullIndex::query
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - std::vector::push_back
    - getEnvelope
    linkageType: ''
    returnType: std::vector<const RingHull*>
    signature: std::vector<const RingHull*> RingHullIndex::query(const Envelope& queryEnv)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ringHull
    argTypes:
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::simplify::RingHullIndex::add
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHullIndex::add(const RingHull* ringHull)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHullIndex::size
      Src: /src/geos/src/simplify/RingHullIndex.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::simplify::RingHullIndex::size
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::RingHullIndex::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHullIndex::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/simplify/RingHullIndex.cpp:46,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHullIndex.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: geos::simplify::RingHullIndex::query
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - std::vector::push_back
    - getEnvelope
    linkageType: ''
    returnType: std::vector<const RingHull*>
    signature: std::vector<const RingHull*> RingHullIndex::query(const Envelope& queryEnv)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ringHull
    argTypes:
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: geos::simplify::RingHullIndex::add
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHullIndex::add(const RingHull* ringHull)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHullIndex::size
      Src: /src/geos/src/simplify/RingHullIndex.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::simplify::RingHullIndex::size
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::RingHullIndex::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHullIndex::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/simplify/RingHullIndex.cpp:46,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHullIndex.cpp:47,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/RingHullIndex.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' queryEnv'
    argTypes:
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: geos::simplify::RingHullIndex::query
    functionSourceFile: /src/geos/src/simplify/RingHullIndex.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - std::vector::push_back
    - getEnvelope
    linkageType: ''
    returnType: std::vector<const RingHull*>
    signature: std::vector<const RingHull*> RingHullIndex::query(const Envelope& queryEnv)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:55,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:61,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:62,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   std::size_t start, std::size_t end,\n    const LineSegment& seg) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:92,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:98,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:99,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   const LineSegment* seg1,\n    const LineSegment* seg2,\n    const LineSegment&
      seg) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:117,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' compPt'
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:130,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' compPt'
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:143,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' compPt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 2
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:154,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:155,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' compPt'
    - seg1
    - seg2
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 2
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' compPt'
    - line
    - start
    - end
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 2
    functionsReached:
    - RayCrossingCounter::getCount
    - TaggedLineString*::getCoordinate
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:179,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:180,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:181,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - seg1
    - seg2
    argTypes:
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const LineSegment*
      seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandToInclude
    - TaggedLineString*::getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const TaggedLineString*
      line,\n    std::size_t start, std::size_t end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:55,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:61,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:62,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   std::size_t start, std::size_t end,\n    const LineSegment& seg) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:92,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:98,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:99,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   const LineSegment* seg1,\n    const LineSegment* seg2,\n    const LineSegment&
      seg) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:117,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' compPt'
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:130,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' compPt'
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:143,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' compPt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 4
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:154,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:155,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' compPt'
    - seg1
    - seg2
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 4
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' compPt'
    - line
    - start
    - end
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 4
    functionsReached:
    - RayCrossingCounter::getCount
    - TaggedLineString*::getCoordinate
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:179,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:180,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:181,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - seg1
    - seg2
    argTypes:
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const LineSegment*
      seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandToInclude
    - TaggedLineString*::getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const TaggedLineString*
      line,\n    std::size_t start, std::size_t end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:55,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:61,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:62,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   std::size_t start, std::size_t end,\n    const LineSegment& seg) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:92,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:98,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:99,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   const LineSegment* seg1,\n    const LineSegment* seg2,\n    const LineSegment&
      seg) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:117,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' compPt'
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:130,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' compPt'
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:143,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' compPt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 6
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:154,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:155,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' compPt'
    - seg1
    - seg2
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 6
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' compPt'
    - line
    - start
    - end
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 6
    functionsReached:
    - RayCrossingCounter::getCount
    - TaggedLineString*::getCoordinate
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:179,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:180,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:181,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - seg1
    - seg2
    argTypes:
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 6
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const LineSegment*
      seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 6
    functionsReached:
    - Envelope::expandToInclude
    - TaggedLineString*::getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const TaggedLineString*
      line,\n    std::size_t start, std::size_t end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:55,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:61,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:62,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   std::size_t start, std::size_t end,\n    const LineSegment& seg) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::computeEnvelope
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:92,1
    - Dst: getComponentPoint
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:98,1
    - Dst: Envelope::intersects
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:99,1
    - Dst: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - line
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: geos::simplify::ComponentJumpChecker::hasJump
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 0
    functionsReached:
    - getComponentPoint
    - geos::simplify::ComponentJumpChecker::computeEnvelope
    - Envelope::intersects
    - geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJump(\n    const TaggedLineString* line,\n
      \   const LineSegment* seg1,\n    const LineSegment* seg2,\n    const LineSegment&
      seg) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:117,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' compPt'
    - line
    - start
    - end
    - ' seg'
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 8
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:130,1
    - Dst: geos::simplify::ComponentJumpChecker::crossingCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' compPt'
    - seg1
    - seg2
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: geos::simplify::ComponentJumpChecker::hasJumpAtComponent
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 8
    functionsReached:
    - geos::simplify::ComponentJumpChecker::crossingCount
    linkageType: ''
    returnType: bool
    signature: "bool ComponentJumpChecker::hasJumpAtComponent(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:143,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' compPt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 8
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment& seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:154,1
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:155,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' compPt'
    - seg1
    - seg2
    argTypes:
    - Coordinate
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 8
    functionsReached:
    - RayCrossingCounter::getCount
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const LineSegment* seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RayCrossingCounter::countSegment
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:168,1
    - Dst: RayCrossingCounter::getCount
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' compPt'
    - line
    - start
    - end
    argTypes:
    - Coordinate
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: geos::simplify::ComponentJumpChecker::crossingCount
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 8
    functionsReached:
    - RayCrossingCounter::getCount
    - TaggedLineString*::getCoordinate
    - RayCrossingCounter::countSegment
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t ComponentJumpChecker::crossingCount(\n    const Coordinate&
      compPt,\n    const TaggedLineString* line,\n    std::size_t start, std::size_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:179,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:180,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:181,1
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - seg1
    - seg2
    argTypes:
    - LineSegment*
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 8
    functionsReached:
    - Envelope::expandToInclude
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const LineSegment*
      seg1, const LineSegment* seg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandToInclude
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    - Dst: TaggedLineString*::getCoordinate
      Src: /src/geos/src/simplify/ComponentJumpChecker.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: geos::simplify::ComponentJumpChecker::computeEnvelope
    functionSourceFile: /src/geos/src/simplify/ComponentJumpChecker.cpp
    functionUses: 8
    functionsReached:
    - Envelope::expandToInclude
    - TaggedLineString*::getCoordinate
    linkageType: ''
    returnType: Envelope
    signature: "Envelope ComponentJumpChecker::computeEnvelope(\n    const TaggedLineString*
      line,\n    std::size_t start, std::size_t end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:207,1
    - Dst: TopologyPreservingSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::simplify::TopologyPreservingSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 5
    functionsReached:
    - TopologyPreservingSimplifier::setDistanceTolerance
    - TopologyPreservingSimplifier::getResultGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::simplify(\n
      \   const geom::Geometry* geom,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLinesSimplifier::TaggedLinesSimplifier
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TopologyPreservingSimplifier::TopologyPreservingSimplifier
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - TaggedLinesSimplifier::TaggedLinesSimplifier
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::TopologyPreservingSimplifier(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IllegalArgumentException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:226,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::setDistanceTolerance(double d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:239,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: clone
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: apply_ro
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:251,1
    - Dst: LinesMap::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:256,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:259,1
    - Dst: LineStringTransformer::transform
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:266,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:275,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:276,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:286,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 298
    functionName: geos::simplify::TopologyPreservingSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LinesMap::size
    - apply_ro
    - LinesMap::begin
    - std::unique_ptr<Geometry>
    - LinesMap::end
    - geos::simplify::TopologyPreservingSimplifier::simplify
    - isEmpty
    - LineStringTransformer::transform
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:207,1
    - Dst: TopologyPreservingSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::simplify::TopologyPreservingSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 6
    functionsReached:
    - TopologyPreservingSimplifier::setDistanceTolerance
    - TopologyPreservingSimplifier::getResultGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::simplify(\n
      \   const geom::Geometry* geom,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLinesSimplifier::TaggedLinesSimplifier
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TopologyPreservingSimplifier::TopologyPreservingSimplifier
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - TaggedLinesSimplifier::TaggedLinesSimplifier
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::TopologyPreservingSimplifier(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IllegalArgumentException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:226,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::setDistanceTolerance(double d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:239,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: clone
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: apply_ro
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:251,1
    - Dst: LinesMap::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:256,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:259,1
    - Dst: LineStringTransformer::transform
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:266,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:275,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:276,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:286,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 298
    functionName: geos::simplify::TopologyPreservingSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LinesMap::size
    - apply_ro
    - LinesMap::begin
    - std::unique_ptr<Geometry>
    - LinesMap::end
    - geos::simplify::TopologyPreservingSimplifier::simplify
    - isEmpty
    - LineStringTransformer::transform
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:207,1
    - Dst: TopologyPreservingSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::simplify::TopologyPreservingSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 7
    functionsReached:
    - TopologyPreservingSimplifier::setDistanceTolerance
    - TopologyPreservingSimplifier::getResultGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::simplify(\n
      \   const geom::Geometry* geom,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLinesSimplifier::TaggedLinesSimplifier
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TopologyPreservingSimplifier::TopologyPreservingSimplifier
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - TaggedLinesSimplifier::TaggedLinesSimplifier
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::TopologyPreservingSimplifier(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IllegalArgumentException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:226,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::setDistanceTolerance(double d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:239,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: clone
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: apply_ro
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:251,1
    - Dst: LinesMap::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:256,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:259,1
    - Dst: LineStringTransformer::transform
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:266,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:275,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:276,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:286,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 298
    functionName: geos::simplify::TopologyPreservingSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LinesMap::size
    - apply_ro
    - LinesMap::begin
    - std::unique_ptr<Geometry>
    - LinesMap::end
    - geos::simplify::TopologyPreservingSimplifier::simplify
    - isEmpty
    - LineStringTransformer::transform
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nMap'
    argTypes:
    - LinesMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::simplify::LineStringTransformer::LineStringTransformer
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringTransformer::LineStringTransformer(LinesMap& nMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:95,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:97,1
    - Dst: find
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:99,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:109,1
    - Dst: assert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:110,1
    - Dst: TaggedLineString*::getResultCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:112,1
    - Dst: geos::geom::util::GeometryTransformer::transformCoordinates
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts:
    - condition: (it != linestringMap.end())
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    - condition: (taggedLine->getParent() == parent)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: geos::simplify::LineStringTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::util::GeometryTransformer::transformCoordinates
    - find
    - TaggedLineString*::getParent
    - TaggedLineString*::getResultCoordinates
    - dynamic_cast<const LineString*>
    - assert
    - CoordinateSequence*::size
    - end
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr LineStringTransformer::transformCoordinates(\n
      \   const CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter(const LineStringMapBuilderFilter& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - LineStringMapBuilderFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '& operator=(const LineStringMapBuilderFilter& rhs)'
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineStringMapBuilderFilter
    signature: LineStringMapBuilderFilter & operator=(const LineStringMapBuilderFilter&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nMap'
    - ' tlsVec'
    argTypes:
    - LinesMap
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: geos::simplify::LineStringMapBuilderFilter::LineStringMapBuilderFilter
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::LineStringMapBuilderFilter(LinesMap&
      nMap, std::vector<TaggedLineString*>& tlsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:174,1
    - Dst: Geometry*::isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:177,1
    - Dst: static_cast<const LineString*>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:185,1
    - Dst: auto::isClosed
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:186,1
    - Dst: TaggedLineString::TaggedLineString
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:187,1
    - Dst: insert
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: std::make_pair
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:190,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:192,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: geos::simplify::LineStringMapBuilderFilter::filter_ro
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::isClosed
    - insert
    - std::make_pair
    - static_cast<const LineString*>
    - Geometry*::getGeometryTypeId
    - push_back
    - TaggedLineString::TaggedLineString
    - Geometry*::isEmpty
    - geos::io::util::GEOSException
    linkageType: ''
    returnType: void
    signature: void LineStringMapBuilderFilter::filter_ro(const Geometry* geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:207,1
    - Dst: TopologyPreservingSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - geom::Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: geos::simplify::TopologyPreservingSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 8
    functionsReached:
    - TopologyPreservingSimplifier::setDistanceTolerance
    - TopologyPreservingSimplifier::getResultGeometry
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::simplify(\n
      \   const geom::Geometry* geom,\n    double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLinesSimplifier::TaggedLinesSimplifier
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TopologyPreservingSimplifier::TopologyPreservingSimplifier
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - TaggedLinesSimplifier::TaggedLinesSimplifier
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::TopologyPreservingSimplifier(const
      Geometry* geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IllegalArgumentException
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:226,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::TopologyPreservingSimplifier::setDistanceTolerance
    - IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void TopologyPreservingSimplifier::setDistanceTolerance(double d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:239,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: clone
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:240,1
    - Dst: apply_ro
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:251,1
    - Dst: LinesMap::size
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:256,1
    - Dst: geos::simplify::TopologyPreservingSimplifier::simplify
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:259,1
    - Dst: LineStringTransformer::transform
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:266,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:275,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:276,1
    - Dst: LinesMap::begin
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:286,1
    - Dst: LinesMap::end
      Src: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 298
    functionName: geos::simplify::TopologyPreservingSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/TopologyPreservingSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LinesMap::size
    - apply_ro
    - LinesMap::begin
    - std::unique_ptr<Geometry>
    - LinesMap::end
    - geos::simplify::TopologyPreservingSimplifier::simplify
    - isEmpty
    - LineStringTransformer::transform
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> TopologyPreservingSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::init
      Src: /src/geos/src/simplify/TaggedLineString.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nParentLine
    - nMinimumSize
    - bIsRing
    argTypes:
    - geom::LineString*
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: geos::simplify::TaggedLineString::TaggedLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::init
    linkageType: ''
    returnType: void
    signature: "void TaggedLineString::TaggedLineString(const geom::LineString* nParentLine,\n
      \   std::size_t nMinimumSize,\n    bool bIsRing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:64,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: TaggedLineString::~TaggedLineString()
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::~TaggedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:77,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:78,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:81,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/simplify/TaggedLineString.cpp:85,1
    - Dst: reserve
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:89,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:92,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineString.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:95,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:101,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 106
    functionName: geos::simplify::TaggedLineString::init
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 1
    functionsReached:
    - reserve
    - CoordinateSequence*::getAt
    - TaggedLineSegment::TaggedLineSegment
    - push_back
    - geos::simplify::TaggedLineString::size
    - CoordinateSequence*::isEmpty
    - assert
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::simplify::TaggedLineString::getMinimumSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getMinimumSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::simplify::TaggedLineString::isRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineString::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::simplify::TaggedLineString::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::LineString
    signature: 'geom::LineString *

      TaggedLineString::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:133,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: geos::simplify::TaggedLineString::getParentCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinatesRO
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      TaggedLineString::getParentCoordinates() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:144,1
    - Dst: geos::simplify::TaggedLineString::extractCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: geos::simplify::TaggedLineString::getResultCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - geos::simplify::TaggedLineString::size
    - geos::simplify::TaggedLineString::extractCoordinates
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr TaggedLineString::getResultCoordinates() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:162,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:165,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:168,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:173,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:174,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' segs'
    argTypes:
    - std::vector<TaggedLineSegment*>
    assertStmts:
    - condition: (seg)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: geos::simplify::TaggedLineString::extractCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - assert
    - geos::simplify::TaggedLineString::size
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> TaggedLineString::extractCoordinates(\n
      \   const std::vector<TaggedLineSegment*>& segs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/simplify/TaggedLineString.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: '&

      TaggedLineString::getCoordinate(std::size_t i) const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getCoordinate(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/simplify/TaggedLineString.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: geos::simplify::TaggedLineString::size
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 3
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:201,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: '&

      TaggedLineString::getComponentPoint() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getParentCoordinates
    - size
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getComponentPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TaggedLineString::getResultSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getResultSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: '&

      TaggedLineString::getSegments()'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: '&

      TaggedLineString::getSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: '&

      TaggedLineString::getResultSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getResultSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:258,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: geos::simplify::TaggedLineString::asLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: geos::simplify::TaggedLineString::asLinearRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLinearRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:276,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::release
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seg
    argTypes:
    - std::unique_ptr<TaggedLineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: geos::simplify::TaggedLineString::addToResult
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<TaggedLineSegment>::get
    - std::unique_ptr<TaggedLineSegment>::release
    - push_back
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::addToResult(std::unique_ptr<TaggedLineSegment>
      seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/geos/src/simplify/TaggedLineString.cpp:290,1
    - Dst: back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:291,1
    - Dst: pop_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: geos::simplify::TaggedLineString::removeRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - back
    - front
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::removeRingEndpoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::init
      Src: /src/geos/src/simplify/TaggedLineString.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nParentLine
    - nMinimumSize
    - bIsRing
    argTypes:
    - geom::LineString*
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: geos::simplify::TaggedLineString::TaggedLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::init
    linkageType: ''
    returnType: void
    signature: "void TaggedLineString::TaggedLineString(const geom::LineString* nParentLine,\n
      \   std::size_t nMinimumSize,\n    bool bIsRing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:64,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: TaggedLineString::~TaggedLineString()
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::~TaggedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:77,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:78,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:81,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/simplify/TaggedLineString.cpp:85,1
    - Dst: reserve
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:89,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:92,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineString.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:95,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:101,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 106
    functionName: geos::simplify::TaggedLineString::init
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 2
    functionsReached:
    - reserve
    - CoordinateSequence*::getAt
    - TaggedLineSegment::TaggedLineSegment
    - push_back
    - geos::simplify::TaggedLineString::size
    - CoordinateSequence*::isEmpty
    - assert
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::simplify::TaggedLineString::getMinimumSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getMinimumSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::simplify::TaggedLineString::isRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineString::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::simplify::TaggedLineString::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::LineString
    signature: 'geom::LineString *

      TaggedLineString::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:133,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: geos::simplify::TaggedLineString::getParentCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinatesRO
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      TaggedLineString::getParentCoordinates() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:144,1
    - Dst: geos::simplify::TaggedLineString::extractCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: geos::simplify::TaggedLineString::getResultCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - geos::simplify::TaggedLineString::size
    - geos::simplify::TaggedLineString::extractCoordinates
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr TaggedLineString::getResultCoordinates() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:162,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:165,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:168,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:173,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:174,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' segs'
    argTypes:
    - std::vector<TaggedLineSegment*>
    assertStmts:
    - condition: (seg)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: geos::simplify::TaggedLineString::extractCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - assert
    - geos::simplify::TaggedLineString::size
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> TaggedLineString::extractCoordinates(\n
      \   const std::vector<TaggedLineSegment*>& segs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/simplify/TaggedLineString.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: '&

      TaggedLineString::getCoordinate(std::size_t i) const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getCoordinate(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/simplify/TaggedLineString.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: geos::simplify::TaggedLineString::size
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 7
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:201,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: '&

      TaggedLineString::getComponentPoint() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getParentCoordinates
    - size
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getComponentPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TaggedLineString::getResultSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getResultSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: '&

      TaggedLineString::getSegments()'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: '&

      TaggedLineString::getSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: '&

      TaggedLineString::getResultSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getResultSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:258,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: geos::simplify::TaggedLineString::asLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: geos::simplify::TaggedLineString::asLinearRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLinearRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:276,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::release
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seg
    argTypes:
    - std::unique_ptr<TaggedLineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: geos::simplify::TaggedLineString::addToResult
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<TaggedLineSegment>::get
    - std::unique_ptr<TaggedLineSegment>::release
    - push_back
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::addToResult(std::unique_ptr<TaggedLineSegment>
      seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/geos/src/simplify/TaggedLineString.cpp:290,1
    - Dst: back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:291,1
    - Dst: pop_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: geos::simplify::TaggedLineString::removeRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - back
    - front
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::removeRingEndpoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::init
      Src: /src/geos/src/simplify/TaggedLineString.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nParentLine
    - nMinimumSize
    - bIsRing
    argTypes:
    - geom::LineString*
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: geos::simplify::TaggedLineString::TaggedLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::init
    linkageType: ''
    returnType: void
    signature: "void TaggedLineString::TaggedLineString(const geom::LineString* nParentLine,\n
      \   std::size_t nMinimumSize,\n    bool bIsRing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:64,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: TaggedLineString::~TaggedLineString()
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::~TaggedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:77,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:78,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:81,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/simplify/TaggedLineString.cpp:85,1
    - Dst: reserve
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:89,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:92,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineString.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:95,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:101,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 106
    functionName: geos::simplify::TaggedLineString::init
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 3
    functionsReached:
    - reserve
    - CoordinateSequence*::getAt
    - TaggedLineSegment::TaggedLineSegment
    - push_back
    - geos::simplify::TaggedLineString::size
    - CoordinateSequence*::isEmpty
    - assert
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::simplify::TaggedLineString::getMinimumSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getMinimumSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::simplify::TaggedLineString::isRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineString::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::simplify::TaggedLineString::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::LineString
    signature: 'geom::LineString *

      TaggedLineString::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:133,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: geos::simplify::TaggedLineString::getParentCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinatesRO
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      TaggedLineString::getParentCoordinates() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:144,1
    - Dst: geos::simplify::TaggedLineString::extractCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: geos::simplify::TaggedLineString::getResultCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 4
    functionsReached:
    - auto::size
    - geos::simplify::TaggedLineString::size
    - geos::simplify::TaggedLineString::extractCoordinates
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr TaggedLineString::getResultCoordinates() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:162,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:165,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:168,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:173,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:174,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' segs'
    argTypes:
    - std::vector<TaggedLineSegment*>
    assertStmts:
    - condition: (seg)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: geos::simplify::TaggedLineString::extractCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - assert
    - geos::simplify::TaggedLineString::size
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> TaggedLineString::extractCoordinates(\n
      \   const std::vector<TaggedLineSegment*>& segs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/simplify/TaggedLineString.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: '&

      TaggedLineString::getCoordinate(std::size_t i) const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getCoordinate(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/simplify/TaggedLineString.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: geos::simplify::TaggedLineString::size
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 11
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:201,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: '&

      TaggedLineString::getComponentPoint() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getParentCoordinates
    - size
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getComponentPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TaggedLineString::getResultSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getResultSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: '&

      TaggedLineString::getSegments()'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: '&

      TaggedLineString::getSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: '&

      TaggedLineString::getResultSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getResultSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:258,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: geos::simplify::TaggedLineString::asLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: geos::simplify::TaggedLineString::asLinearRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLinearRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:276,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::release
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seg
    argTypes:
    - std::unique_ptr<TaggedLineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: geos::simplify::TaggedLineString::addToResult
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<TaggedLineSegment>::get
    - std::unique_ptr<TaggedLineSegment>::release
    - push_back
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::addToResult(std::unique_ptr<TaggedLineSegment>
      seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/geos/src/simplify/TaggedLineString.cpp:290,1
    - Dst: back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:291,1
    - Dst: pop_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: geos::simplify::TaggedLineString::removeRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - back
    - front
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::removeRingEndpoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::init
      Src: /src/geos/src/simplify/TaggedLineString.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nParentLine
    - nMinimumSize
    - bIsRing
    argTypes:
    - geom::LineString*
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: geos::simplify::TaggedLineString::TaggedLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::init
    linkageType: ''
    returnType: void
    signature: "void TaggedLineString::TaggedLineString(const geom::LineString* nParentLine,\n
      \   std::size_t nMinimumSize,\n    bool bIsRing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:64,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: TaggedLineString::~TaggedLineString()
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::~TaggedLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:77,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:78,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:81,1
    - Dst: CoordinateSequence*::isEmpty
      Src: /src/geos/src/simplify/TaggedLineString.cpp:85,1
    - Dst: reserve
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:87,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:89,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineString.cpp:92,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineString.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:95,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:101,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 106
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 106
    functionName: geos::simplify::TaggedLineString::init
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 4
    functionsReached:
    - reserve
    - CoordinateSequence*::getAt
    - TaggedLineSegment::TaggedLineSegment
    - push_back
    - geos::simplify::TaggedLineString::size
    - CoordinateSequence*::isEmpty
    - assert
    - getCoordinatesRO
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: geos::simplify::TaggedLineString::getMinimumSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getMinimumSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: geos::simplify::TaggedLineString::isRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineString::isRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: geos::simplify::TaggedLineString::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::LineString
    signature: 'geom::LineString *

      TaggedLineString::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:133,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/TaggedLineString.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (parentLine)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: geos::simplify::TaggedLineString::getParentCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getCoordinatesRO
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      TaggedLineString::getParentCoordinates() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:144,1
    - Dst: geos::simplify::TaggedLineString::extractCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:147,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: geos::simplify::TaggedLineString::getResultCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 6
    functionsReached:
    - auto::size
    - geos::simplify::TaggedLineString::size
    - geos::simplify::TaggedLineString::extractCoordinates
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: CoordinateSequence::Ptr TaggedLineString::getResultCoordinates() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<geom::CoordinateSequence>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:162,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:165,1
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:168,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineString.cpp:173,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:174,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/TaggedLineString.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' segs'
    argTypes:
    - std::vector<TaggedLineSegment*>
    assertStmts:
    - condition: (seg)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/geos/src/simplify/TaggedLineString.cpp
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: geos::simplify::TaggedLineString::extractCoordinates
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - assert
    - geos::simplify::TaggedLineString::size
    - detail::make_unique<geom::CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> TaggedLineString::extractCoordinates(\n
      \   const std::vector<TaggedLineSegment*>& segs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinateN
      Src: /src/geos/src/simplify/TaggedLineString.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: '&

      TaggedLineString::getCoordinate(std::size_t i) const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinateN
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getCoordinate(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumPoints
      Src: /src/geos/src/simplify/TaggedLineString.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: geos::simplify::TaggedLineString::size
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 15
    functionsReached:
    - getNumPoints
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:201,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: '&

      TaggedLineString::getComponentPoint() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getParentCoordinates
    - size
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      TaggedLineString::getComponentPoint() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineString::size
      Src: /src/geos/src/simplify/TaggedLineString.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: geos::simplify::TaggedLineString::getResultSize
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::TaggedLineString::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t TaggedLineString::getResultSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: geos::simplify::TaggedLineString::getSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::getSegment(std::size_t i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: '&

      TaggedLineString::getSegments()'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: '&

      TaggedLineString::getSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: '&

      TaggedLineString::getResultSegments() const'
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<TaggedLineSegment*>
    signature: 'std::vector<TaggedLineSegment*> &

      TaggedLineString::getResultSegments() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:258,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: geos::simplify::TaggedLineString::asLineString
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLineString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/TaggedLineString.cpp:266,1
    - Dst: geos::simplify::TaggedLineString::getResultCoordinates
      Src: /src/geos/src/simplify/TaggedLineString.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: geos::simplify::TaggedLineString::asLinearRing
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::unique_ptr<Geometry>
    - geos::simplify::TaggedLineString::getResultCoordinates
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> TaggedLineString::asLinearRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:276,1
    - Dst: push_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::release
      Src: /src/geos/src/simplify/TaggedLineString.cpp:279,1
    - Dst: std::unique_ptr<TaggedLineSegment>::get
      Src: /src/geos/src/simplify/TaggedLineString.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seg
    argTypes:
    - std::unique_ptr<TaggedLineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: geos::simplify::TaggedLineString::addToResult
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<TaggedLineSegment>::get
    - std::unique_ptr<TaggedLineSegment>::release
    - push_back
    linkageType: ''
    returnType: void
    signature: void TaggedLineString::addToResult(std::unique_ptr<TaggedLineSegment>
      seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/geos/src/simplify/TaggedLineString.cpp:290,1
    - Dst: back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:291,1
    - Dst: pop_back
      Src: /src/geos/src/simplify/TaggedLineString.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: geos::simplify::TaggedLineString::removeRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineString.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - back
    - front
    linkageType: ''
    returnType: TaggedLineSegment
    signature: 'TaggedLineSegment *

      TaggedLineString::removeRingEndpoint()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::LineIntersector
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - nInputIndex
    - nOutputIndex
    - crossChecker
    argTypes:
    - LineSegmentIndex*
    - LineSegmentIndex*
    - ComponentJumpChecker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::simplify::TaggedLineStringSimplifier::TaggedLineStringSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::TaggedLineStringSimplifier(\n    LineSegmentIndex*
      nInputIndex,\n    LineSegmentIndex* nOutputIndex,\n    const ComponentJumpChecker*
      crossChecker)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:69,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:73,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:82,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - nLine
    - distanceTolerance
    argTypes:
    - TaggedLineString*
    - double
    assertStmts:
    - condition: (nLine)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (linePts)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: geos::simplify::TaggedLineStringSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getParentCoordinates
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    - assert
    - isRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplify(TaggedLineString* nLine,
      double distanceTolerance)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:112,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:111,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:131,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:139,1
    - Dst: std::make_unique<TaggedLineSegment>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:167,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::flatten
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:172,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:185,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - i
    - j
    - depth
    - distanceTolerance
    argTypes:
    - std::size_t
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 187
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - TaggedLineSegment::TaggedLineSegment
    - getSegment
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::flatten
    - getAt
    - std::move
    - std::make_unique<TaggedLineSegment>
    - addToResult
    - getMinimumSize
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::simplifySection(std::size_t i,\n
      \       std::size_t j, std::size_t depth, double distanceTolerance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:199,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:200,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:203,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:204,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:205,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:206,1
    - Dst: removeRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:208,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - distanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 1
    functionsReached:
    - removeRingEndpoint
    - getResultSegments
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - getMinimumSize
    - add
    - LineSegment::distance
    - geos::simplify::TaggedLineStringSimplifier::remove
    - static_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplifyRingEndpoint(double distanceTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:220,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:221,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:222,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: geos::simplify::TaggedLineStringSimplifier::flatten
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - TaggedLineSegment::TaggedLineSegment
    - add
    - getAt
    - geos::simplify::TaggedLineStringSimplifier::remove
    linkageType: ''
    returnType: std::unique_ptr<TaggedLineSegment>
    signature: std::unique_ptr<TaggedLineSegment> TaggedLineStringSimplifier::flatten(std::size_t
      start, std::size_t end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:236,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:238,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - lineIn
    - sectionStart
    - sectionEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    std::size_t sectionStart, std::size_t sectionEnd,\n    const LineSegment&
      flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::isCollinear
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:254,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:256,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:258,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - lineIn
    - seg1
    - seg2
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - geos::simplify::TaggedLineStringSimplifier::isCollinear
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      flatSeg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orientationIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: geos::simplify::TaggedLineStringSimplifier::isCollinear
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 1
    functionsReached:
    - orientationIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isCollinear(\n    const Coordinate&
      pt,\n    const LineSegment& seg) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:280,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasOutputIntersection(\n    const
      LineSegment& flatSeg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equalsTopo
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:297,1
    - Dst: computeIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:299,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' seg0'
    - ' seg1'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 1
    functionsReached:
    - isInteriorIntersection
    - equalsTopo
    - computeIntersection
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInvalidIntersection(\n    const
      LineSegment& seg0,\n    const LineSegment& seg1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineStringSimplifier::hasInputIntersection(const LineSegment&
      flatSeg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:317,1
    - Dst: static_cast<const TaggedLineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:320,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:322,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isInLineSection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - parentLine
    - excludeStart
    - excludeEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 336
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    - geos::simplify::TaggedLineStringSimplifier::isInLineSection
    - static_cast<const TaggedLineSegment*>
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInputIntersection(\n    const
      TaggedLineString* parentLine,\n    const std::size_t excludeStart, const std::size_t
      excludeEnd,\n    const LineSegment& flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLineSegment*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineSegment*::getIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - lineIn
    - excludeStart
    - excludeEnd
    - seg
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - TaggedLineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: geos::simplify::TaggedLineStringSimplifier::isInLineSection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 1
    functionsReached:
    - TaggedLineSegment*::getParent
    - TaggedLineString*::getParent
    - TaggedLineSegment*::getIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isInLineSection(\n    const TaggedLineString*
      lineIn,\n    const std::size_t excludeStart, const std::size_t excludeEnd,\n
      \   const TaggedLineSegment* seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: TaggedLineString*::getSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:371,1
    - Dst: TaggedLineString*::getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:374,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts:
    - condition: (end <= p_line->getSegments().size())
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (start < end)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::simplify::TaggedLineStringSimplifier::remove
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - assert
    - TaggedLineString*::getSegment
    - geos::simplify::TaggedLineStringSimplifier::remove
    - TaggedLineString*::getSegments
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::remove(const TaggedLineString* p_line,\n
      \                                  std::size_t start,\n                                   std::size_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:394,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pts
    - i
    - j
    - ' maxDistance'
    argTypes:
    - geom::CoordinateSequence*
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 1
    functionsReached:
    - LineSegment::distance
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t TaggedLineStringSimplifier::findFurthestPoint(\n    const
      geom::CoordinateSequence* pts,\n    std::size_t i, std::size_t j,\n    double&
      maxDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::LineIntersector
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - nInputIndex
    - nOutputIndex
    - crossChecker
    argTypes:
    - LineSegmentIndex*
    - LineSegmentIndex*
    - ComponentJumpChecker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::simplify::TaggedLineStringSimplifier::TaggedLineStringSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::TaggedLineStringSimplifier(\n    LineSegmentIndex*
      nInputIndex,\n    LineSegmentIndex* nOutputIndex,\n    const ComponentJumpChecker*
      crossChecker)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:69,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:73,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:82,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - nLine
    - distanceTolerance
    argTypes:
    - TaggedLineString*
    - double
    assertStmts:
    - condition: (nLine)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (linePts)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: geos::simplify::TaggedLineStringSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getParentCoordinates
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    - assert
    - isRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplify(TaggedLineString* nLine,
      double distanceTolerance)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:112,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:111,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:131,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:139,1
    - Dst: std::make_unique<TaggedLineSegment>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:167,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::flatten
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:172,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:185,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - i
    - j
    - depth
    - distanceTolerance
    argTypes:
    - std::size_t
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 187
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - TaggedLineSegment::TaggedLineSegment
    - getSegment
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::flatten
    - getAt
    - std::move
    - std::make_unique<TaggedLineSegment>
    - addToResult
    - getMinimumSize
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::simplifySection(std::size_t i,\n
      \       std::size_t j, std::size_t depth, double distanceTolerance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:199,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:200,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:203,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:204,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:205,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:206,1
    - Dst: removeRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:208,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - distanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - removeRingEndpoint
    - getResultSegments
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - getMinimumSize
    - add
    - LineSegment::distance
    - geos::simplify::TaggedLineStringSimplifier::remove
    - static_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplifyRingEndpoint(double distanceTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:220,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:221,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:222,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: geos::simplify::TaggedLineStringSimplifier::flatten
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::get
    - TaggedLineSegment::TaggedLineSegment
    - add
    - getAt
    - geos::simplify::TaggedLineStringSimplifier::remove
    linkageType: ''
    returnType: std::unique_ptr<TaggedLineSegment>
    signature: std::unique_ptr<TaggedLineSegment> TaggedLineStringSimplifier::flatten(std::size_t
      start, std::size_t end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:236,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:238,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - lineIn
    - sectionStart
    - sectionEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    std::size_t sectionStart, std::size_t sectionEnd,\n    const LineSegment&
      flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::isCollinear
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:254,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:256,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:258,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - lineIn
    - seg1
    - seg2
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - geos::simplify::TaggedLineStringSimplifier::isCollinear
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      flatSeg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orientationIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: geos::simplify::TaggedLineStringSimplifier::isCollinear
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - orientationIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isCollinear(\n    const Coordinate&
      pt,\n    const LineSegment& seg) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:280,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasOutputIntersection(\n    const
      LineSegment& flatSeg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equalsTopo
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:297,1
    - Dst: computeIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:299,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' seg0'
    - ' seg1'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - isInteriorIntersection
    - equalsTopo
    - computeIntersection
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInvalidIntersection(\n    const
      LineSegment& seg0,\n    const LineSegment& seg1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineStringSimplifier::hasInputIntersection(const LineSegment&
      flatSeg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:317,1
    - Dst: static_cast<const TaggedLineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:320,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:322,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isInLineSection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - parentLine
    - excludeStart
    - excludeEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 336
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    - geos::simplify::TaggedLineStringSimplifier::isInLineSection
    - static_cast<const TaggedLineSegment*>
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInputIntersection(\n    const
      TaggedLineString* parentLine,\n    const std::size_t excludeStart, const std::size_t
      excludeEnd,\n    const LineSegment& flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLineSegment*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineSegment*::getIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - lineIn
    - excludeStart
    - excludeEnd
    - seg
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - TaggedLineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: geos::simplify::TaggedLineStringSimplifier::isInLineSection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - TaggedLineSegment*::getParent
    - TaggedLineString*::getParent
    - TaggedLineSegment*::getIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isInLineSection(\n    const TaggedLineString*
      lineIn,\n    const std::size_t excludeStart, const std::size_t excludeEnd,\n
      \   const TaggedLineSegment* seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: TaggedLineString*::getSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:371,1
    - Dst: TaggedLineString*::getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:374,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts:
    - condition: (end <= p_line->getSegments().size())
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (start < end)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::simplify::TaggedLineStringSimplifier::remove
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 6
    functionsReached:
    - assert
    - TaggedLineString*::getSegment
    - geos::simplify::TaggedLineStringSimplifier::remove
    - TaggedLineString*::getSegments
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::remove(const TaggedLineString* p_line,\n
      \                                  std::size_t start,\n                                   std::size_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:394,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pts
    - i
    - j
    - ' maxDistance'
    argTypes:
    - geom::CoordinateSequence*
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 2
    functionsReached:
    - LineSegment::distance
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t TaggedLineStringSimplifier::findFurthestPoint(\n    const
      geom::CoordinateSequence* pts,\n    std::size_t i, std::size_t j,\n    double&
      maxDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::LineIntersector
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - nInputIndex
    - nOutputIndex
    - crossChecker
    argTypes:
    - LineSegmentIndex*
    - LineSegmentIndex*
    - ComponentJumpChecker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::simplify::TaggedLineStringSimplifier::TaggedLineStringSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::TaggedLineStringSimplifier(\n    LineSegmentIndex*
      nInputIndex,\n    LineSegmentIndex* nOutputIndex,\n    const ComponentJumpChecker*
      crossChecker)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:69,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:73,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:82,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - nLine
    - distanceTolerance
    argTypes:
    - TaggedLineString*
    - double
    assertStmts:
    - condition: (nLine)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (linePts)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: geos::simplify::TaggedLineStringSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getParentCoordinates
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    - assert
    - isRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplify(TaggedLineString* nLine,
      double distanceTolerance)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:112,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:111,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:131,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:139,1
    - Dst: std::make_unique<TaggedLineSegment>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:167,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::flatten
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:172,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:185,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - i
    - j
    - depth
    - distanceTolerance
    argTypes:
    - std::size_t
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 187
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 6
    functionsReached:
    - TaggedLineSegment::TaggedLineSegment
    - getSegment
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::flatten
    - getAt
    - std::move
    - std::make_unique<TaggedLineSegment>
    - addToResult
    - getMinimumSize
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::simplifySection(std::size_t i,\n
      \       std::size_t j, std::size_t depth, double distanceTolerance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:199,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:200,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:203,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:204,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:205,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:206,1
    - Dst: removeRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:208,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - distanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - removeRingEndpoint
    - getResultSegments
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - getMinimumSize
    - add
    - LineSegment::distance
    - geos::simplify::TaggedLineStringSimplifier::remove
    - static_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplifyRingEndpoint(double distanceTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:220,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:221,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:222,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: geos::simplify::TaggedLineStringSimplifier::flatten
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr::get
    - TaggedLineSegment::TaggedLineSegment
    - add
    - getAt
    - geos::simplify::TaggedLineStringSimplifier::remove
    linkageType: ''
    returnType: std::unique_ptr<TaggedLineSegment>
    signature: std::unique_ptr<TaggedLineSegment> TaggedLineStringSimplifier::flatten(std::size_t
      start, std::size_t end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:236,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:238,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - lineIn
    - sectionStart
    - sectionEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    std::size_t sectionStart, std::size_t sectionEnd,\n    const LineSegment&
      flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::isCollinear
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:254,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:256,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:258,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - lineIn
    - seg1
    - seg2
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - geos::simplify::TaggedLineStringSimplifier::isCollinear
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      flatSeg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orientationIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: geos::simplify::TaggedLineStringSimplifier::isCollinear
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - orientationIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isCollinear(\n    const Coordinate&
      pt,\n    const LineSegment& seg) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:280,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasOutputIntersection(\n    const
      LineSegment& flatSeg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equalsTopo
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:297,1
    - Dst: computeIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:299,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' seg0'
    - ' seg1'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 5
    functionsReached:
    - isInteriorIntersection
    - equalsTopo
    - computeIntersection
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInvalidIntersection(\n    const
      LineSegment& seg0,\n    const LineSegment& seg1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 9
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineStringSimplifier::hasInputIntersection(const LineSegment&
      flatSeg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:317,1
    - Dst: static_cast<const TaggedLineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:320,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:322,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isInLineSection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - parentLine
    - excludeStart
    - excludeEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 336
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 9
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    - geos::simplify::TaggedLineStringSimplifier::isInLineSection
    - static_cast<const TaggedLineSegment*>
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInputIntersection(\n    const
      TaggedLineString* parentLine,\n    const std::size_t excludeStart, const std::size_t
      excludeEnd,\n    const LineSegment& flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLineSegment*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineSegment*::getIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - lineIn
    - excludeStart
    - excludeEnd
    - seg
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - TaggedLineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: geos::simplify::TaggedLineStringSimplifier::isInLineSection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - TaggedLineSegment*::getParent
    - TaggedLineString*::getParent
    - TaggedLineSegment*::getIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isInLineSection(\n    const TaggedLineString*
      lineIn,\n    const std::size_t excludeStart, const std::size_t excludeEnd,\n
      \   const TaggedLineSegment* seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: TaggedLineString*::getSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:371,1
    - Dst: TaggedLineString*::getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:374,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts:
    - condition: (end <= p_line->getSegments().size())
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (start < end)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::simplify::TaggedLineStringSimplifier::remove
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 9
    functionsReached:
    - assert
    - TaggedLineString*::getSegment
    - geos::simplify::TaggedLineStringSimplifier::remove
    - TaggedLineString*::getSegments
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::remove(const TaggedLineString* p_line,\n
      \                                  std::size_t start,\n                                   std::size_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:394,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pts
    - i
    - j
    - ' maxDistance'
    argTypes:
    - geom::CoordinateSequence*
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 3
    functionsReached:
    - LineSegment::distance
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t TaggedLineStringSimplifier::findFurthestPoint(\n    const
      geom::CoordinateSequence* pts,\n    std::size_t i, std::size_t j,\n    double&
      maxDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineIntersector::LineIntersector
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - nInputIndex
    - nOutputIndex
    - crossChecker
    argTypes:
    - LineSegmentIndex*
    - LineSegmentIndex*
    - ComponentJumpChecker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: geos::simplify::TaggedLineStringSimplifier::TaggedLineStringSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::TaggedLineStringSimplifier(\n    LineSegmentIndex*
      nInputIndex,\n    LineSegmentIndex* nOutputIndex,\n    const ComponentJumpChecker*
      crossChecker)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:69,1
    - Dst: getParentCoordinates
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:73,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:82,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:85,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: isRing
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:87,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - nLine
    - distanceTolerance
    argTypes:
    - TaggedLineString*
    - double
    assertStmts:
    - condition: (nLine)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (linePts)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: geos::simplify::TaggedLineStringSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 0
    functionsReached:
    - size
    - getParentCoordinates
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    - assert
    - isRing
    - isEmpty
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplify(TaggedLineString* nLine,
      double distanceTolerance)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:112,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:111,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:114,1
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:129,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:131,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:139,1
    - Dst: std::make_unique<TaggedLineSegment>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:152,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:153,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:166,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:167,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::flatten
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:172,1
    - Dst: addToResult
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: std::move
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:181,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:185,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::simplifySection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - i
    - j
    - depth
    - distanceTolerance
    argTypes:
    - std::size_t
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 187
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 8
    functionsReached:
    - TaggedLineSegment::TaggedLineSegment
    - getSegment
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - geos::simplify::TaggedLineStringSimplifier::simplifySection
    - geos::simplify::TaggedLineStringSimplifier::flatten
    - getAt
    - std::move
    - std::make_unique<TaggedLineSegment>
    - addToResult
    - getMinimumSize
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::simplifySection(std::size_t i,\n
      \       std::size_t j, std::size_t depth, double distanceTolerance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getResultSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: getMinimumSize
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:193,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:194,1
    - Dst: static_cast<LineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: getResultSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:195,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:199,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:200,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:203,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:204,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:205,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:206,1
    - Dst: removeRingEndpoint
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:208,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - distanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: geos::simplify::TaggedLineStringSimplifier::simplifyRingEndpoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - removeRingEndpoint
    - getResultSegments
    - getResultSize
    - geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    - getMinimumSize
    - add
    - LineSegment::distance
    - geos::simplify::TaggedLineStringSimplifier::remove
    - static_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void TaggedLineStringSimplifier::simplifyRingEndpoint(double distanceTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:220,1
    - Dst: getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:221,1
    - Dst: TaggedLineSegment::TaggedLineSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:222,1
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:224,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: geos::simplify::TaggedLineStringSimplifier::flatten
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr::get
    - TaggedLineSegment::TaggedLineSegment
    - add
    - getAt
    - geos::simplify::TaggedLineStringSimplifier::remove
    linkageType: ''
    returnType: std::unique_ptr<TaggedLineSegment>
    signature: std::unique_ptr<TaggedLineSegment> TaggedLineStringSimplifier::flatten(std::size_t
      start, std::size_t end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:236,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:238,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - lineIn
    - sectionStart
    - sectionEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 8
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    std::size_t sectionStart, std::size_t sectionEnd,\n    const LineSegment&
      flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::isCollinear
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:254,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:256,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:258,1
    - Dst: hasJump
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - lineIn
    - seg1
    - seg2
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - LineSegment*
    - LineSegment*
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: geos::simplify::TaggedLineStringSimplifier::isTopologyValid
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 8
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    - geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    - geos::simplify::TaggedLineStringSimplifier::isCollinear
    - hasJump
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isTopologyValid(\n    const TaggedLineString*
      lineIn,\n    const LineSegment* seg1, const LineSegment* seg2,\n    const LineSegment&
      flatSeg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orientationIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' seg'
    argTypes:
    - Coordinate
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: geos::simplify::TaggedLineStringSimplifier::isCollinear
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - orientationIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isCollinear(\n    const Coordinate&
      pt,\n    const LineSegment& seg) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:280,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: geos::simplify::TaggedLineStringSimplifier::hasOutputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 8
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasOutputIntersection(\n    const
      LineSegment& flatSeg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equalsTopo
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:297,1
    - Dst: computeIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:299,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' seg0'
    - ' seg1'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 7
    functionsReached:
    - isInteriorIntersection
    - equalsTopo
    - computeIntersection
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInvalidIntersection(\n    const
      LineSegment& seg0,\n    const LineSegment& seg1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flatSeg'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 12
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    linkageType: ''
    returnType: bool
    signature: bool TaggedLineStringSimplifier::hasInputIntersection(const LineSegment&
      flatSeg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:317,1
    - Dst: static_cast<const TaggedLineSegment*>
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:320,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:322,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::isInLineSection
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - parentLine
    - excludeStart
    - excludeEnd
    - ' flatSeg'
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 336
    functionName: geos::simplify::TaggedLineStringSimplifier::hasInputIntersection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 12
    functionsReached:
    - geos::simplify::TaggedLineStringSimplifier::hasInvalidIntersection
    - query
    - geos::simplify::TaggedLineStringSimplifier::isInLineSection
    - static_cast<const TaggedLineSegment*>
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::hasInputIntersection(\n    const
      TaggedLineString* parentLine,\n    const std::size_t excludeStart, const std::size_t
      excludeEnd,\n    const LineSegment& flatSeg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TaggedLineSegment*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineString*::getParent
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:346,1
    - Dst: TaggedLineSegment*::getIndex
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - lineIn
    - excludeStart
    - excludeEnd
    - seg
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    - TaggedLineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: geos::simplify::TaggedLineStringSimplifier::isInLineSection
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - TaggedLineSegment*::getParent
    - TaggedLineString*::getParent
    - TaggedLineSegment*::getIndex
    linkageType: ''
    returnType: bool
    signature: "bool TaggedLineStringSimplifier::isInLineSection(\n    const TaggedLineString*
      lineIn,\n    const std::size_t excludeStart, const std::size_t excludeEnd,\n
      \   const TaggedLineSegment* seg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: TaggedLineString*::getSegments
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:370,1
    - Dst: assert
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:371,1
    - Dst: TaggedLineString*::getSegment
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:374,1
    - Dst: geos::simplify::TaggedLineStringSimplifier::remove
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_line
    - start
    - end
    argTypes:
    - TaggedLineString*
    - std::size_t
    - std::size_t
    assertStmts:
    - condition: (end <= p_line->getSegments().size())
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    - condition: (start < end)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: geos::simplify::TaggedLineStringSimplifier::remove
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 12
    functionsReached:
    - assert
    - TaggedLineString*::getSegment
    - geos::simplify::TaggedLineStringSimplifier::remove
    - TaggedLineString*::getSegments
    linkageType: ''
    returnType: void
    signature: "void TaggedLineStringSimplifier::remove(const TaggedLineString* p_line,\n
      \                                  std::size_t start,\n                                   std::size_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:386,1
    - Dst: geom::CoordinateSequence*::getAt
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:394,1
    - Dst: LineSegment::distance
      Src: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pts
    - i
    - j
    - ' maxDistance'
    argTypes:
    - geom::CoordinateSequence*
    - std::size_t
    - std::size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: geos::simplify::TaggedLineStringSimplifier::findFurthestPoint
    functionSourceFile: /src/geos/src/simplify/TaggedLineStringSimplifier.cpp
    functionUses: 4
    functionsReached:
    - LineSegment::distance
    - geom::CoordinateSequence*::getAt
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t TaggedLineStringSimplifier::findFurthestPoint(\n    const
      geom::CoordinateSequence* pts,\n    std::size_t i, std::size_t j,\n    double&
      maxDistance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:55,1
    - Dst: geos::simplify::RingHull::init
      Src: /src/geos/src/simplify/RingHull.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_ring
    - p_isOuter
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::simplify::RingHull::RingHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::init
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void RingHull::RingHull(const LinearRing* p_ring, bool p_isOuter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minVertexNum
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::RingHull::setMinVertexNum
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void RingHull::setMinVertexNum(std::size_t minVertexNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxAreaDelta
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::RingHull::setMaxAreaDelta
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RingHull::setMaxAreaDelta(double maxAreaDelta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/simplify/RingHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::simplify::RingHull::getEnvelope
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      RingHull::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::compute
      Src: /src/geos/src/simplify/RingHull.cpp:85,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: geos::simplify::RingHull::getHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getCoordinates
    - geos::simplify::RingHull::compute
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> RingHull::getHull(RingHullIndex& hullIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: reverse
      Src: /src/geos/src/simplify/RingHull.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: LinkedRing::LinkedRing
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: VertexSequencePackedRtree::VertexSequencePackedRtree
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:113,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ring'
    - isOuter
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: geos::simplify::RingHull::init
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - VertexSequencePackedRtree::VertexSequencePackedRtree
    - size
    - geos::algorithm::Orientation::isCCW
    - LinkedRing::LinkedRing
    - reverse
    - remove
    - reset
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void RingHull::init(CoordinateSequence& ring, bool isOuter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::isConvex
      Src: /src/geos/src/simplify/RingHull.cpp:124,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:128,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:129,1
    - Dst: geos::simplify::RingHull::area
      Src: /src/geos/src/simplify/RingHull.cpp:130,1
    - Dst: push
      Src: /src/geos/src/simplify/RingHull.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - ' queue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::simplify::RingHull::addCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::RingHull::area
    - prev
    - geos::simplify::RingHull::isConvex
    - next
    - push
    linkageType: ''
    returnType: void
    signature: void RingHull::addCorner(std::size_t i, Corner::PriorityQueue& queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:139,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:140,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/simplify/RingHull.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::simplify::RingHull::isConvex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - nextCoordinate
    - geos::algorithm::Orientation::index
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isConvex(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:148,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:149,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:150,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/simplify/RingHull.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::simplify::RingHull::area
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double RingHull::area(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/simplify/RingHull.cpp:158,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:159,1
    - Dst: top
      Src: /src/geos/src/simplify/RingHull.cpp:161,1
    - Dst: pop
      Src: /src/geos/src/simplify/RingHull.cpp:162,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/simplify/RingHull.cpp:164,1
    - Dst: geos::simplify::RingHull::isAtTarget
      Src: /src/geos/src/simplify/RingHull.cpp:166,1
    - Dst: geos::simplify::RingHull::isRemovable
      Src: /src/geos/src/simplify/RingHull.cpp:173,1
    - Dst: geos::simplify::RingHull::removeCorner
      Src: /src/geos/src/simplify/RingHull.cpp:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: geos::simplify::RingHull::compute
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - size
    - top
    - Corner::isRemoved
    - geos::simplify::RingHull::isAtTarget
    - geos::simplify::RingHull::removeCorner
    - geos::simplify::RingHull::isRemovable
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void RingHull::compute(RingHullIndex& hullIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: geos::simplify::RingHull::isAtTarget
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - getArea
    - size
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isAtTarget(const Corner& corner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/simplify/RingHull.cpp:209,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:210,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:211,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:212,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:213,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:214,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:217,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' corner'
    - ' queue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: geos::simplify::RingHull::removeCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - prev
    - getArea
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: void RingHull::removeCorner(const Corner& corner, Corner::PriorityQueue&
      queue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/simplify/RingHull.cpp:226,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:227,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:230,1
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:233,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' corner'
    - ' hullIndex'
    argTypes:
    - Corner
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: geos::simplify::RingHull::isRemovable
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::RingHull::query
    - size
    - envelope
    - geos::simplify::RingHull::hasIntersectingVertex
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isRemovable(const Corner& corner, const RingHullIndex&
      hullIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RingHull*::query
      Src: /src/geos/src/simplify/RingHull.cpp:261,1
    - Dst: isVertex
      Src: /src/geos/src/simplify/RingHull.cpp:265,1
    - Dst: RingHull*::getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:268,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHull.cpp:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - hull
    argTypes:
    - Corner
    - Envelope
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 274
    functionName: geos::simplify::RingHull::hasIntersectingVertex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 1
    functionsReached:
    - RingHull*::getCoordinate
    - intersects
    - isVertex
    - RingHull*::query
    linkageType: ''
    returnType: bool
    signature: "bool RingHull::hasIntersectingVertex(\n    const Corner& corner,\n
      \   const Envelope& cornerEnv,\n    const RingHull* hull) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '&

      RingHull::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      RingHull::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cornerEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: geos::simplify::RingHull::query
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::RingHull::query
    linkageType: ''
    returnType: void
    signature: "void RingHull::query(\n    const Envelope& cornerEnv,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:298,1
    - Dst: hasCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:302,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:304,1
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHull.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' pts'
    argTypes:
    - Envelope
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: geos::simplify::RingHull::queryHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::query
    - hasCoordinate
    - getCoordinate
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHull::queryHull(const Envelope& queryEnv, std::vector<Coordinate>&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:313,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:314,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: geos::simplify::RingHull::toGeometry
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> RingHull::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: RingHull::Corner::isVertex(std::size_t p_index) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isVertex(std::size_t p_index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: RingHull::Corner::getIndex() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHull::Corner::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: RingHull::Corner::getArea() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double RingHull::Corner::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:352,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:353,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:354,1
    - Dst: init
      Src: /src/geos/src/simplify/RingHull.cpp:355,1
    - Dst: expandToInclude
      Src: /src/geos/src/simplify/RingHull.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ring'
    - ' env'
    argTypes:
    - LinkedRing
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getCoordinate
    - init
    linkageType: ''
    returnType: void
    signature: void RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:364,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:365,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:366,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/simplify/RingHull.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' ring'
    argTypes:
    - Coordinate
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:374,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: RingHull::Corner::isRemoved(const LinkedRing& ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isRemoved(const LinkedRing& ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/RingHull.cpp:382,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:386,1
    - Dst: auto::createLineString
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: RingHull::Corner::toLineString(const LinkedRing& ring)
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - detail::make_unique<CoordinateSequence>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> RingHull::Corner::toLineString(const LinkedRing&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:55,1
    - Dst: geos::simplify::RingHull::init
      Src: /src/geos/src/simplify/RingHull.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_ring
    - p_isOuter
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::simplify::RingHull::RingHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::init
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void RingHull::RingHull(const LinearRing* p_ring, bool p_isOuter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minVertexNum
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::RingHull::setMinVertexNum
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void RingHull::setMinVertexNum(std::size_t minVertexNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxAreaDelta
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::RingHull::setMaxAreaDelta
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RingHull::setMaxAreaDelta(double maxAreaDelta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/simplify/RingHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::simplify::RingHull::getEnvelope
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      RingHull::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::compute
      Src: /src/geos/src/simplify/RingHull.cpp:85,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: geos::simplify::RingHull::getHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getCoordinates
    - geos::simplify::RingHull::compute
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> RingHull::getHull(RingHullIndex& hullIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: reverse
      Src: /src/geos/src/simplify/RingHull.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: LinkedRing::LinkedRing
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: VertexSequencePackedRtree::VertexSequencePackedRtree
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:113,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ring'
    - isOuter
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: geos::simplify::RingHull::init
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - VertexSequencePackedRtree::VertexSequencePackedRtree
    - size
    - geos::algorithm::Orientation::isCCW
    - LinkedRing::LinkedRing
    - reverse
    - remove
    - reset
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void RingHull::init(CoordinateSequence& ring, bool isOuter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::isConvex
      Src: /src/geos/src/simplify/RingHull.cpp:124,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:128,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:129,1
    - Dst: geos::simplify::RingHull::area
      Src: /src/geos/src/simplify/RingHull.cpp:130,1
    - Dst: push
      Src: /src/geos/src/simplify/RingHull.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - ' queue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::simplify::RingHull::addCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::RingHull::area
    - prev
    - geos::simplify::RingHull::isConvex
    - next
    - push
    linkageType: ''
    returnType: void
    signature: void RingHull::addCorner(std::size_t i, Corner::PriorityQueue& queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:139,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:140,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/simplify/RingHull.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::simplify::RingHull::isConvex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - nextCoordinate
    - geos::algorithm::Orientation::index
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isConvex(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:148,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:149,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:150,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/simplify/RingHull.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::simplify::RingHull::area
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double RingHull::area(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/simplify/RingHull.cpp:158,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:159,1
    - Dst: top
      Src: /src/geos/src/simplify/RingHull.cpp:161,1
    - Dst: pop
      Src: /src/geos/src/simplify/RingHull.cpp:162,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/simplify/RingHull.cpp:164,1
    - Dst: geos::simplify::RingHull::isAtTarget
      Src: /src/geos/src/simplify/RingHull.cpp:166,1
    - Dst: geos::simplify::RingHull::isRemovable
      Src: /src/geos/src/simplify/RingHull.cpp:173,1
    - Dst: geos::simplify::RingHull::removeCorner
      Src: /src/geos/src/simplify/RingHull.cpp:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: geos::simplify::RingHull::compute
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - size
    - top
    - Corner::isRemoved
    - geos::simplify::RingHull::isAtTarget
    - geos::simplify::RingHull::removeCorner
    - geos::simplify::RingHull::isRemovable
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void RingHull::compute(RingHullIndex& hullIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: geos::simplify::RingHull::isAtTarget
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - getArea
    - size
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isAtTarget(const Corner& corner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/simplify/RingHull.cpp:209,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:210,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:211,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:212,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:213,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:214,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:217,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' corner'
    - ' queue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: geos::simplify::RingHull::removeCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - prev
    - getArea
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: void RingHull::removeCorner(const Corner& corner, Corner::PriorityQueue&
      queue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/simplify/RingHull.cpp:226,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:227,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:230,1
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:233,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' corner'
    - ' hullIndex'
    argTypes:
    - Corner
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: geos::simplify::RingHull::isRemovable
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::RingHull::query
    - size
    - envelope
    - geos::simplify::RingHull::hasIntersectingVertex
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isRemovable(const Corner& corner, const RingHullIndex&
      hullIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RingHull*::query
      Src: /src/geos/src/simplify/RingHull.cpp:261,1
    - Dst: isVertex
      Src: /src/geos/src/simplify/RingHull.cpp:265,1
    - Dst: RingHull*::getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:268,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHull.cpp:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - hull
    argTypes:
    - Corner
    - Envelope
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 274
    functionName: geos::simplify::RingHull::hasIntersectingVertex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 2
    functionsReached:
    - RingHull*::getCoordinate
    - intersects
    - isVertex
    - RingHull*::query
    linkageType: ''
    returnType: bool
    signature: "bool RingHull::hasIntersectingVertex(\n    const Corner& corner,\n
      \   const Envelope& cornerEnv,\n    const RingHull* hull) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '&

      RingHull::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      RingHull::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cornerEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: geos::simplify::RingHull::query
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 5
    functionsReached:
    - geos::simplify::RingHull::query
    linkageType: ''
    returnType: void
    signature: "void RingHull::query(\n    const Envelope& cornerEnv,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:298,1
    - Dst: hasCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:302,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:304,1
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHull.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' pts'
    argTypes:
    - Envelope
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: geos::simplify::RingHull::queryHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::query
    - hasCoordinate
    - getCoordinate
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHull::queryHull(const Envelope& queryEnv, std::vector<Coordinate>&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:313,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:314,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: geos::simplify::RingHull::toGeometry
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> RingHull::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: RingHull::Corner::isVertex(std::size_t p_index) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isVertex(std::size_t p_index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: RingHull::Corner::getIndex() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHull::Corner::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: RingHull::Corner::getArea() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double RingHull::Corner::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:352,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:353,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:354,1
    - Dst: init
      Src: /src/geos/src/simplify/RingHull.cpp:355,1
    - Dst: expandToInclude
      Src: /src/geos/src/simplify/RingHull.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ring'
    - ' env'
    argTypes:
    - LinkedRing
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getCoordinate
    - init
    linkageType: ''
    returnType: void
    signature: void RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:364,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:365,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:366,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/simplify/RingHull.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' ring'
    argTypes:
    - Coordinate
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:374,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: RingHull::Corner::isRemoved(const LinkedRing& ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isRemoved(const LinkedRing& ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/RingHull.cpp:382,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:386,1
    - Dst: auto::createLineString
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: RingHull::Corner::toLineString(const LinkedRing& ring)
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - detail::make_unique<CoordinateSequence>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> RingHull::Corner::toLineString(const LinkedRing&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:55,1
    - Dst: geos::simplify::RingHull::init
      Src: /src/geos/src/simplify/RingHull.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_ring
    - p_isOuter
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::simplify::RingHull::RingHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::init
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void RingHull::RingHull(const LinearRing* p_ring, bool p_isOuter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minVertexNum
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::RingHull::setMinVertexNum
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void RingHull::setMinVertexNum(std::size_t minVertexNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxAreaDelta
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::RingHull::setMaxAreaDelta
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RingHull::setMaxAreaDelta(double maxAreaDelta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/simplify/RingHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::simplify::RingHull::getEnvelope
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      RingHull::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::compute
      Src: /src/geos/src/simplify/RingHull.cpp:85,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: geos::simplify::RingHull::getHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getCoordinates
    - geos::simplify::RingHull::compute
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> RingHull::getHull(RingHullIndex& hullIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: reverse
      Src: /src/geos/src/simplify/RingHull.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: LinkedRing::LinkedRing
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: VertexSequencePackedRtree::VertexSequencePackedRtree
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:113,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ring'
    - isOuter
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: geos::simplify::RingHull::init
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - VertexSequencePackedRtree::VertexSequencePackedRtree
    - size
    - geos::algorithm::Orientation::isCCW
    - LinkedRing::LinkedRing
    - reverse
    - remove
    - reset
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void RingHull::init(CoordinateSequence& ring, bool isOuter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::isConvex
      Src: /src/geos/src/simplify/RingHull.cpp:124,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:128,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:129,1
    - Dst: geos::simplify::RingHull::area
      Src: /src/geos/src/simplify/RingHull.cpp:130,1
    - Dst: push
      Src: /src/geos/src/simplify/RingHull.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - ' queue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::simplify::RingHull::addCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 5
    functionsReached:
    - geos::simplify::RingHull::area
    - prev
    - geos::simplify::RingHull::isConvex
    - next
    - push
    linkageType: ''
    returnType: void
    signature: void RingHull::addCorner(std::size_t i, Corner::PriorityQueue& queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:139,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:140,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/simplify/RingHull.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::simplify::RingHull::isConvex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - nextCoordinate
    - geos::algorithm::Orientation::index
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isConvex(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:148,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:149,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:150,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/simplify/RingHull.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::simplify::RingHull::area
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double RingHull::area(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/simplify/RingHull.cpp:158,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:159,1
    - Dst: top
      Src: /src/geos/src/simplify/RingHull.cpp:161,1
    - Dst: pop
      Src: /src/geos/src/simplify/RingHull.cpp:162,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/simplify/RingHull.cpp:164,1
    - Dst: geos::simplify::RingHull::isAtTarget
      Src: /src/geos/src/simplify/RingHull.cpp:166,1
    - Dst: geos::simplify::RingHull::isRemovable
      Src: /src/geos/src/simplify/RingHull.cpp:173,1
    - Dst: geos::simplify::RingHull::removeCorner
      Src: /src/geos/src/simplify/RingHull.cpp:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: geos::simplify::RingHull::compute
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - size
    - top
    - Corner::isRemoved
    - geos::simplify::RingHull::isAtTarget
    - geos::simplify::RingHull::removeCorner
    - geos::simplify::RingHull::isRemovable
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void RingHull::compute(RingHullIndex& hullIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: geos::simplify::RingHull::isAtTarget
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - getArea
    - size
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isAtTarget(const Corner& corner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/simplify/RingHull.cpp:209,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:210,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:211,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:212,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:213,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:214,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:217,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' corner'
    - ' queue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: geos::simplify::RingHull::removeCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - prev
    - getArea
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: void RingHull::removeCorner(const Corner& corner, Corner::PriorityQueue&
      queue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/simplify/RingHull.cpp:226,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:227,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:230,1
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:233,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' corner'
    - ' hullIndex'
    argTypes:
    - Corner
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: geos::simplify::RingHull::isRemovable
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::RingHull::query
    - size
    - envelope
    - geos::simplify::RingHull::hasIntersectingVertex
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isRemovable(const Corner& corner, const RingHullIndex&
      hullIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RingHull*::query
      Src: /src/geos/src/simplify/RingHull.cpp:261,1
    - Dst: isVertex
      Src: /src/geos/src/simplify/RingHull.cpp:265,1
    - Dst: RingHull*::getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:268,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHull.cpp:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - hull
    argTypes:
    - Corner
    - Envelope
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 274
    functionName: geos::simplify::RingHull::hasIntersectingVertex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 3
    functionsReached:
    - RingHull*::getCoordinate
    - intersects
    - isVertex
    - RingHull*::query
    linkageType: ''
    returnType: bool
    signature: "bool RingHull::hasIntersectingVertex(\n    const Corner& corner,\n
      \   const Envelope& cornerEnv,\n    const RingHull* hull) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '&

      RingHull::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      RingHull::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cornerEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: geos::simplify::RingHull::query
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 8
    functionsReached:
    - geos::simplify::RingHull::query
    linkageType: ''
    returnType: void
    signature: "void RingHull::query(\n    const Envelope& cornerEnv,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:298,1
    - Dst: hasCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:302,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:304,1
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHull.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' pts'
    argTypes:
    - Envelope
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: geos::simplify::RingHull::queryHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::query
    - hasCoordinate
    - getCoordinate
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHull::queryHull(const Envelope& queryEnv, std::vector<Coordinate>&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:313,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:314,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: geos::simplify::RingHull::toGeometry
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> RingHull::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: RingHull::Corner::isVertex(std::size_t p_index) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isVertex(std::size_t p_index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: RingHull::Corner::getIndex() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHull::Corner::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: RingHull::Corner::getArea() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double RingHull::Corner::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:352,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:353,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:354,1
    - Dst: init
      Src: /src/geos/src/simplify/RingHull.cpp:355,1
    - Dst: expandToInclude
      Src: /src/geos/src/simplify/RingHull.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ring'
    - ' env'
    argTypes:
    - LinkedRing
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getCoordinate
    - init
    linkageType: ''
    returnType: void
    signature: void RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:364,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:365,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:366,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/simplify/RingHull.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' ring'
    argTypes:
    - Coordinate
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:374,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: RingHull::Corner::isRemoved(const LinkedRing& ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isRemoved(const LinkedRing& ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/RingHull.cpp:382,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:386,1
    - Dst: auto::createLineString
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: RingHull::Corner::toLineString(const LinkedRing& ring)
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - detail::make_unique<CoordinateSequence>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> RingHull::Corner::toLineString(const LinkedRing&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:55,1
    - Dst: geos::simplify::RingHull::init
      Src: /src/geos/src/simplify/RingHull.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_ring
    - p_isOuter
    argTypes:
    - LinearRing*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: geos::simplify::RingHull::RingHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::init
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void RingHull::RingHull(const LinearRing* p_ring, bool p_isOuter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minVertexNum
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::RingHull::setMinVertexNum
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void RingHull::setMinVertexNum(std::size_t minVertexNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maxAreaDelta
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::RingHull::setMaxAreaDelta
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RingHull::setMaxAreaDelta(double maxAreaDelta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelopeInternal
      Src: /src/geos/src/simplify/RingHull.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::simplify::RingHull::getEnvelope
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getEnvelopeInternal
    linkageType: ''
    returnType: Envelope
    signature: 'Envelope *

      RingHull::getEnvelope() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::compute
      Src: /src/geos/src/simplify/RingHull.cpp:85,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:86,1
    - Dst: getFactory
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: geos::simplify::RingHull::getHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - getCoordinates
    - geos::simplify::RingHull::compute
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> RingHull::getHull(RingHullIndex& hullIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/simplify/RingHull.cpp:102,1
    - Dst: reverse
      Src: /src/geos/src/simplify/RingHull.cpp:104,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: LinkedRing::LinkedRing
      Src: /src/geos/src/simplify/RingHull.cpp:107,1
    - Dst: reset
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: VertexSequencePackedRtree::VertexSequencePackedRtree
      Src: /src/geos/src/simplify/RingHull.cpp:108,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:111,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:113,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' ring'
    - isOuter
    argTypes:
    - CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: geos::simplify::RingHull::init
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - VertexSequencePackedRtree::VertexSequencePackedRtree
    - size
    - geos::algorithm::Orientation::isCCW
    - LinkedRing::LinkedRing
    - reverse
    - remove
    - reset
    - getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void RingHull::init(CoordinateSequence& ring, bool isOuter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::isConvex
      Src: /src/geos/src/simplify/RingHull.cpp:124,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:128,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:129,1
    - Dst: geos::simplify::RingHull::area
      Src: /src/geos/src/simplify/RingHull.cpp:130,1
    - Dst: push
      Src: /src/geos/src/simplify/RingHull.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - ' queue'
    argTypes:
    - std::size_t
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos::simplify::RingHull::addCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 7
    functionsReached:
    - geos::simplify::RingHull::area
    - prev
    - geos::simplify::RingHull::isConvex
    - next
    - push
    linkageType: ''
    returnType: void
    signature: void RingHull::addCorner(std::size_t i, Corner::PriorityQueue& queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:138,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:139,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:140,1
    - Dst: geos::algorithm::Orientation::index
      Src: /src/geos/src/simplify/RingHull.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: geos::simplify::RingHull::isConvex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - nextCoordinate
    - geos::algorithm::Orientation::index
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isConvex(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prevCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:148,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:149,1
    - Dst: nextCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:150,1
    - Dst: geos::geom::Triangle::area
      Src: /src/geos/src/simplify/RingHull.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' vertexRing'
    - index
    argTypes:
    - LinkedRing
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: geos::simplify::RingHull::area
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - nextCoordinate
    - geos::geom::Triangle::area
    - getCoordinate
    - prevCoordinate
    linkageType: ''
    returnType: double
    signature: double RingHull::area(const LinkedRing& vertexRing, std::size_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/simplify/RingHull.cpp:158,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:159,1
    - Dst: top
      Src: /src/geos/src/simplify/RingHull.cpp:161,1
    - Dst: pop
      Src: /src/geos/src/simplify/RingHull.cpp:162,1
    - Dst: Corner::isRemoved
      Src: /src/geos/src/simplify/RingHull.cpp:164,1
    - Dst: geos::simplify::RingHull::isAtTarget
      Src: /src/geos/src/simplify/RingHull.cpp:166,1
    - Dst: geos::simplify::RingHull::isRemovable
      Src: /src/geos/src/simplify/RingHull.cpp:173,1
    - Dst: geos::simplify::RingHull::removeCorner
      Src: /src/geos/src/simplify/RingHull.cpp:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' hullIndex'
    argTypes:
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: geos::simplify::RingHull::compute
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - size
    - top
    - Corner::isRemoved
    - geos::simplify::RingHull::isAtTarget
    - geos::simplify::RingHull::removeCorner
    - geos::simplify::RingHull::isRemovable
    - pop
    - empty
    linkageType: ''
    returnType: void
    signature: void RingHull::compute(RingHullIndex& hullIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:184,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' corner'
    argTypes:
    - Corner
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: geos::simplify::RingHull::isAtTarget
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - getArea
    - size
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isAtTarget(const Corner& corner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/geos/src/simplify/RingHull.cpp:209,1
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:210,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:211,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:212,1
    - Dst: remove
      Src: /src/geos/src/simplify/RingHull.cpp:213,1
    - Dst: getArea
      Src: /src/geos/src/simplify/RingHull.cpp:214,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:217,1
    - Dst: geos::simplify::RingHull::addCorner
      Src: /src/geos/src/simplify/RingHull.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' corner'
    - ' queue'
    argTypes:
    - Corner
    - Corner::PriorityQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: geos::simplify::RingHull::removeCorner
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::RingHull::addCorner
    - prev
    - getArea
    - getIndex
    - next
    - remove
    linkageType: ''
    returnType: void
    signature: void RingHull::removeCorner(const Corner& corner, Corner::PriorityQueue&
      queue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: envelope
      Src: /src/geos/src/simplify/RingHull.cpp:226,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:227,1
    - Dst: size
      Src: /src/geos/src/simplify/RingHull.cpp:230,1
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:233,1
    - Dst: geos::simplify::RingHull::hasIntersectingVertex
      Src: /src/geos/src/simplify/RingHull.cpp:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ' corner'
    - ' hullIndex'
    argTypes:
    - Corner
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: geos::simplify::RingHull::isRemovable
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::RingHull::query
    - size
    - envelope
    - geos::simplify::RingHull::hasIntersectingVertex
    linkageType: ''
    returnType: bool
    signature: bool RingHull::isRemovable(const Corner& corner, const RingHullIndex&
      hullIndex) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RingHull*::query
      Src: /src/geos/src/simplify/RingHull.cpp:261,1
    - Dst: isVertex
      Src: /src/geos/src/simplify/RingHull.cpp:265,1
    - Dst: RingHull*::getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:268,1
    - Dst: intersects
      Src: /src/geos/src/simplify/RingHull.cpp:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ' corner'
    - ' cornerEnv'
    - hull
    argTypes:
    - Corner
    - Envelope
    - RingHull*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 274
    functionName: geos::simplify::RingHull::hasIntersectingVertex
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 4
    functionsReached:
    - RingHull*::getCoordinate
    - intersects
    - isVertex
    - RingHull*::query
    linkageType: ''
    returnType: bool
    signature: "bool RingHull::hasIntersectingVertex(\n    const Corner& corner,\n
      \   const Envelope& cornerEnv,\n    const RingHull* hull) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '&

      RingHull::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinate
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      RingHull::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' cornerEnv'
    - ' result'
    argTypes:
    - Envelope
    - std::vector<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: geos::simplify::RingHull::query
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 11
    functionsReached:
    - geos::simplify::RingHull::query
    linkageType: ''
    returnType: void
    signature: "void RingHull::query(\n    const Envelope& cornerEnv,\n    std::vector<std::size_t>&
      result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::RingHull::query
      Src: /src/geos/src/simplify/RingHull.cpp:298,1
    - Dst: hasCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:302,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:304,1
    - Dst: push_back
      Src: /src/geos/src/simplify/RingHull.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' queryEnv'
    - ' pts'
    argTypes:
    - Envelope
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: geos::simplify::RingHull::queryHull
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::RingHull::query
    - hasCoordinate
    - getCoordinate
    - push_back
    linkageType: ''
    returnType: void
    signature: void RingHull::queryHull(const Envelope& queryEnv, std::vector<Coordinate>&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:313,1
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/RingHull.cpp:314,1
    - Dst: auto::createPolygon
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: auto::createLinearRing
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: geos::simplify::RingHull::toGeometry
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::geom::GeometryFactory::create
    - auto::createLinearRing
    - std::move
    - auto::createPolygon
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> RingHull::toGeometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: RingHull::Corner::isVertex(std::size_t p_index) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isVertex(std::size_t p_index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: RingHull::Corner::getIndex() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t RingHull::Corner::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: RingHull::Corner::getArea() const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double RingHull::Corner::getArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:352,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:353,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:354,1
    - Dst: init
      Src: /src/geos/src/simplify/RingHull.cpp:355,1
    - Dst: expandToInclude
      Src: /src/geos/src/simplify/RingHull.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' ring'
    - ' env'
    argTypes:
    - LinkedRing
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - expandToInclude
    - getCoordinate
    - init
    linkageType: ''
    returnType: void
    signature: void RingHull::Corner::envelope(const LinkedRing& ring, Envelope& env)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:364,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:365,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:366,1
    - Dst: geos::geom::Triangle::intersects
      Src: /src/geos/src/simplify/RingHull.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' v'
    - ' ring'
    argTypes:
    - Coordinate
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - geos::geom::Triangle::intersects
    - getCoordinate
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::intersects(const Coordinate& v, const LinkedRing&
      ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/RingHull.cpp:374,1
    - Dst: next
      Src: /src/geos/src/simplify/RingHull.cpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: RingHull::Corner::isRemoved(const LinkedRing& ring) const
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - next
    - prev
    linkageType: ''
    returnType: bool
    signature: bool RingHull::Corner::isRemoved(const LinkedRing& ring) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/RingHull.cpp:382,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:383,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:384,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: getCoordinate
      Src: /src/geos/src/simplify/RingHull.cpp:385,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/simplify/RingHull.cpp:386,1
    - Dst: auto::createLineString
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    - Dst: std::move
      Src: /src/geos/src/simplify/RingHull.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' ring'
    argTypes:
    - LinkedRing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: RingHull::Corner::toLineString(const LinkedRing& ring)
    functionSourceFile: /src/geos/src/simplify/RingHull.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - getCoordinate
    - auto::createLineString
    - geos::geom::GeometryFactory::create
    - detail::make_unique<CoordinateSequence>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> RingHull::Corner::toLineString(const LinkedRing&
      ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' p_p0'
    - ' p_p1'
    - nParent
    - nIndex
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    - geom::Geometry*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1,\n
      \                                    const geom::Geometry* nParent,\n                                     std::size_t
      nIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p0'
    - ' p_p1'
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - TaggedLineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLineSegment::TaggedLineSegment(const TaggedLineSegment&
      ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::TaggedLineSegment::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::Geometry
    signature: 'geom::Geometry *

      TaggedLineSegment::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::TaggedLineSegment::getIndex
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TaggedLineSegment::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' p_p0'
    - ' p_p1'
    - nParent
    - nIndex
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    - geom::Geometry*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1,\n
      \                                    const geom::Geometry* nParent,\n                                     std::size_t
      nIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p0'
    - ' p_p1'
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - TaggedLineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLineSegment::TaggedLineSegment(const TaggedLineSegment&
      ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::TaggedLineSegment::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::Geometry
    signature: 'geom::Geometry *

      TaggedLineSegment::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::TaggedLineSegment::getIndex
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TaggedLineSegment::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' p_p0'
    - ' p_p1'
    - nParent
    - nIndex
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    - geom::Geometry*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1,\n
      \                                    const geom::Geometry* nParent,\n                                     std::size_t
      nIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p0'
    - ' p_p1'
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - TaggedLineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLineSegment::TaggedLineSegment(const TaggedLineSegment&
      ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::TaggedLineSegment::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::Geometry
    signature: 'geom::Geometry *

      TaggedLineSegment::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::TaggedLineSegment::getIndex
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TaggedLineSegment::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' p_p0'
    - ' p_p1'
    - nParent
    - nIndex
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    - geom::Geometry*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1,\n
      \                                    const geom::Geometry* nParent,\n                                     std::size_t
      nIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p_p0'
    - ' p_p1'
    argTypes:
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TaggedLineSegment::TaggedLineSegment(const geom::Coordinate&
      p_p0,\n                                     const geom::Coordinate& p_p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - TaggedLineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: geos::simplify::TaggedLineSegment::TaggedLineSegment
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLineSegment::TaggedLineSegment(const TaggedLineSegment&
      ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::TaggedLineSegment::getParent
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::Geometry
    signature: 'geom::Geometry *

      TaggedLineSegment::getParent() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::TaggedLineSegment::getIndex
    functionSourceFile: /src/geos/src/simplify/TaggedLineSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TaggedLineSegment::getIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerLineSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:44,1
    - Dst: DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:45,1
    - Dst: DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' nPts'
    - distanceTolerance
    - preserveClosedEndpoint
    argTypes:
    - CoordinateSequence
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DouglasPeuckerLineSimplifier::simplify
    - DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    - DouglasPeuckerLineSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify(\n
      \   const CoordinateSequence& nPts,\n    double distanceTolerance,\n    bool
      preserveClosedEndpoint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nPts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier(\n
      \   const CoordinateSequence& nPts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nDistanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isnan
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::setDistanceTolerance(\n    double
      nDistanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - preserve
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint(bool preserve)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:81,1
    - Dst: std::vector<bool>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:90,1
    - Dst: isRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:95,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:96,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:99,1
    - Dst: auto::reserve
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::closeRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:102,1
    - Dst: std::move
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - size
    - auto::reserve
    - auto::closeRing
    - geom::LineSegment::distance
    - detail::make_unique<CoordinateSequence>
    - std::vector<bool>
    - auto::getAt
    - std::move
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    - isRing
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:127,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:139,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 2
    functionsReached:
    - geom::LineSegment::distance
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::simplifySection(\n    std::size_t
      i,\n    std::size_t j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerLineSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:44,1
    - Dst: DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:45,1
    - Dst: DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' nPts'
    - distanceTolerance
    - preserveClosedEndpoint
    argTypes:
    - CoordinateSequence
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DouglasPeuckerLineSimplifier::simplify
    - DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    - DouglasPeuckerLineSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify(\n
      \   const CoordinateSequence& nPts,\n    double distanceTolerance,\n    bool
      preserveClosedEndpoint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nPts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier(\n
      \   const CoordinateSequence& nPts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nDistanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isnan
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::setDistanceTolerance(\n    double
      nDistanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - preserve
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint(bool preserve)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:81,1
    - Dst: std::vector<bool>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:90,1
    - Dst: isRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:95,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:96,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:99,1
    - Dst: auto::reserve
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::closeRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:102,1
    - Dst: std::move
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - size
    - auto::reserve
    - auto::closeRing
    - geom::LineSegment::distance
    - detail::make_unique<CoordinateSequence>
    - std::vector<bool>
    - auto::getAt
    - std::move
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    - isRing
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:127,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:139,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 4
    functionsReached:
    - geom::LineSegment::distance
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::simplifySection(\n    std::size_t
      i,\n    std::size_t j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerLineSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:44,1
    - Dst: DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:45,1
    - Dst: DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' nPts'
    - distanceTolerance
    - preserveClosedEndpoint
    argTypes:
    - CoordinateSequence
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DouglasPeuckerLineSimplifier::simplify
    - DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    - DouglasPeuckerLineSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify(\n
      \   const CoordinateSequence& nPts,\n    double distanceTolerance,\n    bool
      preserveClosedEndpoint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nPts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier(\n
      \   const CoordinateSequence& nPts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nDistanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isnan
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::setDistanceTolerance(\n    double
      nDistanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - preserve
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint(bool preserve)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:81,1
    - Dst: std::vector<bool>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:90,1
    - Dst: isRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:95,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:96,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:99,1
    - Dst: auto::reserve
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::closeRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:102,1
    - Dst: std::move
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - size
    - auto::reserve
    - auto::closeRing
    - geom::LineSegment::distance
    - detail::make_unique<CoordinateSequence>
    - std::vector<bool>
    - auto::getAt
    - std::move
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    - isRing
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:127,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:139,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 6
    functionsReached:
    - geom::LineSegment::distance
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::simplifySection(\n    std::size_t
      i,\n    std::size_t j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerLineSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:44,1
    - Dst: DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:45,1
    - Dst: DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' nPts'
    - distanceTolerance
    - preserveClosedEndpoint
    argTypes:
    - CoordinateSequence
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DouglasPeuckerLineSimplifier::simplify
    - DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    - DouglasPeuckerLineSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: "std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify(\n
      \   const CoordinateSequence& nPts,\n    double distanceTolerance,\n    bool
      preserveClosedEndpoint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' nPts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::DouglasPeuckerLineSimplifier(\n
      \   const CoordinateSequence& nPts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:62,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nDistanceTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::isnan
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::setDistanceTolerance(\n    double
      nDistanceTolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - preserve
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerLineSimplifier::setPreserveClosedEndpoint(bool preserve)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:78,1
    - Dst: isEmpty
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:81,1
    - Dst: std::vector<bool>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:85,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:86,1
    - Dst: size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:88,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:90,1
    - Dst: isRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:95,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:96,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:97,1
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: auto::getAt
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:98,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:99,1
    - Dst: auto::reserve
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:100,1
    - Dst: auto::add
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::size
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:101,1
    - Dst: auto::closeRing
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:102,1
    - Dst: std::move
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::size
    - size
    - auto::reserve
    - auto::closeRing
    - geom::LineSegment::distance
    - detail::make_unique<CoordinateSequence>
    - std::vector<bool>
    - auto::getAt
    - std::move
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    - isRing
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> DouglasPeuckerLineSimplifier::simplify()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geom::LineSegment::distance
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:127,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:139,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
      Src: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - i
    - j
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerLineSimplifier.cpp
    functionUses: 8
    functionsReached:
    - geom::LineSegment::distance
    - geos::simplify::DouglasPeuckerLineSimplifier::simplifySection
    linkageType: ''
    returnType: void
    signature: "void DouglasPeuckerLineSimplifier::simplifySection(\n    std::size_t
      i,\n    std::size_t j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:34,1
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::createNextLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:37,1
    - Dst: geos::simplify::LinkedLine::createPrevLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedLine::LinkedLine
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::createPrevLinks
    - geos::simplify::LinkedLine::createNextLinks
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: void
    signature: void LinkedLine::LinkedLine(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::simplify::LinkedLine::isRing
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isRing() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:53,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedLine::isCorner
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isCorner(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::simplify::LinkedLine::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 1
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createNextLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: geos::simplify::LinkedLine::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 1
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createPrevLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::simplify::LinkedLine::size
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::simplify::LinkedLine::next
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::simplify::LinkedLine::prev
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: '&

      LinkedLine::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: '&

      LinkedLine::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    - Dst: next
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: '&

      LinkedLine::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - next
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::nextCoordinate(std::size_t index) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:132,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: geos::simplify::LinkedLine::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::hasCoordinate(std::size_t index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: geos::simplify::LinkedLine::remove
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedLine::remove(std::size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedLine.cpp:159,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::hasCoordinate
      Src: /src/geos/src/simplify/LinkedLine.cpp:162,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: geos::simplify::LinkedLine::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::hasCoordinate
    - CoordinateSequence::CoordinateSequence
    - getAt
    - std::unique_ptr::closeRing
    - std::unique_ptr::add
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedLine::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/LinkedLine.cpp:175,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/simplify/LinkedLine.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' ll'
    argTypes:
    - std::ostream
    - LinkedLine
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: '&

      operator<< (std::ostream& os, const LinkedLine& ll)'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const LinkedLine& ll)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:34,1
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::createNextLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:37,1
    - Dst: geos::simplify::LinkedLine::createPrevLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedLine::LinkedLine
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::createPrevLinks
    - geos::simplify::LinkedLine::createNextLinks
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: void
    signature: void LinkedLine::LinkedLine(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::simplify::LinkedLine::isRing
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isRing() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:53,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedLine::isCorner
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isCorner(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::simplify::LinkedLine::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 2
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createNextLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: geos::simplify::LinkedLine::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 2
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createPrevLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::simplify::LinkedLine::size
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::simplify::LinkedLine::next
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::simplify::LinkedLine::prev
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: '&

      LinkedLine::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: '&

      LinkedLine::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    - Dst: next
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: '&

      LinkedLine::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - next
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::nextCoordinate(std::size_t index) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:132,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: geos::simplify::LinkedLine::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::hasCoordinate(std::size_t index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: geos::simplify::LinkedLine::remove
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedLine::remove(std::size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedLine.cpp:159,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::hasCoordinate
      Src: /src/geos/src/simplify/LinkedLine.cpp:162,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: geos::simplify::LinkedLine::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::hasCoordinate
    - CoordinateSequence::CoordinateSequence
    - getAt
    - std::unique_ptr::closeRing
    - std::unique_ptr::add
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedLine::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/LinkedLine.cpp:175,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/simplify/LinkedLine.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' ll'
    argTypes:
    - std::ostream
    - LinkedLine
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: '&

      operator<< (std::ostream& os, const LinkedLine& ll)'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const LinkedLine& ll)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:34,1
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::createNextLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:37,1
    - Dst: geos::simplify::LinkedLine::createPrevLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedLine::LinkedLine
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::createPrevLinks
    - geos::simplify::LinkedLine::createNextLinks
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: void
    signature: void LinkedLine::LinkedLine(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::simplify::LinkedLine::isRing
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isRing() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:53,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedLine::isCorner
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isCorner(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::simplify::LinkedLine::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 3
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createNextLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: geos::simplify::LinkedLine::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 3
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createPrevLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::simplify::LinkedLine::size
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::simplify::LinkedLine::next
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::simplify::LinkedLine::prev
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: '&

      LinkedLine::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: '&

      LinkedLine::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    - Dst: next
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: '&

      LinkedLine::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - next
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::nextCoordinate(std::size_t index) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:132,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: geos::simplify::LinkedLine::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::hasCoordinate(std::size_t index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: geos::simplify::LinkedLine::remove
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedLine::remove(std::size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedLine.cpp:159,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::hasCoordinate
      Src: /src/geos/src/simplify/LinkedLine.cpp:162,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: geos::simplify::LinkedLine::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::hasCoordinate
    - CoordinateSequence::CoordinateSequence
    - getAt
    - std::unique_ptr::closeRing
    - std::unique_ptr::add
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedLine::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/LinkedLine.cpp:175,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/simplify/LinkedLine.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' ll'
    argTypes:
    - std::ostream
    - LinkedLine
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: '&

      operator<< (std::ostream& os, const LinkedLine& ll)'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const LinkedLine& ll)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:34,1
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:35,1
    - Dst: geos::simplify::LinkedLine::createNextLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:37,1
    - Dst: geos::simplify::LinkedLine::createPrevLinks
      Src: /src/geos/src/simplify/LinkedLine.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedLine::LinkedLine
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::createPrevLinks
    - geos::simplify::LinkedLine::createNextLinks
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: void
    signature: void LinkedLine::LinkedLine(const CoordinateSequence& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::simplify::LinkedLine::isRing
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isRing() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::isRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:53,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedLine::isCorner
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::isRing
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::isCorner(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: geos::simplify::LinkedLine::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 4
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createNextLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/geos/src/simplify/LinkedLine.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: geos::simplify::LinkedLine::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 4
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void LinkedLine::createPrevLinks(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: geos::simplify::LinkedLine::size
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: geos::simplify::LinkedLine::next
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: geos::simplify::LinkedLine::prev
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedLine::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: '&

      LinkedLine::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedLine.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: '&

      LinkedLine::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - prev
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    - Dst: next
      Src: /src/geos/src/simplify/LinkedLine.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: '&

      LinkedLine::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - next
    - getAt
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedLine::nextCoordinate(std::size_t index) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:132,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: geos::simplify::LinkedLine::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedLine::hasCoordinate(std::size_t index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: geos::simplify::LinkedLine::remove
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedLine::remove(std::size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedLine.cpp:159,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::size
      Src: /src/geos/src/simplify/LinkedLine.cpp:160,1
    - Dst: geos::simplify::LinkedLine::hasCoordinate
      Src: /src/geos/src/simplify/LinkedLine.cpp:162,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/simplify/LinkedLine.cpp:163,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedLine.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: geos::simplify::LinkedLine::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedLine::hasCoordinate
    - CoordinateSequence::CoordinateSequence
    - getAt
    - std::unique_ptr::closeRing
    - std::unique_ptr::add
    - geos::simplify::LinkedLine::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedLine::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/simplify/LinkedLine.cpp:175,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/simplify/LinkedLine.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' ll'
    argTypes:
    - std::ostream
    - LinkedLine
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: '&

      operator<< (std::ostream& os, const LinkedLine& ll)'
    functionSourceFile: /src/geos/src/simplify/LinkedLine.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const LinkedLine& ll)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:45,1
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::simplify::TaggedLinesSimplifier::TaggedLinesSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineSegmentIndex::LineSegmentIndex
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::TaggedLinesSimplifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::simplify::TaggedLinesSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::setDistanceTolerance(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:66,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: TaggedLineStringSimplifier::simplify
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' taggedLines'
    argTypes:
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::simplify::TaggedLinesSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - add
    - TaggedLineStringSimplifier::simplify
    - get
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::simplify(std::vector<TaggedLineString*>&
      taggedLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:45,1
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::simplify::TaggedLinesSimplifier::TaggedLinesSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineSegmentIndex::LineSegmentIndex
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::TaggedLinesSimplifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::simplify::TaggedLinesSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::setDistanceTolerance(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:66,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: TaggedLineStringSimplifier::simplify
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' taggedLines'
    argTypes:
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::simplify::TaggedLinesSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - add
    - TaggedLineStringSimplifier::simplify
    - get
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::simplify(std::vector<TaggedLineString*>&
      taggedLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:45,1
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::simplify::TaggedLinesSimplifier::TaggedLinesSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineSegmentIndex::LineSegmentIndex
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::TaggedLinesSimplifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::simplify::TaggedLinesSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::setDistanceTolerance(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:66,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: TaggedLineStringSimplifier::simplify
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' taggedLines'
    argTypes:
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::simplify::TaggedLinesSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - add
    - TaggedLineStringSimplifier::simplify
    - get
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::simplify(std::vector<TaggedLineString*>&
      taggedLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:45,1
    - Dst: LineSegmentIndex::LineSegmentIndex
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geos::simplify::TaggedLinesSimplifier::TaggedLinesSimplifier
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - LineSegmentIndex::LineSegmentIndex
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::TaggedLinesSimplifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: geos::simplify::TaggedLinesSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::setDistanceTolerance(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:66,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: get
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:70,1
    - Dst: TaggedLineStringSimplifier::simplify
      Src: /src/geos/src/simplify/TaggedLinesSimplifier.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' taggedLines'
    argTypes:
    - std::vector<TaggedLineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: geos::simplify::TaggedLinesSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/TaggedLinesSimplifier.cpp
    functionUses: 0
    functionsReached:
    - add
    - TaggedLineStringSimplifier::simplify
    - get
    linkageType: ''
    returnType: void
    signature: void TaggedLinesSimplifier::simplify(std::vector<TaggedLineString*>&
      taggedLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSkipTransformedInvalidInteriorRings
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: geos::simplify::DPTransformer::DPTransformer
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - setSkipTransformedInvalidInteriorRings
    linkageType: ''
    returnType: void
    signature: void DPTransformer::DPTransformer(double t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: Geometry*::isValid
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: geos::simplify::DPTransformer::createValidArea
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::buffer
    - Geometry*::getDimension
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DPTransformer::createValidArea(const Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:113,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:115,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::simplify::DPTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - Geometry*::getGeometryTypeId
    - geos::simplify::DouglasPeuckerLineSimplifier::simplify
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr DPTransformer::transformCoordinates(\n    const
      CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:130,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: geos::simplify::DPTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - dynamic_cast<const LinearRing*>
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformLinearRing(\n    const LinearRing*
      geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:150,1
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: geos::simplify::DPTransformer::transformPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const MultiPolygon*>
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: geos::simplify::DPTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformMultiPolygon(\n    const MultiPolygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:182,1
    - Dst: DouglasPeuckerSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: geos::simplify::DouglasPeuckerSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 7
    functionsReached:
    - DouglasPeuckerSimplifier::getResultGeometry
    - DouglasPeuckerSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DouglasPeuckerSimplifier::simplify(const Geometry* geom,\n
      \                                  double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::simplify::DouglasPeuckerSimplifier::DouglasPeuckerSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::DouglasPeuckerSimplifier(const Geometry*
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: geos::simplify::DouglasPeuckerSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::setDistanceTolerance(double tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DPTransformer::transform
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: geos::simplify::DouglasPeuckerSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DPTransformer::transform
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DouglasPeuckerSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSkipTransformedInvalidInteriorRings
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: geos::simplify::DPTransformer::DPTransformer
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - setSkipTransformedInvalidInteriorRings
    linkageType: ''
    returnType: void
    signature: void DPTransformer::DPTransformer(double t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: Geometry*::isValid
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: geos::simplify::DPTransformer::createValidArea
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::buffer
    - Geometry*::getDimension
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DPTransformer::createValidArea(const Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:113,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:115,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::simplify::DPTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - Geometry*::getGeometryTypeId
    - geos::simplify::DouglasPeuckerLineSimplifier::simplify
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr DPTransformer::transformCoordinates(\n    const
      CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:130,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: geos::simplify::DPTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - dynamic_cast<const LinearRing*>
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformLinearRing(\n    const LinearRing*
      geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:150,1
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: geos::simplify::DPTransformer::transformPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const MultiPolygon*>
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: geos::simplify::DPTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformMultiPolygon(\n    const MultiPolygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:182,1
    - Dst: DouglasPeuckerSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: geos::simplify::DouglasPeuckerSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 7
    functionsReached:
    - DouglasPeuckerSimplifier::getResultGeometry
    - DouglasPeuckerSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DouglasPeuckerSimplifier::simplify(const Geometry* geom,\n
      \                                  double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::simplify::DouglasPeuckerSimplifier::DouglasPeuckerSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::DouglasPeuckerSimplifier(const Geometry*
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: geos::simplify::DouglasPeuckerSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::setDistanceTolerance(double tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DPTransformer::transform
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: geos::simplify::DouglasPeuckerSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DPTransformer::transform
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DouglasPeuckerSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSkipTransformedInvalidInteriorRings
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: geos::simplify::DPTransformer::DPTransformer
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - setSkipTransformedInvalidInteriorRings
    linkageType: ''
    returnType: void
    signature: void DPTransformer::DPTransformer(double t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: Geometry*::isValid
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: geos::simplify::DPTransformer::createValidArea
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::buffer
    - Geometry*::getDimension
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DPTransformer::createValidArea(const Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:113,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:115,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::simplify::DPTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - Geometry*::getGeometryTypeId
    - geos::simplify::DouglasPeuckerLineSimplifier::simplify
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr DPTransformer::transformCoordinates(\n    const
      CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:130,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: geos::simplify::DPTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - dynamic_cast<const LinearRing*>
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformLinearRing(\n    const LinearRing*
      geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:150,1
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: geos::simplify::DPTransformer::transformPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const MultiPolygon*>
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: geos::simplify::DPTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformMultiPolygon(\n    const MultiPolygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:182,1
    - Dst: DouglasPeuckerSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: geos::simplify::DouglasPeuckerSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 7
    functionsReached:
    - DouglasPeuckerSimplifier::getResultGeometry
    - DouglasPeuckerSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DouglasPeuckerSimplifier::simplify(const Geometry* geom,\n
      \                                  double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::simplify::DouglasPeuckerSimplifier::DouglasPeuckerSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::DouglasPeuckerSimplifier(const Geometry*
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: geos::simplify::DouglasPeuckerSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::setDistanceTolerance(double tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DPTransformer::transform
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: geos::simplify::DouglasPeuckerSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DPTransformer::transform
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DouglasPeuckerSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSkipTransformedInvalidInteriorRings
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: geos::simplify::DPTransformer::DPTransformer
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - setSkipTransformedInvalidInteriorRings
    linkageType: ''
    returnType: void
    signature: void DPTransformer::DPTransformer(double t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getDimension
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: Geometry*::isValid
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:102,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: Geometry*::buffer
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:104,1
    - Dst: geos::operation::overlayng::OverlayEdgeRing::getRingPtr
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - roughAreaGeom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: geos::simplify::DPTransformer::createValidArea
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 6
    functionsReached:
    - Geometry*::buffer
    - Geometry*::getDimension
    - geos::operation::overlayng::OverlayEdgeRing::getRingPtr
    - Geometry*::isValid
    - Geometry*::clone
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DPTransformer::createValidArea(const Geometry* roughAreaGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:113,1
    - Dst: Geometry*::getGeometryTypeId
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:115,1
    - Dst: geos::simplify::DouglasPeuckerLineSimplifier::simplify
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - coords
    - parent
    argTypes:
    - CoordinateSequence*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: geos::simplify::DPTransformer::transformCoordinates
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    - Geometry*::getGeometryTypeId
    - geos::simplify::DouglasPeuckerLineSimplifier::simplify
    linkageType: ''
    returnType: CoordinateSequence::Ptr
    signature: "CoordinateSequence::Ptr DPTransformer::transformCoordinates(\n    const
      CoordinateSequence* coords,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Polygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:130,1
    - Dst: dynamic_cast<const LinearRing*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - LinearRing*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: geos::simplify::DPTransformer::transformLinearRing
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - dynamic_cast<const LinearRing*>
    - dynamic_cast<const Polygon*>
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformLinearRing(\n    const LinearRing*
      geom,\n    const Geometry* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:150,1
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - Polygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: geos::simplify::DPTransformer::transformPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const MultiPolygon*>
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformPolygon(\n    const Polygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::DPTransformer::createValidArea
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    - Dst: Geometry::Ptr::get
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - parent
    argTypes:
    - MultiPolygon*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: geos::simplify::DPTransformer::transformMultiPolygon
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - Geometry::Ptr::get
    - geos::simplify::DPTransformer::createValidArea
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DPTransformer::transformMultiPolygon(\n    const MultiPolygon*
      geom,\n    const Geometry* parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DouglasPeuckerSimplifier::setDistanceTolerance
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:182,1
    - Dst: DouglasPeuckerSimplifier::getResultGeometry
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - Geometry*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: geos::simplify::DouglasPeuckerSimplifier::simplify
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 7
    functionsReached:
    - DouglasPeuckerSimplifier::getResultGeometry
    - DouglasPeuckerSimplifier::setDistanceTolerance
    linkageType: ''
    returnType: Geometry::Ptr
    signature: "Geometry::Ptr DouglasPeuckerSimplifier::simplify(const Geometry* geom,\n
      \                                  double tolerance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - geom
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: geos::simplify::DouglasPeuckerSimplifier::DouglasPeuckerSimplifier
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::DouglasPeuckerSimplifier(const Geometry*
      geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: geos::simplify::DouglasPeuckerSimplifier::setDistanceTolerance
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::IllegalArgumentException
    linkageType: ''
    returnType: void
    signature: void DouglasPeuckerSimplifier::setDistanceTolerance(double tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DPTransformer::transform
      Src: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: geos::simplify::DouglasPeuckerSimplifier::getResultGeometry
    functionSourceFile: /src/geos/src/simplify/DouglasPeuckerSimplifier.cpp
    functionUses: 0
    functionsReached:
    - DPTransformer::transform
    linkageType: ''
    returnType: Geometry::Ptr
    signature: Geometry::Ptr DouglasPeuckerSimplifier::getResultGeometry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setVertexNumFraction
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - vertexNumFraction
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::simplify::PolygonHullSimplifier::hull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - PolygonHullSimplifier::setVertexNumFraction
    - std::abs
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hull(const Geometry*
      geom, bool bOuter, double vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setAreaDeltaRatio
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - areaDeltaRatio
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::simplify::PolygonHullSimplifier::hullByAreaDelta
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - PolygonHullSimplifier::setAreaDeltaRatio
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hullByAreaDelta(const
      Geometry* geom, bool bOuter, double areaDeltaRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::clamp
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_vertexNumFraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::PolygonHullSimplifier::setVertexNumFraction
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::clamp
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setVertexNumFraction(double p_vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_areaDeltaRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::simplify::PolygonHullSimplifier::setAreaDeltaRatio
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setAreaDeltaRatio(double p_areaDeltaRatio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:83,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:86,1
    - Dst: getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:94,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:102,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: geos::simplify::PolygonHullSimplifier::getResult
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    - static_cast<const Polygon*>
    - static_cast<const MultiPolygon*>
    - geos::util::IllegalArgumentException
    - getNumGeometries
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    - getGeometryTypeId
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:114,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:121,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:123,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:129,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:130,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 1
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::simplify::PolygonHullSimplifier::polygonHull
    - std::move
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - createMultiPolygon
    - std::unique_ptr::release
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonAll(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:142,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:143,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:144,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 1
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - createMultiPolygon
    - std::unique_ptr::release
    - std::move
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonEach(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:160,1
    - Dst: RingHullIndex::enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:161,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:163,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: geos::simplify::PolygonHullSimplifier::computePolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - RingHullIndex::enabled
    - Polygon*::getNumInteriorRing
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - geos::simplify::PolygonHullSimplifier::polygonHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::computePolygon(const
      Polygon* poly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:174,1
    - Dst: geos::simplify::PolygonHullSimplifier::ringArea
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:179,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:182,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - poly
    - ' hullIndex'
    argTypes:
    - Polygon*
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: geos::simplify::PolygonHullSimplifier::initPolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::createRingHull
    - geos::simplify::PolygonHullSimplifier::ringArea
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Polygon*::getExteriorRing
    - std::vector::push_back
    - Polygon*::isEmpty
    linkageType: ''
    returnType: std::vector<RingHull*>
    signature: std::vector<RingHull*> PolygonHullSimplifier::initPolygon(const Polygon*
      poly, RingHullIndex& hullIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:196,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: geos::simplify::PolygonHullSimplifier::ringArea
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 1
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double PolygonHullSimplifier::ringArea(const Polygon* poly) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RingHull::RingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:210,1
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:216,1
    - Dst: std::ceil
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:217,1
    - Dst: RingHull*::setMinVertexNum
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:218,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: RingHull*::setMaxAreaDelta
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:224,1
    - Dst: enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:226,1
    - Dst: add
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ring
    - p_isOuter
    - areaTotal
    - ' hullIndex'
    argTypes:
    - LinearRing*
    - bool
    - double
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: geos::simplify::PolygonHullSimplifier::createRingHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 1
    functionsReached:
    - RingHull*::setMaxAreaDelta
    - std::ceil
    - enabled
    - LinearRing*::getCoordinatesRO
    - RingHull*::setMinVertexNum
    - add
    - LinearRing*::getNumPoints
    - geos::algorithm::Area::ofRing
    - RingHull::RingHull
    - static_cast<std::size_t>
    - emplace_back
    - static_cast<double>
    linkageType: ''
    returnType: RingHull
    signature: 'RingHull *

      PolygonHullSimplifier::createRingHull(const LinearRing* ring, bool p_isOuter,
      double areaTotal, RingHullIndex& hullIndex)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:237,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:238,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:241,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:243,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:244,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: createPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:249,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - poly
    - ' ringHulls'
    - ' hullIndex'
    argTypes:
    - Polygon*
    - std::vector<RingHull*>
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: geos::simplify::PolygonHullSimplifier::polygonHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - createPolygon
    - Polygon*::getNumInteriorRing
    - Polygon*::clone
    - std::unique_ptr::release
    - std::move
    - Polygon*::isEmpty
    - std::vector::emplace_back
    - getHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::polygonHull(const Polygon*
      poly, std::vector<RingHull*>& ringHulls, RingHullIndex& hullIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setVertexNumFraction
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - vertexNumFraction
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::simplify::PolygonHullSimplifier::hull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - PolygonHullSimplifier::setVertexNumFraction
    - std::abs
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hull(const Geometry*
      geom, bool bOuter, double vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setAreaDeltaRatio
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - areaDeltaRatio
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::simplify::PolygonHullSimplifier::hullByAreaDelta
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - PolygonHullSimplifier::setAreaDeltaRatio
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hullByAreaDelta(const
      Geometry* geom, bool bOuter, double areaDeltaRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::clamp
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_vertexNumFraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::PolygonHullSimplifier::setVertexNumFraction
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::clamp
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setVertexNumFraction(double p_vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_areaDeltaRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::simplify::PolygonHullSimplifier::setAreaDeltaRatio
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setAreaDeltaRatio(double p_areaDeltaRatio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:83,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:86,1
    - Dst: getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:94,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:102,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: geos::simplify::PolygonHullSimplifier::getResult
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    - static_cast<const Polygon*>
    - static_cast<const MultiPolygon*>
    - geos::util::IllegalArgumentException
    - getNumGeometries
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    - getGeometryTypeId
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:114,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:121,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:123,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:129,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:130,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::simplify::PolygonHullSimplifier::polygonHull
    - std::move
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - createMultiPolygon
    - std::unique_ptr::release
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonAll(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:142,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:143,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:144,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - createMultiPolygon
    - std::unique_ptr::release
    - std::move
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonEach(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:160,1
    - Dst: RingHullIndex::enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:161,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:163,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: geos::simplify::PolygonHullSimplifier::computePolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 4
    functionsReached:
    - RingHullIndex::enabled
    - Polygon*::getNumInteriorRing
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - geos::simplify::PolygonHullSimplifier::polygonHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::computePolygon(const
      Polygon* poly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:174,1
    - Dst: geos::simplify::PolygonHullSimplifier::ringArea
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:179,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:182,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - poly
    - ' hullIndex'
    argTypes:
    - Polygon*
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: geos::simplify::PolygonHullSimplifier::initPolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::createRingHull
    - geos::simplify::PolygonHullSimplifier::ringArea
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Polygon*::getExteriorRing
    - std::vector::push_back
    - Polygon*::isEmpty
    linkageType: ''
    returnType: std::vector<RingHull*>
    signature: std::vector<RingHull*> PolygonHullSimplifier::initPolygon(const Polygon*
      poly, RingHullIndex& hullIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:196,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: geos::simplify::PolygonHullSimplifier::ringArea
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double PolygonHullSimplifier::ringArea(const Polygon* poly) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RingHull::RingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:210,1
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:216,1
    - Dst: std::ceil
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:217,1
    - Dst: RingHull*::setMinVertexNum
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:218,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: RingHull*::setMaxAreaDelta
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:224,1
    - Dst: enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:226,1
    - Dst: add
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ring
    - p_isOuter
    - areaTotal
    - ' hullIndex'
    argTypes:
    - LinearRing*
    - bool
    - double
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: geos::simplify::PolygonHullSimplifier::createRingHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - RingHull*::setMaxAreaDelta
    - std::ceil
    - enabled
    - LinearRing*::getCoordinatesRO
    - RingHull*::setMinVertexNum
    - add
    - LinearRing*::getNumPoints
    - geos::algorithm::Area::ofRing
    - RingHull::RingHull
    - static_cast<std::size_t>
    - emplace_back
    - static_cast<double>
    linkageType: ''
    returnType: RingHull
    signature: 'RingHull *

      PolygonHullSimplifier::createRingHull(const LinearRing* ring, bool p_isOuter,
      double areaTotal, RingHullIndex& hullIndex)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:237,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:238,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:241,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:243,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:244,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: createPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:249,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - poly
    - ' ringHulls'
    - ' hullIndex'
    argTypes:
    - Polygon*
    - std::vector<RingHull*>
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: geos::simplify::PolygonHullSimplifier::polygonHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 4
    functionsReached:
    - createPolygon
    - Polygon*::getNumInteriorRing
    - Polygon*::clone
    - std::unique_ptr::release
    - std::move
    - Polygon*::isEmpty
    - std::vector::emplace_back
    - getHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::polygonHull(const Polygon*
      poly, std::vector<RingHull*>& ringHulls, RingHullIndex& hullIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setVertexNumFraction
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - vertexNumFraction
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::simplify::PolygonHullSimplifier::hull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - PolygonHullSimplifier::setVertexNumFraction
    - std::abs
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hull(const Geometry*
      geom, bool bOuter, double vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setAreaDeltaRatio
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - areaDeltaRatio
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::simplify::PolygonHullSimplifier::hullByAreaDelta
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - PolygonHullSimplifier::setAreaDeltaRatio
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hullByAreaDelta(const
      Geometry* geom, bool bOuter, double areaDeltaRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::clamp
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_vertexNumFraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::PolygonHullSimplifier::setVertexNumFraction
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::clamp
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setVertexNumFraction(double p_vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_areaDeltaRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::simplify::PolygonHullSimplifier::setAreaDeltaRatio
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setAreaDeltaRatio(double p_areaDeltaRatio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:83,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:86,1
    - Dst: getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:94,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:102,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: geos::simplify::PolygonHullSimplifier::getResult
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    - static_cast<const Polygon*>
    - static_cast<const MultiPolygon*>
    - geos::util::IllegalArgumentException
    - getNumGeometries
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    - getGeometryTypeId
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:114,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:121,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:123,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:129,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:130,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 3
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::simplify::PolygonHullSimplifier::polygonHull
    - std::move
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - createMultiPolygon
    - std::unique_ptr::release
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonAll(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:142,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:143,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:144,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 3
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - createMultiPolygon
    - std::unique_ptr::release
    - std::move
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonEach(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:160,1
    - Dst: RingHullIndex::enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:161,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:163,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: geos::simplify::PolygonHullSimplifier::computePolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 6
    functionsReached:
    - RingHullIndex::enabled
    - Polygon*::getNumInteriorRing
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - geos::simplify::PolygonHullSimplifier::polygonHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::computePolygon(const
      Polygon* poly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:174,1
    - Dst: geos::simplify::PolygonHullSimplifier::ringArea
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:179,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:182,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - poly
    - ' hullIndex'
    argTypes:
    - Polygon*
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: geos::simplify::PolygonHullSimplifier::initPolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 6
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::createRingHull
    - geos::simplify::PolygonHullSimplifier::ringArea
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Polygon*::getExteriorRing
    - std::vector::push_back
    - Polygon*::isEmpty
    linkageType: ''
    returnType: std::vector<RingHull*>
    signature: std::vector<RingHull*> PolygonHullSimplifier::initPolygon(const Polygon*
      poly, RingHullIndex& hullIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:196,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: geos::simplify::PolygonHullSimplifier::ringArea
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 3
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double PolygonHullSimplifier::ringArea(const Polygon* poly) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RingHull::RingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:210,1
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:216,1
    - Dst: std::ceil
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:217,1
    - Dst: RingHull*::setMinVertexNum
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:218,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: RingHull*::setMaxAreaDelta
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:224,1
    - Dst: enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:226,1
    - Dst: add
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ring
    - p_isOuter
    - areaTotal
    - ' hullIndex'
    argTypes:
    - LinearRing*
    - bool
    - double
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: geos::simplify::PolygonHullSimplifier::createRingHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 3
    functionsReached:
    - RingHull*::setMaxAreaDelta
    - std::ceil
    - enabled
    - LinearRing*::getCoordinatesRO
    - RingHull*::setMinVertexNum
    - add
    - LinearRing*::getNumPoints
    - geos::algorithm::Area::ofRing
    - RingHull::RingHull
    - static_cast<std::size_t>
    - emplace_back
    - static_cast<double>
    linkageType: ''
    returnType: RingHull
    signature: 'RingHull *

      PolygonHullSimplifier::createRingHull(const LinearRing* ring, bool p_isOuter,
      double areaTotal, RingHullIndex& hullIndex)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:237,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:238,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:241,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:243,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:244,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: createPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:249,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - poly
    - ' ringHulls'
    - ' hullIndex'
    argTypes:
    - Polygon*
    - std::vector<RingHull*>
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: geos::simplify::PolygonHullSimplifier::polygonHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 6
    functionsReached:
    - createPolygon
    - Polygon*::getNumInteriorRing
    - Polygon*::clone
    - std::unique_ptr::release
    - std::move
    - Polygon*::isEmpty
    - std::vector::emplace_back
    - getHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::polygonHull(const Polygon*
      poly, std::vector<RingHull*>& ringHulls, RingHullIndex& hullIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setVertexNumFraction
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:46,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - vertexNumFraction
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::simplify::PolygonHullSimplifier::hull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - PolygonHullSimplifier::setVertexNumFraction
    - std::abs
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hull(const Geometry*
      geom, bool bOuter, double vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PolygonHullSimplifier::setAreaDeltaRatio
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: std::abs
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:56,1
    - Dst: PolygonHullSimplifier::getResult
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - geom
    - bOuter
    - areaDeltaRatio
    argTypes:
    - Geometry*
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::simplify::PolygonHullSimplifier::hullByAreaDelta
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 2
    functionsReached:
    - std::abs
    - PolygonHullSimplifier::setAreaDeltaRatio
    - PolygonHullSimplifier::getResult
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::hullByAreaDelta(const
      Geometry* geom, bool bOuter, double areaDeltaRatio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::clamp
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_vertexNumFraction
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::PolygonHullSimplifier::setVertexNumFraction
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::util::clamp
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setVertexNumFraction(double p_vertexNumFraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_areaDeltaRatio
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: geos::simplify::PolygonHullSimplifier::setAreaDeltaRatio
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonHullSimplifier::setAreaDeltaRatio(double p_areaDeltaRatio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:83,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:86,1
    - Dst: getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:94,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:96,1
    - Dst: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: static_cast<const MultiPolygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:99,1
    - Dst: getGeometryTypeId
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:102,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: static_cast<const Polygon*>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:103,1
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: geos::simplify::PolygonHullSimplifier::getResult
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    - static_cast<const Polygon*>
    - static_cast<const MultiPolygon*>
    - geos::util::IllegalArgumentException
    - getNumGeometries
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    - getGeometryTypeId
    - clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::getResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:114,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:121,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:122,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:123,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:129,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:130,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:131,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonAll
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 4
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - geos::simplify::PolygonHullSimplifier::polygonHull
    - std::move
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - createMultiPolygon
    - std::unique_ptr::release
    - std::vector::push_back
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonAll(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiPolygon*::getNumGeometries
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:142,1
    - Dst: MultiPolygon*::getGeometryN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:143,1
    - Dst: geos::simplify::PolygonHullSimplifier::computePolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:144,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:145,1
    - Dst: createMultiPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - multiPoly
    argTypes:
    - MultiPolygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: geos::simplify::PolygonHullSimplifier::computeMultiPolygonEach
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 4
    functionsReached:
    - MultiPolygon*::getNumGeometries
    - MultiPolygon*::getGeometryN
    - createMultiPolygon
    - std::unique_ptr::release
    - std::move
    - geos::simplify::PolygonHullSimplifier::computePolygon
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> PolygonHullSimplifier::computeMultiPolygonEach(const
      MultiPolygon* multiPoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:160,1
    - Dst: RingHullIndex::enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:161,1
    - Dst: geos::simplify::PolygonHullSimplifier::initPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:163,1
    - Dst: geos::simplify::PolygonHullSimplifier::polygonHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: geos::simplify::PolygonHullSimplifier::computePolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 8
    functionsReached:
    - RingHullIndex::enabled
    - Polygon*::getNumInteriorRing
    - geos::simplify::PolygonHullSimplifier::initPolygon
    - geos::simplify::PolygonHullSimplifier::polygonHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::computePolygon(const
      Polygon* poly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:174,1
    - Dst: geos::simplify::PolygonHullSimplifier::ringArea
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:179,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:181,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:182,1
    - Dst: geos::simplify::PolygonHullSimplifier::createRingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:184,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - poly
    - ' hullIndex'
    argTypes:
    - Polygon*
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 188
    functionName: geos::simplify::PolygonHullSimplifier::initPolygon
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 8
    functionsReached:
    - geos::simplify::PolygonHullSimplifier::createRingHull
    - geos::simplify::PolygonHullSimplifier::ringArea
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - Polygon*::getExteriorRing
    - std::vector::push_back
    - Polygon*::isEmpty
    linkageType: ''
    returnType: std::vector<RingHull*>
    signature: std::vector<RingHull*> PolygonHullSimplifier::initPolygon(const Polygon*
      poly, RingHullIndex& hullIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getExteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:195,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:196,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    - Dst: Polygon*::getInteriorRingN
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - poly
    argTypes:
    - Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: geos::simplify::PolygonHullSimplifier::ringArea
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 4
    functionsReached:
    - Polygon*::getExteriorRing
    - Polygon*::getInteriorRingN
    - Polygon*::getNumInteriorRing
    - geos::algorithm::Area::ofRing
    linkageType: ''
    returnType: double
    signature: double PolygonHullSimplifier::ringArea(const Polygon* poly) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RingHull::RingHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:209,1
    - Dst: emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:210,1
    - Dst: static_cast<double>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: LinearRing*::getNumPoints
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:214,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:216,1
    - Dst: std::ceil
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:217,1
    - Dst: RingHull*::setMinVertexNum
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:218,1
    - Dst: geos::algorithm::Area::ofRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:221,1
    - Dst: RingHull*::setMaxAreaDelta
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:224,1
    - Dst: enabled
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:226,1
    - Dst: add
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ring
    - p_isOuter
    - areaTotal
    - ' hullIndex'
    argTypes:
    - LinearRing*
    - bool
    - double
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: geos::simplify::PolygonHullSimplifier::createRingHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 4
    functionsReached:
    - RingHull*::setMaxAreaDelta
    - std::ceil
    - enabled
    - LinearRing*::getCoordinatesRO
    - RingHull*::setMinVertexNum
    - add
    - LinearRing*::getNumPoints
    - geos::algorithm::Area::ofRing
    - RingHull::RingHull
    - static_cast<std::size_t>
    - emplace_back
    - static_cast<double>
    linkageType: ''
    returnType: RingHull
    signature: 'RingHull *

      PolygonHullSimplifier::createRingHull(const LinearRing* ring, bool p_isOuter,
      double areaTotal, RingHullIndex& hullIndex)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Polygon*::isEmpty
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:237,1
    - Dst: Polygon*::clone
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:238,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:241,1
    - Dst: Polygon*::getNumInteriorRing
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:243,1
    - Dst: getHull
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:244,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:246,1
    - Dst: createPolygon
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:248,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:249,1
    - Dst: std::move
      Src: /src/geos/src/simplify/PolygonHullSimplifier.cpp:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - poly
    - ' ringHulls'
    - ' hullIndex'
    argTypes:
    - Polygon*
    - std::vector<RingHull*>
    - RingHullIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: geos::simplify::PolygonHullSimplifier::polygonHull
    functionSourceFile: /src/geos/src/simplify/PolygonHullSimplifier.cpp
    functionUses: 8
    functionsReached:
    - createPolygon
    - Polygon*::getNumInteriorRing
    - Polygon*::clone
    - std::unique_ptr::release
    - std::move
    - Polygon*::isEmpty
    - std::vector::emplace_back
    - getHull
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> PolygonHullSimplifier::polygonHull(const Polygon*
      poly, std::vector<RingHull*>& ringHulls, RingHullIndex& hullIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedRing::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createNextLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/LinkedRing.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (p_size>0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/geos/src/simplify/LinkedRing.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::simplify::LinkedRing::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createPrevLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedRing::size
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::LinkedRing::next
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::simplify::LinkedRing::prev
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '&

      LinkedRing::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedRing.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: '&

      LinkedRing::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/geos/src/simplify/LinkedRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: '&

      LinkedRing::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::nextCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: geos::simplify::LinkedRing::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedRing::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedRing::hasCoordinate(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::simplify::LinkedRing::remove
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedRing::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedRing.cpp:121,1
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:122,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedRing.cpp:124,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedRing.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::simplify::LinkedRing::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::closeRing
    - CoordinateSequence::CoordinateSequence
    - geos::simplify::LinkedRing::size
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedRing::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedRing::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createNextLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/LinkedRing.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (p_size>0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/geos/src/simplify/LinkedRing.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::simplify::LinkedRing::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createPrevLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedRing::size
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::LinkedRing::next
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::simplify::LinkedRing::prev
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '&

      LinkedRing::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedRing.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: '&

      LinkedRing::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/geos/src/simplify/LinkedRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: '&

      LinkedRing::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::nextCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: geos::simplify::LinkedRing::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedRing::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedRing::hasCoordinate(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::simplify::LinkedRing::remove
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedRing::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedRing.cpp:121,1
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:122,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedRing.cpp:124,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedRing.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::simplify::LinkedRing::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::closeRing
    - CoordinateSequence::CoordinateSequence
    - geos::simplify::LinkedRing::size
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedRing::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedRing::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createNextLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/LinkedRing.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (p_size>0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/geos/src/simplify/LinkedRing.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::simplify::LinkedRing::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createPrevLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedRing::size
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::LinkedRing::next
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::simplify::LinkedRing::prev
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '&

      LinkedRing::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedRing.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: '&

      LinkedRing::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/geos/src/simplify/LinkedRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: '&

      LinkedRing::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::nextCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: geos::simplify::LinkedRing::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedRing::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedRing::hasCoordinate(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::simplify::LinkedRing::remove
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedRing::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedRing.cpp:121,1
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:122,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedRing.cpp:124,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedRing.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::simplify::LinkedRing::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::closeRing
    - CoordinateSequence::CoordinateSequence
    - geos::simplify::LinkedRing::size
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedRing::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: geos::simplify::LinkedRing::createNextLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createNextLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/simplify/LinkedRing.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_size
    argTypes:
    - std::size_t
    assertStmts:
    - condition: (p_size>0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/geos/src/simplify/LinkedRing.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::simplify::LinkedRing::createPrevLinks
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: std::vector<std::size_t>
    signature: std::vector<std::size_t> LinkedRing::createPrevLinks(std::size_t p_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::simplify::LinkedRing::size
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: geos::simplify::LinkedRing::next
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::next(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: geos::simplify::LinkedRing::prev
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t LinkedRing::prev(std::size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '&

      LinkedRing::getCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::getCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prev
      Src: /src/geos/src/simplify/LinkedRing.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: '&

      LinkedRing::prevCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - prev
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::prevCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/geos/src/simplify/LinkedRing.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: '&

      LinkedRing::nextCoordinate(std::size_t index) const'
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      LinkedRing::nextCoordinate(std::size_t index) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: geos::simplify::LinkedRing::hasCoordinate
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - geos::simplify::LinkedRing::size
    linkageType: ''
    returnType: bool
    signature: bool LinkedRing::hasCoordinate(std::size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: geos::simplify::LinkedRing::remove
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinkedRing::remove(std::size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/simplify/LinkedRing.cpp:121,1
    - Dst: geos::simplify::LinkedRing::size
      Src: /src/geos/src/simplify/LinkedRing.cpp:122,1
    - Dst: std::unique_ptr::add
      Src: /src/geos/src/simplify/LinkedRing.cpp:124,1
    - Dst: std::unique_ptr::closeRing
      Src: /src/geos/src/simplify/LinkedRing.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::simplify::LinkedRing::getCoordinates
    functionSourceFile: /src/geos/src/simplify/LinkedRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::closeRing
    - CoordinateSequence::CoordinateSequence
    - geos::simplify::LinkedRing::size
    - std::unique_ptr::add
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> LinkedRing::getCoordinates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::LineSegmentVisitor::LineSegmentVisitor
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineSegmentVisitor(const LineSegment* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ~LineSegmentVisitor() override
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LineSegmentVisitor() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:75,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:76,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::simplify::LineSegmentVisitor::visitItem
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineSegment*>
    - push_back
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::simplify::LineSegmentVisitor::getItems
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> getItems()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSegments
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:96,1
    - Dst: geos::simplify::LineSegmentIndex::add
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - TaggedLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::LineSegmentIndex::add
    - getSegments
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const TaggedLineString& line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::Envelope
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:105,1
    - Dst: insert
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 1
    functionsReached:
    - insert
    - std::unique_ptr::get
    - Envelope::Envelope
    - push_back
    - std::move
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::remove
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: geos::simplify::LineSegmentIndex::remove
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 1
    functionsReached:
    - geos::simplify::LineSegmentIndex::remove
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::remove(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::query
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:132,1
    - Dst: LineSegmentVisitor::getItems
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - querySeg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: geos::simplify::LineSegmentIndex::query
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 1
    functionsReached:
    - LineSegmentVisitor::getItems
    - geos::simplify::LineSegmentIndex::query
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> LineSegmentIndex::query(const LineSegment*
      querySeg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::LineSegmentVisitor::LineSegmentVisitor
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineSegmentVisitor(const LineSegment* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ~LineSegmentVisitor() override
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LineSegmentVisitor() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:75,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:76,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::simplify::LineSegmentVisitor::visitItem
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineSegment*>
    - push_back
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::simplify::LineSegmentVisitor::getItems
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> getItems()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSegments
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:96,1
    - Dst: geos::simplify::LineSegmentIndex::add
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - TaggedLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::LineSegmentIndex::add
    - getSegments
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const TaggedLineString& line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::Envelope
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:105,1
    - Dst: insert
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 2
    functionsReached:
    - insert
    - std::unique_ptr::get
    - Envelope::Envelope
    - push_back
    - std::move
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::remove
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: geos::simplify::LineSegmentIndex::remove
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 2
    functionsReached:
    - geos::simplify::LineSegmentIndex::remove
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::remove(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::query
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:132,1
    - Dst: LineSegmentVisitor::getItems
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - querySeg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: geos::simplify::LineSegmentIndex::query
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 2
    functionsReached:
    - LineSegmentVisitor::getItems
    - geos::simplify::LineSegmentIndex::query
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> LineSegmentIndex::query(const LineSegment*
      querySeg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::LineSegmentVisitor::LineSegmentVisitor
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineSegmentVisitor(const LineSegment* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ~LineSegmentVisitor() override
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LineSegmentVisitor() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:75,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:76,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::simplify::LineSegmentVisitor::visitItem
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineSegment*>
    - push_back
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::simplify::LineSegmentVisitor::getItems
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> getItems()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSegments
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:96,1
    - Dst: geos::simplify::LineSegmentIndex::add
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - TaggedLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::LineSegmentIndex::add
    - getSegments
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const TaggedLineString& line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::Envelope
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:105,1
    - Dst: insert
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 3
    functionsReached:
    - insert
    - std::unique_ptr::get
    - Envelope::Envelope
    - push_back
    - std::move
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::remove
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: geos::simplify::LineSegmentIndex::remove
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 3
    functionsReached:
    - geos::simplify::LineSegmentIndex::remove
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::remove(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::query
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:132,1
    - Dst: LineSegmentVisitor::getItems
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - querySeg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: geos::simplify::LineSegmentIndex::query
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 3
    functionsReached:
    - LineSegmentVisitor::getItems
    - geos::simplify::LineSegmentIndex::query
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> LineSegmentIndex::query(const LineSegment*
      querySeg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::simplify::LineSegmentVisitor::LineSegmentVisitor
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LineSegmentVisitor(const LineSegment* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ~LineSegmentVisitor() override
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LineSegmentVisitor() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:75,1
    - Dst: geos::geom::Envelope::intersects
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:76,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: geos::simplify::LineSegmentVisitor::visitItem
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const LineSegment*>
    - push_back
    - geos::geom::Envelope::intersects
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: geos::simplify::LineSegmentVisitor::getItems
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> getItems()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSegments
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:96,1
    - Dst: geos::simplify::LineSegmentIndex::add
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - TaggedLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::LineSegmentIndex::add
    - getSegments
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const TaggedLineString& line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::Envelope
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:105,1
    - Dst: insert
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:109,1
    - Dst: push_back
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    - Dst: std::move
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: geos::simplify::LineSegmentIndex::add
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 4
    functionsReached:
    - insert
    - std::unique_ptr::get
    - Envelope::Envelope
    - push_back
    - std::move
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::add(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::remove
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    - Dst: const_cast<LineSegment*>
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: geos::simplify::LineSegmentIndex::remove
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 4
    functionsReached:
    - geos::simplify::LineSegmentIndex::remove
    - const_cast<LineSegment*>
    linkageType: ''
    returnType: void
    signature: void LineSegmentIndex::remove(const LineSegment* seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::simplify::LineSegmentIndex::query
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:132,1
    - Dst: LineSegmentVisitor::getItems
      Src: /src/geos/src/simplify/LineSegmentIndex.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - querySeg
    argTypes:
    - LineSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: geos::simplify::LineSegmentIndex::query
    functionSourceFile: /src/geos/src/simplify/LineSegmentIndex.cpp
    functionUses: 4
    functionsReached:
    - LineSegmentVisitor::getItems
    - geos::simplify::LineSegmentIndex::query
    linkageType: ''
    returnType: std::vector<const LineSegment*>
    signature: std::vector<const LineSegment*> LineSegmentIndex::query(const LineSegment*
      querySeg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeunit::zero
      Src: /src/geos/src/util/Profiler.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::util::Profile::Profile
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - timeunit::zero
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(std::string newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:36,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::util::Profile::getMax
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:42,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: geos::util::Profile::getMin
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::util::Profile::getAvg
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Profile::getAvg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:54,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::util::Profile::getTot
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getTot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: std::locale
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:63,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/util/Profiler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: geos::util::Profile::getTotFormatted
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    - count
    - std::stringstream::imbue
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Profile::getTotFormatted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/util/Profiler.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::util::Profile::getNumTimings
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Profile::getNumTimings() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:91,1
    - Dst: auto::start
      Src: /src/geos/src/util/Profiler.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: geos::util::Profiler::start
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - auto::start
    - geos::util::Profiler::get
    linkageType: ''
    returnType: void
    signature: void Profiler::start(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/util/Profiler.cpp:98,1
    - Dst: end
      Src: /src/geos/src/util/Profiler.cpp:99,1
    - Dst: auto::second::stop
      Src: /src/geos/src/util/Profiler.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::util::Profiler::stop
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - find
    - auto::second::stop
    - end
    linkageType: ''
    returnType: void
    signature: void Profiler::stop(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: Profile::Profile
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::util::Profiler::get
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - reset
    - Profile::Profile
    - geos::util::Profiler::get
    linkageType: ''
    returnType: Profile
    signature: 'Profile *

      Profiler::get(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::util::Profiler::instance
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Profiler
    signature: 'Profiler *

      Profiler::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumTimings
      Src: /src/geos/src/util/Profiler.cpp:128,1
    - Dst: getMin
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getMax
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getAvg
      Src: /src/geos/src/util/Profiler.cpp:130,1
    - Dst: getTot
      Src: /src/geos/src/util/Profiler.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: '&

      operator<< (std::ostream& os, const Profile& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - getTot
    - getMin
    - getNumTimings
    - getMax
    - getAvg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profile& prof)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profiler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: '&

      operator<< (std::ostream& os, const Profiler& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profiler& prof)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeunit::zero
      Src: /src/geos/src/util/Profiler.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::util::Profile::Profile
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - timeunit::zero
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(std::string newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:36,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::util::Profile::getMax
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:42,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: geos::util::Profile::getMin
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::util::Profile::getAvg
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Profile::getAvg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:54,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::util::Profile::getTot
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getTot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: std::locale
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:63,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/util/Profiler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: geos::util::Profile::getTotFormatted
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    - count
    - std::stringstream::imbue
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Profile::getTotFormatted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/util/Profiler.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::util::Profile::getNumTimings
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Profile::getNumTimings() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:91,1
    - Dst: auto::start
      Src: /src/geos/src/util/Profiler.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: geos::util::Profiler::start
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - auto::start
    - geos::util::Profiler::get
    linkageType: ''
    returnType: void
    signature: void Profiler::start(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/util/Profiler.cpp:98,1
    - Dst: end
      Src: /src/geos/src/util/Profiler.cpp:99,1
    - Dst: auto::second::stop
      Src: /src/geos/src/util/Profiler.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::util::Profiler::stop
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - find
    - auto::second::stop
    - end
    linkageType: ''
    returnType: void
    signature: void Profiler::stop(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: Profile::Profile
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::util::Profiler::get
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 4
    functionsReached:
    - reset
    - Profile::Profile
    - geos::util::Profiler::get
    linkageType: ''
    returnType: Profile
    signature: 'Profile *

      Profiler::get(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::util::Profiler::instance
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Profiler
    signature: 'Profiler *

      Profiler::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumTimings
      Src: /src/geos/src/util/Profiler.cpp:128,1
    - Dst: getMin
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getMax
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getAvg
      Src: /src/geos/src/util/Profiler.cpp:130,1
    - Dst: getTot
      Src: /src/geos/src/util/Profiler.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: '&

      operator<< (std::ostream& os, const Profile& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - getTot
    - getMin
    - getNumTimings
    - getMax
    - getAvg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profile& prof)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profiler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: '&

      operator<< (std::ostream& os, const Profiler& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profiler& prof)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeunit::zero
      Src: /src/geos/src/util/Profiler.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::util::Profile::Profile
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - timeunit::zero
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(std::string newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:36,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::util::Profile::getMax
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:42,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: geos::util::Profile::getMin
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::util::Profile::getAvg
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Profile::getAvg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:54,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::util::Profile::getTot
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getTot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: std::locale
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:63,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/util/Profiler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: geos::util::Profile::getTotFormatted
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    - count
    - std::stringstream::imbue
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Profile::getTotFormatted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/util/Profiler.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::util::Profile::getNumTimings
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Profile::getNumTimings() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:91,1
    - Dst: auto::start
      Src: /src/geos/src/util/Profiler.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: geos::util::Profiler::start
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - auto::start
    - geos::util::Profiler::get
    linkageType: ''
    returnType: void
    signature: void Profiler::start(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/util/Profiler.cpp:98,1
    - Dst: end
      Src: /src/geos/src/util/Profiler.cpp:99,1
    - Dst: auto::second::stop
      Src: /src/geos/src/util/Profiler.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::util::Profiler::stop
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - find
    - auto::second::stop
    - end
    linkageType: ''
    returnType: void
    signature: void Profiler::stop(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: Profile::Profile
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::util::Profiler::get
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 6
    functionsReached:
    - reset
    - Profile::Profile
    - geos::util::Profiler::get
    linkageType: ''
    returnType: Profile
    signature: 'Profile *

      Profiler::get(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::util::Profiler::instance
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Profiler
    signature: 'Profiler *

      Profiler::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumTimings
      Src: /src/geos/src/util/Profiler.cpp:128,1
    - Dst: getMin
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getMax
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getAvg
      Src: /src/geos/src/util/Profiler.cpp:130,1
    - Dst: getTot
      Src: /src/geos/src/util/Profiler.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: '&

      operator<< (std::ostream& os, const Profile& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - getTot
    - getMin
    - getNumTimings
    - getMax
    - getAvg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profile& prof)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profiler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: '&

      operator<< (std::ostream& os, const Profiler& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profiler& prof)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeunit::zero
      Src: /src/geos/src/util/Profiler.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newname
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: geos::util::Profile::Profile
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - timeunit::zero
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(std::string newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:36,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: geos::util::Profile::getMax
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:42,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: geos::util::Profile::getMin
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getMin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: geos::util::Profile::getAvg
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Profile::getAvg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/geos/src/util/Profiler.cpp:54,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: geos::util::Profile::getTot
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - count
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double Profile::getTot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: std::locale
      Src: /src/geos/src/util/Profiler.cpp:62,1
    - Dst: count
      Src: /src/geos/src/util/Profiler.cpp:63,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/util/Profiler.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: geos::util::Profile::getTotFormatted
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    - count
    - std::stringstream::imbue
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string Profile::getTotFormatted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/util/Profiler.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: geos::util::Profile::getNumTimings
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Profile::getNumTimings() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:91,1
    - Dst: auto::start
      Src: /src/geos/src/util/Profiler.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: geos::util::Profiler::start
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - auto::start
    - geos::util::Profiler::get
    linkageType: ''
    returnType: void
    signature: void Profiler::start(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/util/Profiler.cpp:98,1
    - Dst: end
      Src: /src/geos/src/util/Profiler.cpp:99,1
    - Dst: auto::second::stop
      Src: /src/geos/src/util/Profiler.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: geos::util::Profiler::stop
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 2
    functionsReached:
    - find
    - auto::second::stop
    - end
    linkageType: ''
    returnType: void
    signature: void Profiler::stop(std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: Profile::Profile
      Src: /src/geos/src/util/Profiler.cpp:111,1
    - Dst: geos::util::Profiler::get
      Src: /src/geos/src/util/Profiler.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: geos::util::Profiler::get
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 8
    functionsReached:
    - reset
    - Profile::Profile
    - geos::util::Profiler::get
    linkageType: ''
    returnType: Profile
    signature: 'Profile *

      Profiler::get(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: geos::util::Profiler::instance
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Profiler
    signature: 'Profiler *

      Profiler::instance()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumTimings
      Src: /src/geos/src/util/Profiler.cpp:128,1
    - Dst: getMin
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getMax
      Src: /src/geos/src/util/Profiler.cpp:129,1
    - Dst: getAvg
      Src: /src/geos/src/util/Profiler.cpp:130,1
    - Dst: getTot
      Src: /src/geos/src/util/Profiler.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: '&

      operator<< (std::ostream& os, const Profile& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached:
    - getTot
    - getMin
    - getNumTimings
    - getMax
    - getAvg
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profile& prof)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' prof'
    argTypes:
    - std::ostream
    - Profiler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: '&

      operator<< (std::ostream& os, const Profiler& prof)'
    functionSourceFile: /src/geos/src/util/Profiler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const Profiler& prof)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:32,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:35,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:43,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: geos::util::sym_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double sym_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:65,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:68,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:76,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: geos::util::java_math_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double java_math_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:97,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:100,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:103,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:108,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:111,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: geos::util::rint_vc
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double rint_vc(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - min
    - max
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: geos::util::clamp
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double clamp(double x, double min, double max)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:32,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:35,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:43,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: geos::util::sym_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double sym_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:65,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:68,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:76,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: geos::util::java_math_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double java_math_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:97,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:100,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:103,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:108,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:111,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: geos::util::rint_vc
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double rint_vc(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - min
    - max
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: geos::util::clamp
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double clamp(double x, double min, double max)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:32,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:35,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:43,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: geos::util::sym_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double sym_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:65,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:68,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:76,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: geos::util::java_math_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double java_math_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:97,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:100,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:103,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:108,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:111,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: geos::util::rint_vc
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double rint_vc(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - min
    - max
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: geos::util::clamp
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double clamp(double x, double min, double max)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:29,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:32,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:35,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:43,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: geos::util::sym_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double sym_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:61,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:65,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:68,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:76,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: geos::util::java_math_round
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double java_math_round(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::modf
      Src: /src/geos/src/util/math.cpp:94,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:97,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:100,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:103,1
    - Dst: std::ceil
      Src: /src/geos/src/util/math.cpp:108,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:111,1
    - Dst: std::floor
      Src: /src/geos/src/util/math.cpp:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: geos::util::rint_vc
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 0
    functionsReached:
    - std::ceil
    - std::fabs
    - std::floor
    - std::modf
    linkageType: ''
    returnType: double
    signature: double rint_vc(double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - min
    - max
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: geos::util::clamp
    functionSourceFile: /src/geos/src/util/math.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double clamp(double x, double min, double max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, const std::string & suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:33,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - suffix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - empty
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, char suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:45,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, const std::string & prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - prefix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, char prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: end
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: geos::util::toUpper
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - std::transform
    linkageType: ''
    returnType: void
    signature: void toUpper(std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, const std::string & suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:33,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - suffix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - empty
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, char suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:45,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, const std::string & prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - prefix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, char prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: end
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: geos::util::toUpper
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - std::transform
    linkageType: ''
    returnType: void
    signature: void toUpper(std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, const std::string & suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:33,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - suffix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - empty
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, char suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:45,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, const std::string & prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - prefix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, char prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: end
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: geos::util::toUpper
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - std::transform
    linkageType: ''
    returnType: void
    signature: void toUpper(std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:23,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:27,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, const std::string & suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:33,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - suffix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: geos::util::endsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - length
    - empty
    linkageType: ''
    returnType: bool
    signature: bool endsWith(const std::string & s, char suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:41,1
    - Dst: compare
      Src: /src/geos/src/util/string.cpp:45,1
    - Dst: length
      Src: /src/geos/src/util/string.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, const std::string & prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/string.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' s'
    - prefix
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: geos::util::startsWith
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool startsWith(const std::string & s, char prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: end
      Src: /src/geos/src/util/string.cpp:59,1
    - Dst: begin
      Src: /src/geos/src/util/string.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: geos::util::toUpper
    functionSourceFile: /src/geos/src/util/string.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - std::transform
    linkageType: ''
    returnType: void
    signature: void toUpper(std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::util::Interrupt::request
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::util::Interrupt::cancel
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::util::Interrupt::check
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interrupt::check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - Interrupt::Callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::util::Interrupt::registerCallback
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interrupt::Callback
    signature: 'Interrupt::Callback *

      Interrupt::registerCallback(Interrupt::Callback* cb)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Interrupt::interrupt
      Src: /src/geos/src/util/Interrupt.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::util::Interrupt::process
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached:
    - geos::util::Interrupt::interrupt
    linkageType: ''
    returnType: void
    signature: void Interrupt::process()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterruptedException
      Src: /src/geos/src/util/Interrupt.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::util::Interrupt::interrupt
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 1
    functionsReached:
    - InterruptedException
    linkageType: ''
    returnType: void
    signature: void Interrupt::interrupt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::util::Interrupt::request
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::util::Interrupt::cancel
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::util::Interrupt::check
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interrupt::check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - Interrupt::Callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::util::Interrupt::registerCallback
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interrupt::Callback
    signature: 'Interrupt::Callback *

      Interrupt::registerCallback(Interrupt::Callback* cb)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Interrupt::interrupt
      Src: /src/geos/src/util/Interrupt.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::util::Interrupt::process
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached:
    - geos::util::Interrupt::interrupt
    linkageType: ''
    returnType: void
    signature: void Interrupt::process()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterruptedException
      Src: /src/geos/src/util/Interrupt.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::util::Interrupt::interrupt
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 2
    functionsReached:
    - InterruptedException
    linkageType: ''
    returnType: void
    signature: void Interrupt::interrupt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::util::Interrupt::request
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::util::Interrupt::cancel
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::util::Interrupt::check
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interrupt::check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - Interrupt::Callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::util::Interrupt::registerCallback
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interrupt::Callback
    signature: 'Interrupt::Callback *

      Interrupt::registerCallback(Interrupt::Callback* cb)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Interrupt::interrupt
      Src: /src/geos/src/util/Interrupt.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::util::Interrupt::process
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached:
    - geos::util::Interrupt::interrupt
    linkageType: ''
    returnType: void
    signature: void Interrupt::process()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterruptedException
      Src: /src/geos/src/util/Interrupt.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::util::Interrupt::interrupt
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 3
    functionsReached:
    - InterruptedException
    linkageType: ''
    returnType: void
    signature: void Interrupt::interrupt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::util::Interrupt::request
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::util::Interrupt::cancel
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interrupt::cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::util::Interrupt::check
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interrupt::check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - Interrupt::Callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: geos::util::Interrupt::registerCallback
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Interrupt::Callback
    signature: 'Interrupt::Callback *

      Interrupt::registerCallback(Interrupt::Callback* cb)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::Interrupt::interrupt
      Src: /src/geos/src/util/Interrupt.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: geos::util::Interrupt::process
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 0
    functionsReached:
    - geos::util::Interrupt::interrupt
    linkageType: ''
    returnType: void
    signature: void Interrupt::process()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterruptedException
      Src: /src/geos/src/util/Interrupt.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: geos::util::Interrupt::interrupt
    functionSourceFile: /src/geos/src/util/Interrupt.cpp
    functionUses: 4
    functionsReached:
    - InterruptedException
    linkageType: ''
    returnType: void
    signature: void Interrupt::interrupt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::getPrecisionModel
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - factory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::util::GeometricShapeFactory::GeometricShapeFactory
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::GeometricShapeFactory(const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setBase
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' base'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::util::GeometricShapeFactory::setBase
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 1
    functionsReached:
    - geos::util::GeometricShapeFactory::setBase
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setBase(const CoordinateXY& base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setCentre
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::util::GeometricShapeFactory::setCentre
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 1
    functionsReached:
    - geos::util::GeometricShapeFactory::setCentre
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setCentre(const CoordinateXY& centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nNPts
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::util::GeometricShapeFactory::setNumPoints
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setNumPoints(uint32_t nNPts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setSize
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::util::GeometricShapeFactory::setSize
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 1
    functionsReached:
    - geos::util::GeometricShapeFactory::setSize
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::util::GeometricShapeFactory::setWidth
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 1
    functionsReached:
    - geos::util::GeometricShapeFactory::setWidth
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setWidth(double width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::util::GeometricShapeFactory::setHeight
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 1
    functionsReached:
    - geos::util::GeometricShapeFactory::setHeight
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setHeight(double height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:94,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:95,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:96,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:98,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:101,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:102,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:103,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:106,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:107,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:108,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:111,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:112,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:113,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:116,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:117,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:118,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 124
    functionName: geos::util::GeometricShapeFactory::createRectangle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getMaxY
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getMaxX
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createRectangle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:129,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:130,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:131,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:133,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:134,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:135,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:137,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:141,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:144,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: geos::util::GeometricShapeFactory::createCircle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createCircle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:155,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:156,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:157,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:159,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:160,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:161,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:169,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:173,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:176,1
    - Dst: createLineString
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: geos::util::GeometricShapeFactory::createArc
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - createLineString
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometricShapeFactory::createArc(double
      startAng, double angExtent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:185,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:186,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:187,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:189,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:190,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:191,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:199,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:201,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:204,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:207,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:209,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 214
    functionName: geos::util::GeometricShapeFactory::createArcPolygon
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createArcPolygon(double
      startAng, double angExtent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:218,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: GeometricShapeFactory::Dimensions::Dimensions()
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::Dimensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newBase'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: GeometricShapeFactory::Dimensions::setBase(const CoordinateXY& newBase)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setBase(const CoordinateXY&
      newBase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newCentre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: GeometricShapeFactory::Dimensions::setSize(double size)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: GeometricShapeFactory::Dimensions::setWidth(double nWidth)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setWidth(double nWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nHeight
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: GeometricShapeFactory::Dimensions::setHeight(double nHeight)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setHeight(double nHeight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:257,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:258,1
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:260,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:261,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: GeometricShapeFactory::Dimensions::getEnvelope() const
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - detail::make_unique<Envelope>
    linkageType: ''
    returnType: std::unique_ptr<Envelope>
    signature: std::unique_ptr<Envelope> GeometricShapeFactory::Dimensions::getEnvelope()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: geos::util::GeometricShapeFactory::coord
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 4
    functionsReached:
    - makePrecise
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY GeometricShapeFactory::coord(double x, double y) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::getPrecisionModel
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - factory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::util::GeometricShapeFactory::GeometricShapeFactory
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::GeometricShapeFactory(const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setBase
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' base'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::util::GeometricShapeFactory::setBase
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::util::GeometricShapeFactory::setBase
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setBase(const CoordinateXY& base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setCentre
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::util::GeometricShapeFactory::setCentre
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::util::GeometricShapeFactory::setCentre
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setCentre(const CoordinateXY& centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nNPts
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::util::GeometricShapeFactory::setNumPoints
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setNumPoints(uint32_t nNPts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setSize
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::util::GeometricShapeFactory::setSize
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::util::GeometricShapeFactory::setSize
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::util::GeometricShapeFactory::setWidth
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::util::GeometricShapeFactory::setWidth
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setWidth(double width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::util::GeometricShapeFactory::setHeight
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 2
    functionsReached:
    - geos::util::GeometricShapeFactory::setHeight
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setHeight(double height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:94,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:95,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:96,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:98,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:101,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:102,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:103,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:106,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:107,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:108,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:111,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:112,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:113,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:116,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:117,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:118,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 124
    functionName: geos::util::GeometricShapeFactory::createRectangle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getMaxY
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getMaxX
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createRectangle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:129,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:130,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:131,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:133,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:134,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:135,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:137,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:141,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:144,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: geos::util::GeometricShapeFactory::createCircle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createCircle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:155,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:156,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:157,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:159,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:160,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:161,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:169,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:173,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:176,1
    - Dst: createLineString
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: geos::util::GeometricShapeFactory::createArc
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - createLineString
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometricShapeFactory::createArc(double
      startAng, double angExtent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:185,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:186,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:187,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:189,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:190,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:191,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:199,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:201,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:204,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:207,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:209,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 214
    functionName: geos::util::GeometricShapeFactory::createArcPolygon
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createArcPolygon(double
      startAng, double angExtent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:218,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: GeometricShapeFactory::Dimensions::Dimensions()
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::Dimensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newBase'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: GeometricShapeFactory::Dimensions::setBase(const CoordinateXY& newBase)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setBase(const CoordinateXY&
      newBase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newCentre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: GeometricShapeFactory::Dimensions::setSize(double size)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: GeometricShapeFactory::Dimensions::setWidth(double nWidth)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setWidth(double nWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nHeight
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: GeometricShapeFactory::Dimensions::setHeight(double nHeight)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setHeight(double nHeight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:257,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:258,1
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:260,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:261,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: GeometricShapeFactory::Dimensions::getEnvelope() const
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - detail::make_unique<Envelope>
    linkageType: ''
    returnType: std::unique_ptr<Envelope>
    signature: std::unique_ptr<Envelope> GeometricShapeFactory::Dimensions::getEnvelope()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: geos::util::GeometricShapeFactory::coord
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 8
    functionsReached:
    - makePrecise
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY GeometricShapeFactory::coord(double x, double y) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::getPrecisionModel
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - factory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::util::GeometricShapeFactory::GeometricShapeFactory
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::GeometricShapeFactory(const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setBase
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' base'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::util::GeometricShapeFactory::setBase
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 3
    functionsReached:
    - geos::util::GeometricShapeFactory::setBase
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setBase(const CoordinateXY& base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setCentre
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::util::GeometricShapeFactory::setCentre
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 3
    functionsReached:
    - geos::util::GeometricShapeFactory::setCentre
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setCentre(const CoordinateXY& centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nNPts
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::util::GeometricShapeFactory::setNumPoints
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setNumPoints(uint32_t nNPts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setSize
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::util::GeometricShapeFactory::setSize
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 3
    functionsReached:
    - geos::util::GeometricShapeFactory::setSize
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::util::GeometricShapeFactory::setWidth
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 3
    functionsReached:
    - geos::util::GeometricShapeFactory::setWidth
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setWidth(double width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::util::GeometricShapeFactory::setHeight
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 3
    functionsReached:
    - geos::util::GeometricShapeFactory::setHeight
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setHeight(double height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:94,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:95,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:96,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:98,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:101,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:102,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:103,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:106,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:107,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:108,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:111,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:112,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:113,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:116,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:117,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:118,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 124
    functionName: geos::util::GeometricShapeFactory::createRectangle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getMaxY
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getMaxX
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createRectangle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:129,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:130,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:131,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:133,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:134,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:135,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:137,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:141,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:144,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: geos::util::GeometricShapeFactory::createCircle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createCircle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:155,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:156,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:157,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:159,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:160,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:161,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:169,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:173,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:176,1
    - Dst: createLineString
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: geos::util::GeometricShapeFactory::createArc
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - createLineString
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometricShapeFactory::createArc(double
      startAng, double angExtent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:185,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:186,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:187,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:189,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:190,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:191,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:199,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:201,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:204,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:207,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:209,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 214
    functionName: geos::util::GeometricShapeFactory::createArcPolygon
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createArcPolygon(double
      startAng, double angExtent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:218,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: GeometricShapeFactory::Dimensions::Dimensions()
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::Dimensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newBase'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: GeometricShapeFactory::Dimensions::setBase(const CoordinateXY& newBase)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setBase(const CoordinateXY&
      newBase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newCentre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: GeometricShapeFactory::Dimensions::setSize(double size)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: GeometricShapeFactory::Dimensions::setWidth(double nWidth)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setWidth(double nWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nHeight
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: GeometricShapeFactory::Dimensions::setHeight(double nHeight)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setHeight(double nHeight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:257,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:258,1
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:260,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:261,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: GeometricShapeFactory::Dimensions::getEnvelope() const
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - detail::make_unique<Envelope>
    linkageType: ''
    returnType: std::unique_ptr<Envelope>
    signature: std::unique_ptr<Envelope> GeometricShapeFactory::Dimensions::getEnvelope()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: geos::util::GeometricShapeFactory::coord
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 12
    functionsReached:
    - makePrecise
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY GeometricShapeFactory::coord(double x, double y) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryFactory*::getPrecisionModel
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - factory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: geos::util::GeometricShapeFactory::GeometricShapeFactory
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - GeometryFactory*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::GeometricShapeFactory(const GeometryFactory*
      factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setBase
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' base'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geos::util::GeometricShapeFactory::setBase
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 4
    functionsReached:
    - geos::util::GeometricShapeFactory::setBase
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setBase(const CoordinateXY& base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setCentre
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' centre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: geos::util::GeometricShapeFactory::setCentre
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 4
    functionsReached:
    - geos::util::GeometricShapeFactory::setCentre
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setCentre(const CoordinateXY& centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nNPts
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::util::GeometricShapeFactory::setNumPoints
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setNumPoints(uint32_t nNPts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setSize
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: geos::util::GeometricShapeFactory::setSize
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 4
    functionsReached:
    - geos::util::GeometricShapeFactory::setSize
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: geos::util::GeometricShapeFactory::setWidth
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 4
    functionsReached:
    - geos::util::GeometricShapeFactory::setWidth
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setWidth(double width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::GeometricShapeFactory::setHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: geos::util::GeometricShapeFactory::setHeight
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 4
    functionsReached:
    - geos::util::GeometricShapeFactory::setHeight
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::setHeight(double height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:94,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:95,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:96,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:98,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:101,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:102,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:103,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:106,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:107,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:108,1
    - Dst: std::unique_ptr::getMaxX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:111,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:112,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:113,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:116,1
    - Dst: std::unique_ptr::getMaxY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:117,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:118,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:121,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 124
    functionName: geos::util::GeometricShapeFactory::createRectangle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getMaxY
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getMaxX
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createRectangle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:129,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:130,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:131,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:133,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:134,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:135,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:137,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:141,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:144,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:147,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: geos::util::GeometricShapeFactory::createCircle
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createCircle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:155,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:156,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:157,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:159,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:160,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:161,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:169,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:173,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:176,1
    - Dst: createLineString
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: geos::util::GeometricShapeFactory::createArc
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - detail::make_unique<CoordinateSequence>
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - createLineString
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> GeometricShapeFactory::createArc(double
      startAng, double angExtent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getEnvelope
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:185,1
    - Dst: std::unique_ptr::getWidth
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:186,1
    - Dst: std::unique_ptr::getHeight
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:187,1
    - Dst: std::unique_ptr::getMinX
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:189,1
    - Dst: std::unique_ptr::getMinY
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:190,1
    - Dst: std::unique_ptr::reset
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:191,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:199,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:201,1
    - Dst: geos::algorithm::sinCosSnap
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:204,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:207,1
    - Dst: geos::util::GeometricShapeFactory::coord
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:209,1
    - Dst: createLinearRing
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:211,1
    - Dst: createPolygon
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    - Dst: std::move
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - startAng
    - angExtent
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 214
    functionName: geos::util::GeometricShapeFactory::createArcPolygon
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getHeight
    - getEnvelope
    - std::unique_ptr::reset
    - std::unique_ptr::getMinY
    - createPolygon
    - detail::make_unique<CoordinateSequence>
    - createLinearRing
    - std::unique_ptr::getWidth
    - std::move
    - geos::algorithm::sinCosSnap
    - std::unique_ptr::getMinX
    - geos::util::GeometricShapeFactory::coord
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> GeometricShapeFactory::createArcPolygon(double
      startAng, double angExtent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:218,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: GeometricShapeFactory::Dimensions::Dimensions()
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::Dimensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newBase'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: GeometricShapeFactory::Dimensions::setBase(const CoordinateXY& newBase)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setBase(const CoordinateXY&
      newBase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newCentre'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setCentre(const CoordinateXY&
      newCentre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: GeometricShapeFactory::Dimensions::setSize(double size)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setSize(double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: GeometricShapeFactory::Dimensions::setWidth(double nWidth)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setWidth(double nWidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nHeight
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: GeometricShapeFactory::Dimensions::setHeight(double nHeight)
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometricShapeFactory::Dimensions::setHeight(double nHeight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:257,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:258,1
    - Dst: isNull
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:260,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:261,1
    - Dst: detail::make_unique<Envelope>
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: GeometricShapeFactory::Dimensions::getEnvelope() const
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - detail::make_unique<Envelope>
    linkageType: ''
    returnType: std::unique_ptr<Envelope>
    signature: std::unique_ptr<Envelope> GeometricShapeFactory::Dimensions::getEnvelope()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makePrecise
      Src: /src/geos/src/util/GeometricShapeFactory.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: geos::util::GeometricShapeFactory::coord
    functionSourceFile: /src/geos/src/util/GeometricShapeFactory.cpp
    functionUses: 16
    functionsReached:
    - makePrecise
    linkageType: ''
    returnType: CoordinateXY
    signature: CoordinateXY GeometricShapeFactory::coord(double x, double y) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:31,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:32,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - assertion
    - ' message'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: geos::util::Assert::isTrue
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::isTrue(bool assertion, const std::string& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:46,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' expectedValue'
    - ' actualValue'
    - ' message'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: geos::util::Assert::equals
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - toString
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: "void Assert::equals(const CoordinateXY& expectedValue,\n               const
      CoordinateXY& actualValue, const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:54,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: geos::util::Assert::shouldNeverReachHere
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 12
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::shouldNeverReachHere(const std::string& message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:31,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:32,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - assertion
    - ' message'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: geos::util::Assert::isTrue
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::isTrue(bool assertion, const std::string& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:46,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' expectedValue'
    - ' actualValue'
    - ' message'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: geos::util::Assert::equals
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - toString
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: "void Assert::equals(const CoordinateXY& expectedValue,\n               const
      CoordinateXY& actualValue, const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:54,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: geos::util::Assert::shouldNeverReachHere
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 12
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::shouldNeverReachHere(const std::string& message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:31,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:32,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - assertion
    - ' message'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: geos::util::Assert::isTrue
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::isTrue(bool assertion, const std::string& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:46,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' expectedValue'
    - ' actualValue'
    - ' message'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: geos::util::Assert::equals
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - toString
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: "void Assert::equals(const CoordinateXY& expectedValue,\n               const
      CoordinateXY& actualValue, const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:54,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: geos::util::Assert::shouldNeverReachHere
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 12
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::shouldNeverReachHere(const std::string& message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:31,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:32,1
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - assertion
    - ' message'
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: geos::util::Assert::isTrue
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::isTrue(bool assertion, const std::string& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:45,1
    - Dst: toString
      Src: /src/geos/src/util/Assert.cpp:46,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' expectedValue'
    - ' actualValue'
    - ' message'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: geos::util::Assert::equals
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 0
    functionsReached:
    - toString
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: "void Assert::equals(const CoordinateXY& expectedValue,\n               const
      CoordinateXY& actualValue, const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AssertionFailedException
      Src: /src/geos/src/util/Assert.cpp:54,1
    - Dst: empty
      Src: /src/geos/src/util/Assert.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: geos::util::Assert::shouldNeverReachHere
    functionSourceFile: /src/geos/src/util/Assert.cpp
    functionUses: 12
    functionsReached:
    - AssertionFailedException
    - empty
    linkageType: ''
    returnType: void
    signature: void Assert::shouldNeverReachHere(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:94,1
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::ScaledNoder::Scaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const Scaler& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& operator=(const Scaler& rhs)'
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scaler
    signature: Scaler & operator=(const Scaler& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::noding::ScaledNoder::ReScaler::ReScaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReScaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/ScaledNoder.cpp:119,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::noding::ScaledNoder::ReScaler::filter_ro
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: geos::noding::ScaledNoder::ReScaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: geos::noding::ScaledNoder::rescale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::rescale(SegmentString::NonConstVect& segStrings)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/ScaledNoder.cpp:158,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:161,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:164,1
    - Dst: CoordinateSequence*::apply_rw
      Src: /src/geos/src/noding/ScaledNoder.cpp:166,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/noding/ScaledNoder.cpp:171,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/noding/ScaledNoder.cpp:172,1
    - Dst: auto::release
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (cs->size() == npts)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: geos::noding::ScaledNoder::scale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    - SegmentString*::getCoordinates
    - CoordinateSequence*::apply_rw
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - assert
    - SegmentString*::getData
    - CoordinateSequence*::size
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::scale(SegmentString::NonConstVect& segStrings) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: ScaledNoder::~ScaledNoder()
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::~ScaledNoder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ScaledNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ScaledNoder.cpp:194,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:197,1
    - Dst: geos::noding::ScaledNoder::rescale
      Src: /src/geos/src/noding/ScaledNoder.cpp:201,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: geos::noding::ScaledNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::ScaledNoder::getNodedSubstrings
    - geos::noding::ScaledNoder::rescale
    - sqlPrint
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: 'SegmentString::NonConstVect *

      ScaledNoder::getNodedSubstrings() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:218,1
    - Dst: geos::noding::ScaledNoder::scale
      Src: /src/geos/src/noding/ScaledNoder.cpp:222,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:226,1
    - Dst: geos::noding::ScaledNoder::computeNodes
      Src: /src/geos/src/noding/ScaledNoder.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - inputSegStr
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: geos::noding::ScaledNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::ScaledNoder::computeNodes
    - sqlPrint
    - geos::noding::ScaledNoder::scale
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::computeNodes(SegmentString::NonConstVect* inputSegStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:94,1
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::ScaledNoder::Scaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const Scaler& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& operator=(const Scaler& rhs)'
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scaler
    signature: Scaler & operator=(const Scaler& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::noding::ScaledNoder::ReScaler::ReScaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReScaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/ScaledNoder.cpp:119,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::noding::ScaledNoder::ReScaler::filter_ro
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: geos::noding::ScaledNoder::ReScaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: geos::noding::ScaledNoder::rescale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 1
    functionsReached:
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::rescale(SegmentString::NonConstVect& segStrings)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/ScaledNoder.cpp:158,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:161,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:164,1
    - Dst: CoordinateSequence*::apply_rw
      Src: /src/geos/src/noding/ScaledNoder.cpp:166,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/noding/ScaledNoder.cpp:171,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/noding/ScaledNoder.cpp:172,1
    - Dst: auto::release
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (cs->size() == npts)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: geos::noding::ScaledNoder::scale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 1
    functionsReached:
    - size
    - SegmentString*::getCoordinates
    - CoordinateSequence*::apply_rw
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - assert
    - SegmentString*::getData
    - CoordinateSequence*::size
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::scale(SegmentString::NonConstVect& segStrings) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: ScaledNoder::~ScaledNoder()
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::~ScaledNoder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ScaledNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ScaledNoder.cpp:194,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:197,1
    - Dst: geos::noding::ScaledNoder::rescale
      Src: /src/geos/src/noding/ScaledNoder.cpp:201,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: geos::noding::ScaledNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::ScaledNoder::getNodedSubstrings
    - geos::noding::ScaledNoder::rescale
    - sqlPrint
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: 'SegmentString::NonConstVect *

      ScaledNoder::getNodedSubstrings() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:218,1
    - Dst: geos::noding::ScaledNoder::scale
      Src: /src/geos/src/noding/ScaledNoder.cpp:222,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:226,1
    - Dst: geos::noding::ScaledNoder::computeNodes
      Src: /src/geos/src/noding/ScaledNoder.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - inputSegStr
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: geos::noding::ScaledNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::ScaledNoder::computeNodes
    - sqlPrint
    - geos::noding::ScaledNoder::scale
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::computeNodes(SegmentString::NonConstVect* inputSegStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:94,1
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::ScaledNoder::Scaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const Scaler& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& operator=(const Scaler& rhs)'
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scaler
    signature: Scaler & operator=(const Scaler& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::noding::ScaledNoder::ReScaler::ReScaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReScaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/ScaledNoder.cpp:119,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::noding::ScaledNoder::ReScaler::filter_ro
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: geos::noding::ScaledNoder::ReScaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: geos::noding::ScaledNoder::rescale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 2
    functionsReached:
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::rescale(SegmentString::NonConstVect& segStrings)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/ScaledNoder.cpp:158,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:161,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:164,1
    - Dst: CoordinateSequence*::apply_rw
      Src: /src/geos/src/noding/ScaledNoder.cpp:166,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/noding/ScaledNoder.cpp:171,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/noding/ScaledNoder.cpp:172,1
    - Dst: auto::release
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (cs->size() == npts)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: geos::noding::ScaledNoder::scale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 2
    functionsReached:
    - size
    - SegmentString*::getCoordinates
    - CoordinateSequence*::apply_rw
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - assert
    - SegmentString*::getData
    - CoordinateSequence*::size
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::scale(SegmentString::NonConstVect& segStrings) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: ScaledNoder::~ScaledNoder()
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::~ScaledNoder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ScaledNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ScaledNoder.cpp:194,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:197,1
    - Dst: geos::noding::ScaledNoder::rescale
      Src: /src/geos/src/noding/ScaledNoder.cpp:201,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: geos::noding::ScaledNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::ScaledNoder::getNodedSubstrings
    - geos::noding::ScaledNoder::rescale
    - sqlPrint
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: 'SegmentString::NonConstVect *

      ScaledNoder::getNodedSubstrings() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:218,1
    - Dst: geos::noding::ScaledNoder::scale
      Src: /src/geos/src/noding/ScaledNoder.cpp:222,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:226,1
    - Dst: geos::noding::ScaledNoder::computeNodes
      Src: /src/geos/src/noding/ScaledNoder.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - inputSegStr
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: geos::noding::ScaledNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::ScaledNoder::computeNodes
    - sqlPrint
    - geos::noding::ScaledNoder::scale
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::computeNodes(SegmentString::NonConstVect* inputSegStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:62,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:64,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' table'
    - ' ssv'
    argTypes:
    - std::string
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (cs)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: geos::noding::sqlPrint
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::noding::size
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void sqlPrint(const std::string& table, std::vector<SegmentString*>&
      ssv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:94,1
    - Dst: geos::util::round
      Src: /src/geos/src/noding/ScaledNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::ScaledNoder::Scaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::round
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: geos::noding::ScaledNoder::Scaler::Scaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scaler(const Scaler& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& operator=(const Scaler& rhs)'
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scaler
    signature: Scaler & operator=(const Scaler& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - ScaledNoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: geos::noding::ScaledNoder::ReScaler::ReScaler
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReScaler(const ScaledNoder& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/ScaledNoder.cpp:119,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: geos::noding::ScaledNoder::ReScaler::filter_ro
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - assert
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::CoordinateXY* c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - geom::CoordinateXY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: geos::noding::ScaledNoder::ReScaler::filter_rw
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_rw(geom::CoordinateXY* c) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:142,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: geos::noding::ScaledNoder::rescale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 3
    functionsReached:
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::rescale(SegmentString::NonConstVect& segStrings)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/ScaledNoder.cpp:158,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/ScaledNoder.cpp:161,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:164,1
    - Dst: CoordinateSequence*::apply_rw
      Src: /src/geos/src/noding/ScaledNoder.cpp:166,1
    - Dst: assert
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/ScaledNoder.cpp:167,1
    - Dst: operation::valid::RepeatedPointTester::hasRepeatedPoint
      Src: /src/geos/src/noding/ScaledNoder.cpp:171,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/noding/ScaledNoder.cpp:172,1
    - Dst: auto::release
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/ScaledNoder.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (cs->size() == npts)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/geos/src/noding/ScaledNoder.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: geos::noding::ScaledNoder::scale
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 3
    functionsReached:
    - size
    - SegmentString*::getCoordinates
    - CoordinateSequence*::apply_rw
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - auto::release
    - assert
    - SegmentString*::getData
    - CoordinateSequence*::size
    - operation::valid::RepeatedPointTester::hasRepeatedPoint
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::scale(SegmentString::NonConstVect& segStrings) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    - Dst: end
      Src: /src/geos/src/noding/ScaledNoder.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: ScaledNoder::~ScaledNoder()
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::~ScaledNoder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ScaledNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ScaledNoder.cpp:194,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:197,1
    - Dst: geos::noding::ScaledNoder::rescale
      Src: /src/geos/src/noding/ScaledNoder.cpp:201,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: geos::noding::ScaledNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::ScaledNoder::getNodedSubstrings
    - geos::noding::ScaledNoder::rescale
    - sqlPrint
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: 'SegmentString::NonConstVect *

      ScaledNoder::getNodedSubstrings() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:218,1
    - Dst: geos::noding::ScaledNoder::scale
      Src: /src/geos/src/noding/ScaledNoder.cpp:222,1
    - Dst: sqlPrint
      Src: /src/geos/src/noding/ScaledNoder.cpp:226,1
    - Dst: geos::noding::ScaledNoder::computeNodes
      Src: /src/geos/src/noding/ScaledNoder.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - inputSegStr
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: geos::noding::ScaledNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ScaledNoder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::ScaledNoder::computeNodes
    - sqlPrint
    - geos::noding::ScaledNoder::scale
    linkageType: ''
    returnType: void
    signature: void ScaledNoder::computeNodes(SegmentString::NonConstVect* inputSegStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryNoder::getNoded
      Src: /src/geos/src/noding/GeometryNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::noding::GeometryNoder::node
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - GeometryNoder::getNoded
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::node(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/noding/GeometryNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::GeometryNoder::GeometryNoder
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryNoder::GeometryNoder(const geom::Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:102,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: size
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:110,1
    - Dst: std::set::insert
      Src: /src/geos/src/noding/GeometryNoder.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::CoordinateSequence*::clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createMultiLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' nodedEdges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: geos::noding::GeometryNoder::toGeometry
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - std::move
    - std::vector::reserve
    - getCoordinates
    - size
    - geom::GeometryFactory*::createLineString
    - std::set::insert
    - geom::GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - geom::CoordinateSequence*::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::toGeometry(SegmentString::NonConstVect&
      nodedEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/noding/GeometryNoder.cpp:127,1
    - Dst: clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:128,1
    - Dst: geos::noding::GeometryNoder::extractSegmentStrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:130,1
    - Dst: getNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:132,1
    - Dst: computeNodes
      Src: /src/geos/src/noding/GeometryNoder.cpp:136,1
    - Dst: getNodedSubstrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:137,1
    - Dst: SegmentString::NonConstVect::size
      Src: /src/geos/src/noding/GeometryNoder.cpp:140,1
    - Dst: geos::noding::GeometryNoder::toGeometry
      Src: /src/geos/src/noding/GeometryNoder.cpp:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: geos::noding::GeometryNoder::getNoded
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString::NonConstVect::size
    - getNodedSubstrings
    - geos::noding::GeometryNoder::extractSegmentStrings
    - computeNodes
    - isEmpty
    - geos::noding::GeometryNoder::toGeometry
    - getNoder
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::getNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: hasM
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: apply_ro
      Src: /src/geos/src/noding/GeometryNoder.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' to'
    argTypes:
    - geom::Geometry
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: geos::noding::GeometryNoder::extractSegmentStrings
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 1
    functionsReached:
    - hasM
    - hasZ
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void GeometryNoder::extractSegmentStrings(const geom::Geometry& g,\n
      \                                    SegmentString::NonConstVect& to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/GeometryNoder.cpp:173,1
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:174,1
    - Dst: IteratedNoder::IteratedNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:175,1
    - Dst: reset
      Src: /src/geos/src/noding/GeometryNoder.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: '&

      GeometryNoder::getNoder()'
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getFactory
    - IteratedNoder::IteratedNoder
    - get
    linkageType: ''
    returnType: Noder
    signature: 'Noder &

      GeometryNoder::getNoder()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryNoder::getNoded
      Src: /src/geos/src/noding/GeometryNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::noding::GeometryNoder::node
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - GeometryNoder::getNoded
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::node(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/noding/GeometryNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::GeometryNoder::GeometryNoder
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryNoder::GeometryNoder(const geom::Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:102,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: size
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:110,1
    - Dst: std::set::insert
      Src: /src/geos/src/noding/GeometryNoder.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::CoordinateSequence*::clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createMultiLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' nodedEdges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: geos::noding::GeometryNoder::toGeometry
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 1
    functionsReached:
    - getFactory
    - std::move
    - std::vector::reserve
    - getCoordinates
    - size
    - geom::GeometryFactory*::createLineString
    - std::set::insert
    - geom::GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - geom::CoordinateSequence*::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::toGeometry(SegmentString::NonConstVect&
      nodedEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/noding/GeometryNoder.cpp:127,1
    - Dst: clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:128,1
    - Dst: geos::noding::GeometryNoder::extractSegmentStrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:130,1
    - Dst: getNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:132,1
    - Dst: computeNodes
      Src: /src/geos/src/noding/GeometryNoder.cpp:136,1
    - Dst: getNodedSubstrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:137,1
    - Dst: SegmentString::NonConstVect::size
      Src: /src/geos/src/noding/GeometryNoder.cpp:140,1
    - Dst: geos::noding::GeometryNoder::toGeometry
      Src: /src/geos/src/noding/GeometryNoder.cpp:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: geos::noding::GeometryNoder::getNoded
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString::NonConstVect::size
    - getNodedSubstrings
    - geos::noding::GeometryNoder::extractSegmentStrings
    - computeNodes
    - isEmpty
    - geos::noding::GeometryNoder::toGeometry
    - getNoder
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::getNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: hasM
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: apply_ro
      Src: /src/geos/src/noding/GeometryNoder.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' to'
    argTypes:
    - geom::Geometry
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: geos::noding::GeometryNoder::extractSegmentStrings
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 2
    functionsReached:
    - hasM
    - hasZ
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void GeometryNoder::extractSegmentStrings(const geom::Geometry& g,\n
      \                                    SegmentString::NonConstVect& to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/GeometryNoder.cpp:173,1
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:174,1
    - Dst: IteratedNoder::IteratedNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:175,1
    - Dst: reset
      Src: /src/geos/src/noding/GeometryNoder.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: '&

      GeometryNoder::getNoder()'
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getFactory
    - IteratedNoder::IteratedNoder
    - get
    linkageType: ''
    returnType: Noder
    signature: 'Noder &

      GeometryNoder::getNoder()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryNoder::getNoded
      Src: /src/geos/src/noding/GeometryNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::noding::GeometryNoder::node
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - GeometryNoder::getNoded
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::node(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/noding/GeometryNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::GeometryNoder::GeometryNoder
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryNoder::GeometryNoder(const geom::Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:102,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: size
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:110,1
    - Dst: std::set::insert
      Src: /src/geos/src/noding/GeometryNoder.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::CoordinateSequence*::clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createMultiLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' nodedEdges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: geos::noding::GeometryNoder::toGeometry
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 2
    functionsReached:
    - getFactory
    - std::move
    - std::vector::reserve
    - getCoordinates
    - size
    - geom::GeometryFactory*::createLineString
    - std::set::insert
    - geom::GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - geom::CoordinateSequence*::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::toGeometry(SegmentString::NonConstVect&
      nodedEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/noding/GeometryNoder.cpp:127,1
    - Dst: clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:128,1
    - Dst: geos::noding::GeometryNoder::extractSegmentStrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:130,1
    - Dst: getNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:132,1
    - Dst: computeNodes
      Src: /src/geos/src/noding/GeometryNoder.cpp:136,1
    - Dst: getNodedSubstrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:137,1
    - Dst: SegmentString::NonConstVect::size
      Src: /src/geos/src/noding/GeometryNoder.cpp:140,1
    - Dst: geos::noding::GeometryNoder::toGeometry
      Src: /src/geos/src/noding/GeometryNoder.cpp:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: geos::noding::GeometryNoder::getNoded
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString::NonConstVect::size
    - getNodedSubstrings
    - geos::noding::GeometryNoder::extractSegmentStrings
    - computeNodes
    - isEmpty
    - geos::noding::GeometryNoder::toGeometry
    - getNoder
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::getNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: hasM
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: apply_ro
      Src: /src/geos/src/noding/GeometryNoder.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' to'
    argTypes:
    - geom::Geometry
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: geos::noding::GeometryNoder::extractSegmentStrings
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 3
    functionsReached:
    - hasM
    - hasZ
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void GeometryNoder::extractSegmentStrings(const geom::Geometry& g,\n
      \                                    SegmentString::NonConstVect& to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/GeometryNoder.cpp:173,1
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:174,1
    - Dst: IteratedNoder::IteratedNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:175,1
    - Dst: reset
      Src: /src/geos/src/noding/GeometryNoder.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: '&

      GeometryNoder::getNoder()'
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getFactory
    - IteratedNoder::IteratedNoder
    - get
    linkageType: ''
    returnType: Noder
    signature: 'Noder &

      GeometryNoder::getNoder()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' to'
    - constructZ
    - constructM
    argTypes:
    - SegmentString::NonConstVect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: geos::noding::SegmentStringExtractor::SegmentStringExtractor
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentStringExtractor(SegmentString::NonConstVect& to,\n                           bool
      constructZ,\n                           bool constructM)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const geom::LineString*>
      Src: /src/geos/src/noding/GeometryNoder.cpp:62,1
    - Dst: geom::LineString*::getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:64,1
    - Dst: auto::release
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/GeometryNoder.cpp:66,1
    - Dst: push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: geos::noding::SegmentStringExtractor::filter_ro
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - auto::release
    - geom::LineString*::getCoordinates
    - dynamic_cast<const geom::LineString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: void filter_ro(const geom::Geometry* g) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryNoder::getNoded
      Src: /src/geos/src/noding/GeometryNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: geos::noding::GeometryNoder::node
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - GeometryNoder::getNoded
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::node(const geom::Geometry&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/noding/GeometryNoder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: geos::noding::GeometryNoder::GeometryNoder
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void GeometryNoder::GeometryNoder(const geom::Geometry& g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:102,1
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: size
      Src: /src/geos/src/noding/GeometryNoder.cpp:108,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/GeometryNoder.cpp:110,1
    - Dst: std::set::insert
      Src: /src/geos/src/noding/GeometryNoder.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::CoordinateSequence*::clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:115,1
    - Dst: geom::GeometryFactory*::createMultiLineString
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    - Dst: std::move
      Src: /src/geos/src/noding/GeometryNoder.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' nodedEdges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: geos::noding::GeometryNoder::toGeometry
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 3
    functionsReached:
    - getFactory
    - std::move
    - std::vector::reserve
    - getCoordinates
    - size
    - geom::GeometryFactory*::createLineString
    - std::set::insert
    - geom::GeometryFactory*::createMultiLineString
    - std::vector::push_back
    - geom::CoordinateSequence*::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::toGeometry(SegmentString::NonConstVect&
      nodedEdges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/noding/GeometryNoder.cpp:127,1
    - Dst: clone
      Src: /src/geos/src/noding/GeometryNoder.cpp:128,1
    - Dst: geos::noding::GeometryNoder::extractSegmentStrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:130,1
    - Dst: getNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:132,1
    - Dst: computeNodes
      Src: /src/geos/src/noding/GeometryNoder.cpp:136,1
    - Dst: getNodedSubstrings
      Src: /src/geos/src/noding/GeometryNoder.cpp:137,1
    - Dst: SegmentString::NonConstVect::size
      Src: /src/geos/src/noding/GeometryNoder.cpp:140,1
    - Dst: geos::noding::GeometryNoder::toGeometry
      Src: /src/geos/src/noding/GeometryNoder.cpp:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: geos::noding::GeometryNoder::getNoded
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString::NonConstVect::size
    - getNodedSubstrings
    - geos::noding::GeometryNoder::extractSegmentStrings
    - computeNodes
    - isEmpty
    - geos::noding::GeometryNoder::toGeometry
    - getNoder
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> GeometryNoder::getNoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasZ
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: hasM
      Src: /src/geos/src/noding/GeometryNoder.cpp:165,1
    - Dst: apply_ro
      Src: /src/geos/src/noding/GeometryNoder.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' to'
    argTypes:
    - geom::Geometry
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: geos::noding::GeometryNoder::extractSegmentStrings
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 4
    functionsReached:
    - hasM
    - hasZ
    - apply_ro
    linkageType: ''
    returnType: void
    signature: "void GeometryNoder::extractSegmentStrings(const geom::Geometry& g,\n
      \                                    SegmentString::NonConstVect& to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/GeometryNoder.cpp:173,1
    - Dst: getFactory
      Src: /src/geos/src/noding/GeometryNoder.cpp:174,1
    - Dst: IteratedNoder::IteratedNoder
      Src: /src/geos/src/noding/GeometryNoder.cpp:175,1
    - Dst: reset
      Src: /src/geos/src/noding/GeometryNoder.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: '&

      GeometryNoder::getNoder()'
    functionSourceFile: /src/geos/src/noding/GeometryNoder.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getFactory
    - IteratedNoder::IteratedNoder
    - get
    linkageType: ''
    returnType: Noder
    signature: 'Noder &

      GeometryNoder::getNoder()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:34,1
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::noding::SegmentExtractingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::computeNodes(\n    std::vector<SegmentString*>*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' inputSegs'
    - ' outputSegs'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n    const std::vector<SegmentString*>&
      inputSegs,\n    std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:58,1
    - Dst: dynamic_cast<const NodedSegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:60,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:64,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:65,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:66,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:67,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ss
    - ' outputSegs'
    argTypes:
    - SegmentString*
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - CoordinateSequence*::hasZ
    - SegmentString*::getCoordinates
    - auto::reserve
    - NodedSegmentString*::getNodeList
    - push_back
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - CoordinateSequence*::getSize
    - auto::release
    - std::unique_ptr::release
    - SegmentString*::getData
    - dynamic_cast<const NodedSegmentString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n        const SegmentString*
      ss,\n        std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentExtractingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SegmentExtractingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:34,1
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::noding::SegmentExtractingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::computeNodes(\n    std::vector<SegmentString*>*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' inputSegs'
    - ' outputSegs'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n    const std::vector<SegmentString*>&
      inputSegs,\n    std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:58,1
    - Dst: dynamic_cast<const NodedSegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:60,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:64,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:65,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:66,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:67,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ss
    - ' outputSegs'
    argTypes:
    - SegmentString*
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - CoordinateSequence*::hasZ
    - SegmentString*::getCoordinates
    - auto::reserve
    - NodedSegmentString*::getNodeList
    - push_back
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - CoordinateSequence*::getSize
    - auto::release
    - std::unique_ptr::release
    - SegmentString*::getData
    - dynamic_cast<const NodedSegmentString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n        const SegmentString*
      ss,\n        std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentExtractingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SegmentExtractingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:34,1
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::noding::SegmentExtractingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::computeNodes(\n    std::vector<SegmentString*>*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' inputSegs'
    - ' outputSegs'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n    const std::vector<SegmentString*>&
      inputSegs,\n    std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:58,1
    - Dst: dynamic_cast<const NodedSegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:60,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:64,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:65,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:66,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:67,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ss
    - ' outputSegs'
    argTypes:
    - SegmentString*
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 6
    functionsReached:
    - auto::add
    - CoordinateSequence*::hasZ
    - SegmentString*::getCoordinates
    - auto::reserve
    - NodedSegmentString*::getNodeList
    - push_back
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - CoordinateSequence*::getSize
    - auto::release
    - std::unique_ptr::release
    - SegmentString*::getData
    - dynamic_cast<const NodedSegmentString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n        const SegmentString*
      ss,\n        std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentExtractingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SegmentExtractingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:34,1
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: geos::noding::SegmentExtractingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::computeNodes(\n    std::vector<SegmentString*>*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentExtractingNoder::extractSegments
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' inputSegs'
    - ' outputSegs'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::SegmentExtractingNoder::extractSegments
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n    const std::vector<SegmentString*>&
      inputSegs,\n    std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:58,1
    - Dst: dynamic_cast<const NodedSegmentString*>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:60,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: CoordinateSequence*::hasZ
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:61,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::hasM
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:62,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:64,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:65,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:66,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:67,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:68,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentExtractingNoder.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ss
    - ' outputSegs'
    argTypes:
    - SegmentString*
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: geos::noding::SegmentExtractingNoder::extractSegments
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 8
    functionsReached:
    - auto::add
    - CoordinateSequence*::hasZ
    - SegmentString*::getCoordinates
    - auto::reserve
    - NodedSegmentString*::getNodeList
    - push_back
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::hasM
    - CoordinateSequence*::getSize
    - auto::release
    - std::unique_ptr::release
    - SegmentString*::getData
    - dynamic_cast<const NodedSegmentString*>
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: void
    signature: "void SegmentExtractingNoder::extractSegments(\n        const SegmentString*
      ss,\n        std::vector<SegmentString*>& outputSegs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentExtractingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/SegmentExtractingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SegmentExtractingNoder::getNodedSubstrings() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/IteratedNoder.cpp:47,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/IteratedNoder.cpp:48,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/IteratedNoder.cpp:49,1
    - Dst: IntersectionAdder::hasProperInteriorIntersection
      Src: /src/geos/src/noding/IteratedNoder.cpp:52,1
    - Dst: IntersectionAdder::getProperIntersectionPoint
      Src: /src/geos/src/noding/IteratedNoder.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - segStrings
    - ' numInteriorIntersections'
    - ' intersectionPoint'
    argTypes:
    - std::vector<SegmentString*>*
    - int
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: geos::noding::IteratedNoder::node
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 0
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - IntersectionAdder::getProperIntersectionPoint
    - IntersectionAdder::hasProperInteriorIntersection
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: void
    signature: "void IteratedNoder::node(std::vector<SegmentString*>* segStrings,\n
      \                   int& numInteriorIntersections,\n                    CoordinateXY&
      intersectionPoint)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/noding/IteratedNoder.cpp:67,1
    - Dst: geos::noding::IteratedNoder::node
      Src: /src/geos/src/noding/IteratedNoder.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: geos::noding::IteratedNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::TopologyException
    - std::stringstream::str
    - geos::io::GeoJSONValue::getNull
    - geos::noding::IteratedNoder::node
    linkageType: ''
    returnType: void
    signature: void IteratedNoder::computeNodes(SegmentString::NonConstVect* segStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/IteratedNoder.cpp:47,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/IteratedNoder.cpp:48,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/IteratedNoder.cpp:49,1
    - Dst: IntersectionAdder::hasProperInteriorIntersection
      Src: /src/geos/src/noding/IteratedNoder.cpp:52,1
    - Dst: IntersectionAdder::getProperIntersectionPoint
      Src: /src/geos/src/noding/IteratedNoder.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - segStrings
    - ' numInteriorIntersections'
    - ' intersectionPoint'
    argTypes:
    - std::vector<SegmentString*>*
    - int
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: geos::noding::IteratedNoder::node
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 1
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - IntersectionAdder::getProperIntersectionPoint
    - IntersectionAdder::hasProperInteriorIntersection
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: void
    signature: "void IteratedNoder::node(std::vector<SegmentString*>* segStrings,\n
      \                   int& numInteriorIntersections,\n                    CoordinateXY&
      intersectionPoint)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/noding/IteratedNoder.cpp:67,1
    - Dst: geos::noding::IteratedNoder::node
      Src: /src/geos/src/noding/IteratedNoder.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: geos::noding::IteratedNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::TopologyException
    - std::stringstream::str
    - geos::io::GeoJSONValue::getNull
    - geos::noding::IteratedNoder::node
    linkageType: ''
    returnType: void
    signature: void IteratedNoder::computeNodes(SegmentString::NonConstVect* segStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/IteratedNoder.cpp:47,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/IteratedNoder.cpp:48,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/IteratedNoder.cpp:49,1
    - Dst: IntersectionAdder::hasProperInteriorIntersection
      Src: /src/geos/src/noding/IteratedNoder.cpp:52,1
    - Dst: IntersectionAdder::getProperIntersectionPoint
      Src: /src/geos/src/noding/IteratedNoder.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - segStrings
    - ' numInteriorIntersections'
    - ' intersectionPoint'
    argTypes:
    - std::vector<SegmentString*>*
    - int
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: geos::noding::IteratedNoder::node
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 2
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - IntersectionAdder::getProperIntersectionPoint
    - IntersectionAdder::hasProperInteriorIntersection
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: void
    signature: "void IteratedNoder::node(std::vector<SegmentString*>* segStrings,\n
      \                   int& numInteriorIntersections,\n                    CoordinateXY&
      intersectionPoint)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/noding/IteratedNoder.cpp:67,1
    - Dst: geos::noding::IteratedNoder::node
      Src: /src/geos/src/noding/IteratedNoder.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: geos::noding::IteratedNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::TopologyException
    - std::stringstream::str
    - geos::io::GeoJSONValue::getNull
    - geos::noding::IteratedNoder::node
    linkageType: ''
    returnType: void
    signature: void IteratedNoder::computeNodes(SegmentString::NonConstVect* segStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/IteratedNoder.cpp:47,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/IteratedNoder.cpp:48,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/IteratedNoder.cpp:49,1
    - Dst: IntersectionAdder::hasProperInteriorIntersection
      Src: /src/geos/src/noding/IteratedNoder.cpp:52,1
    - Dst: IntersectionAdder::getProperIntersectionPoint
      Src: /src/geos/src/noding/IteratedNoder.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - segStrings
    - ' numInteriorIntersections'
    - ' intersectionPoint'
    argTypes:
    - std::vector<SegmentString*>*
    - int
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: geos::noding::IteratedNoder::node
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 3
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - IntersectionAdder::getProperIntersectionPoint
    - IntersectionAdder::hasProperInteriorIntersection
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: void
    signature: "void IteratedNoder::node(std::vector<SegmentString*>* segStrings,\n
      \                   int& numInteriorIntersections,\n                    CoordinateXY&
      intersectionPoint)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/noding/IteratedNoder.cpp:67,1
    - Dst: geos::noding::IteratedNoder::node
      Src: /src/geos/src/noding/IteratedNoder.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/IteratedNoder.cpp:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: geos::noding::IteratedNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/IteratedNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::util::TopologyException
    - std::stringstream::str
    - geos::io::GeoJSONValue::getNull
    - geos::noding::IteratedNoder::node
    linkageType: ''
    returnType: void
    signature: void IteratedNoder::computeNodes(SegmentString::NonConstVect* segStrings)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:42,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:43,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 6
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - std::fabs
    linkageType: ''
    returnType: int
    signature: int Octant::octant(double dx, double dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/src/noding/Octant.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 7
    functionsReached:
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: int
    signature: int Octant::octant(const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:42,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:43,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 7
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - std::fabs
    linkageType: ''
    returnType: int
    signature: int Octant::octant(double dx, double dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/src/noding/Octant.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: int
    signature: int Octant::octant(const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:42,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:43,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 8
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - std::fabs
    linkageType: ''
    returnType: int
    signature: int Octant::octant(double dx, double dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/src/noding/Octant.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 9
    functionsReached:
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: int
    signature: int Octant::octant(const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::IllegalArgumentException
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::ostringstream::str
      Src: /src/geos/src/noding/Octant.cpp:39,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:42,1
    - Dst: std::fabs
      Src: /src/geos/src/noding/Octant.cpp:43,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 9
    functionsReached:
    - geos::util::IllegalArgumentException
    - std::ostringstream::str
    - std::fabs
    linkageType: ''
    returnType: int
    signature: int Octant::octant(double dx, double dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::Octant::octant
      Src: /src/geos/src/noding/Octant.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: geos::noding::Octant::octant
    functionSourceFile: /src/geos/src/noding/Octant.cpp
    functionUses: 10
    functionsReached:
    - geos::noding::Octant::octant
    linkageType: ''
    returnType: int
    signature: int Octant::octant(const CoordinateXY& p0, const CoordinateXY& p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - SegmentNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '&

      operator<< (std::ostream& os, const SegmentNode& n)'
    functionSourceFile: /src/geos/src/noding/SegmentNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNode& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - SegmentNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '&

      operator<< (std::ostream& os, const SegmentNode& n)'
    functionSourceFile: /src/geos/src/noding/SegmentNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNode& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - SegmentNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '&

      operator<< (std::ostream& os, const SegmentNode& n)'
    functionSourceFile: /src/geos/src/noding/SegmentNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNode& n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - std::ostream
    - SegmentNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '&

      operator<< (std::ostream& os, const SegmentNode& n)'
    functionSourceFile: /src/geos/src/noding/SegmentNode.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNode& n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:46,1
    - Dst: geos::noding::MCIndexNoder::add
      Src: /src/geos/src/noding/MCIndexNoder.cpp:49,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: geos::noding::MCIndexNoder::intersectChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: geos::noding::MCIndexNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::MCIndexNoder::add
    - insert
    - getEnvelope
    - geos::noding::MCIndexNoder::intersectChains
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::computeNodes(SegmentString::NonConstVect* inputSegStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:67,1
    - Dst: queryPairs
      Src: /src/geos/src/noding/MCIndexNoder.cpp:71,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexNoder.cpp:72,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/noding/MCIndexNoder.cpp:74,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexNoder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: geos::noding::MCIndexNoder::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 1
    functionsReached:
    - queryPairs
    - computeOverlaps
    - GEOS_CHECK_FOR_INTERRUPTS
    - isDone
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::intersectChains()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::noding::MCIndexNoder::add
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 1
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::add(SegmentString* segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:97,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:100,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:102,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:105,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexNoder.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts:
    - condition: (ss1)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    - condition: (ss2)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: "MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - getContext
    - processIntersections
    - assert
    - const_cast<SegmentString*>
    - static_cast<const SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:46,1
    - Dst: geos::noding::MCIndexNoder::add
      Src: /src/geos/src/noding/MCIndexNoder.cpp:49,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: geos::noding::MCIndexNoder::intersectChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: geos::noding::MCIndexNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::MCIndexNoder::add
    - insert
    - getEnvelope
    - geos::noding::MCIndexNoder::intersectChains
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::computeNodes(SegmentString::NonConstVect* inputSegStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:67,1
    - Dst: queryPairs
      Src: /src/geos/src/noding/MCIndexNoder.cpp:71,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexNoder.cpp:72,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/noding/MCIndexNoder.cpp:74,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexNoder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: geos::noding::MCIndexNoder::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 2
    functionsReached:
    - queryPairs
    - computeOverlaps
    - GEOS_CHECK_FOR_INTERRUPTS
    - isDone
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::intersectChains()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::noding::MCIndexNoder::add
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 2
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::add(SegmentString* segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:97,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:100,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:102,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:105,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexNoder.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts:
    - condition: (ss1)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    - condition: (ss2)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: "MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - getContext
    - processIntersections
    - assert
    - const_cast<SegmentString*>
    - static_cast<const SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:46,1
    - Dst: geos::noding::MCIndexNoder::add
      Src: /src/geos/src/noding/MCIndexNoder.cpp:49,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: geos::noding::MCIndexNoder::intersectChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: geos::noding::MCIndexNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::MCIndexNoder::add
    - insert
    - getEnvelope
    - geos::noding::MCIndexNoder::intersectChains
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::computeNodes(SegmentString::NonConstVect* inputSegStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:67,1
    - Dst: queryPairs
      Src: /src/geos/src/noding/MCIndexNoder.cpp:71,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexNoder.cpp:72,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/noding/MCIndexNoder.cpp:74,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexNoder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: geos::noding::MCIndexNoder::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 3
    functionsReached:
    - queryPairs
    - computeOverlaps
    - GEOS_CHECK_FOR_INTERRUPTS
    - isDone
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::intersectChains()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::noding::MCIndexNoder::add
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 3
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::add(SegmentString* segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:97,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:100,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:102,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:105,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexNoder.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts:
    - condition: (ss1)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    - condition: (ss2)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: "MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - getContext
    - processIntersections
    - assert
    - const_cast<SegmentString*>
    - static_cast<const SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:46,1
    - Dst: geos::noding::MCIndexNoder::add
      Src: /src/geos/src/noding/MCIndexNoder.cpp:49,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexNoder.cpp:54,1
    - Dst: geos::noding::MCIndexNoder::intersectChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: geos::noding::MCIndexNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::MCIndexNoder::add
    - insert
    - getEnvelope
    - geos::noding::MCIndexNoder::intersectChains
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::computeNodes(SegmentString::NonConstVect* inputSegStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:67,1
    - Dst: queryPairs
      Src: /src/geos/src/noding/MCIndexNoder.cpp:71,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexNoder.cpp:72,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/noding/MCIndexNoder.cpp:74,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexNoder.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: geos::noding::MCIndexNoder::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 4
    functionsReached:
    - queryPairs
    - computeOverlaps
    - GEOS_CHECK_FOR_INTERRUPTS
    - isDone
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::intersectChains()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexNoder.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: geos::noding::MCIndexNoder::add
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 4
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexNoder::add(SegmentString* segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:97,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:98,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:100,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:102,1
    - Dst: static_cast<const SegmentString*>
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexNoder.cpp:103,1
    - Dst: assert
      Src: /src/geos/src/noding/MCIndexNoder.cpp:105,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexNoder.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts:
    - condition: (ss1)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    - condition: (ss2)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/geos/src/noding/MCIndexNoder.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: "MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexNoder.cpp
    functionUses: 0
    functionsReached:
    - getContext
    - processIntersections
    - assert
    - const_cast<SegmentString*>
    - static_cast<const SegmentString*>
    linkageType: ''
    returnType: void
    signature: "void MCIndexNoder::SegmentOverlapAction::overlap(const MonotoneChain&
      mc1, std::size_t start1,\n        const MonotoneChain& mc2, std::size_t start2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionAdder.cpp:40,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/noding/IntersectionAdder.cpp:44,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/IntersectionAdder.cpp:48,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/IntersectionAdder.cpp:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: geos::noding::IntersectionAdder::isTrivialIntersection
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::isClosed
    - isAdjacentSegments
    - getIntersectionNum
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionAdder::isTrivialIntersection(const SegmentString*
      e0,\n        std::size_t segIndex0, const SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:74,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:75,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:77,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:80,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:87,1
    - Dst: geos::noding::IntersectionAdder::isTrivialIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:96,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:99,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:100,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:101,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:102,1
    - Dst: isProper
      Src: /src/geos/src/noding/IntersectionAdder.cpp:104,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: geos::noding::IntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::IntersectionAdder::isTrivialIntersection
    - SegmentString*::getCoordinates
    - getIntersection
    - isProper
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void IntersectionAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionAdder.cpp:40,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/noding/IntersectionAdder.cpp:44,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/IntersectionAdder.cpp:48,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/IntersectionAdder.cpp:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: geos::noding::IntersectionAdder::isTrivialIntersection
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 1
    functionsReached:
    - SegmentString*::isClosed
    - isAdjacentSegments
    - getIntersectionNum
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionAdder::isTrivialIntersection(const SegmentString*
      e0,\n        std::size_t segIndex0, const SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:74,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:75,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:77,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:80,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:87,1
    - Dst: geos::noding::IntersectionAdder::isTrivialIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:96,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:99,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:100,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:101,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:102,1
    - Dst: isProper
      Src: /src/geos/src/noding/IntersectionAdder.cpp:104,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: geos::noding::IntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::IntersectionAdder::isTrivialIntersection
    - SegmentString*::getCoordinates
    - getIntersection
    - isProper
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void IntersectionAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionAdder.cpp:40,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/noding/IntersectionAdder.cpp:44,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/IntersectionAdder.cpp:48,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/IntersectionAdder.cpp:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: geos::noding::IntersectionAdder::isTrivialIntersection
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 2
    functionsReached:
    - SegmentString*::isClosed
    - isAdjacentSegments
    - getIntersectionNum
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionAdder::isTrivialIntersection(const SegmentString*
      e0,\n        std::size_t segIndex0, const SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:74,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:75,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:77,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:80,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:87,1
    - Dst: geos::noding::IntersectionAdder::isTrivialIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:96,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:99,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:100,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:101,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:102,1
    - Dst: isProper
      Src: /src/geos/src/noding/IntersectionAdder.cpp:104,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: geos::noding::IntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::IntersectionAdder::isTrivialIntersection
    - SegmentString*::getCoordinates
    - getIntersection
    - isProper
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void IntersectionAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionAdder.cpp:40,1
    - Dst: isAdjacentSegments
      Src: /src/geos/src/noding/IntersectionAdder.cpp:44,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/IntersectionAdder.cpp:48,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/IntersectionAdder.cpp:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: geos::noding::IntersectionAdder::isTrivialIntersection
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 3
    functionsReached:
    - SegmentString*::isClosed
    - isAdjacentSegments
    - getIntersectionNum
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: "bool IntersectionAdder::isTrivialIntersection(const SegmentString*
      e0,\n        std::size_t segIndex0, const SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:74,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/IntersectionAdder.cpp:75,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:77,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:80,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:87,1
    - Dst: geos::noding::IntersectionAdder::isTrivialIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:96,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:99,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionAdder.cpp:100,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:101,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionAdder.cpp:102,1
    - Dst: isProper
      Src: /src/geos/src/noding/IntersectionAdder.cpp:104,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionAdder.cpp:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: geos::noding::IntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::IntersectionAdder::isTrivialIntersection
    - SegmentString*::getCoordinates
    - getIntersection
    - isProper
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    linkageType: ''
    returnType: void
    signature: "void IntersectionAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SimpleNoder.cpp:34,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:36,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:37,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:38,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:39,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/SimpleNoder.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - e0
    - e1
    argTypes:
    - SegmentString*
    - SegmentString*
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/geos/src/noding/SimpleNoder.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: geos::noding::SimpleNoder::computeIntersects
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 0
    functionsReached:
    - processIntersections
    - assert
    - CoordinateSequence*::getSize
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeIntersects(SegmentString* e0, SegmentString*
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SimpleNoder::computeIntersects
      Src: /src/geos/src/noding/SimpleNoder.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::noding::SimpleNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SimpleNoder::computeIntersects
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeNodes(SegmentString::NonConstVect* inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SimpleNoder.cpp:34,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:36,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:37,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:38,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:39,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/SimpleNoder.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - e0
    - e1
    argTypes:
    - SegmentString*
    - SegmentString*
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/geos/src/noding/SimpleNoder.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: geos::noding::SimpleNoder::computeIntersects
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 1
    functionsReached:
    - processIntersections
    - assert
    - CoordinateSequence*::getSize
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeIntersects(SegmentString* e0, SegmentString*
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SimpleNoder::computeIntersects
      Src: /src/geos/src/noding/SimpleNoder.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::noding::SimpleNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SimpleNoder::computeIntersects
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeNodes(SegmentString::NonConstVect* inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SimpleNoder.cpp:34,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:36,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:37,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:38,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:39,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/SimpleNoder.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - e0
    - e1
    argTypes:
    - SegmentString*
    - SegmentString*
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/geos/src/noding/SimpleNoder.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: geos::noding::SimpleNoder::computeIntersects
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 2
    functionsReached:
    - processIntersections
    - assert
    - CoordinateSequence*::getSize
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeIntersects(SegmentString* e0, SegmentString*
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SimpleNoder::computeIntersects
      Src: /src/geos/src/noding/SimpleNoder.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::noding::SimpleNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SimpleNoder::computeIntersects
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeNodes(SegmentString::NonConstVect* inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SimpleNoder.cpp:34,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:36,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SimpleNoder.cpp:37,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:38,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SimpleNoder.cpp:39,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/SimpleNoder.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - e0
    - e1
    argTypes:
    - SegmentString*
    - SegmentString*
    assertStmts:
    - condition: (segInt)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/geos/src/noding/SimpleNoder.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: geos::noding::SimpleNoder::computeIntersects
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 3
    functionsReached:
    - processIntersections
    - assert
    - CoordinateSequence*::getSize
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeIntersects(SegmentString* e0, SegmentString*
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SimpleNoder::computeIntersects
      Src: /src/geos/src/noding/SimpleNoder.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::noding::SimpleNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/SimpleNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SimpleNoder::computeIntersects
    linkageType: ''
    returnType: void
    signature: void SimpleNoder::computeNodes(SegmentString::NonConstVect* inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BasicSegmentString.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: '&

      BasicSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/BasicSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      BasicSegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BasicSegmentString.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: '&

      BasicSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/BasicSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      BasicSegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BasicSegmentString.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: '&

      BasicSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/BasicSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      BasicSegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BasicSegmentString.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: '&

      BasicSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/BasicSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      BasicSegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ValidatingNoder::computeNodes
      Src: /src/geos/src/noding/ValidatingNoder.cpp:31,1
    - Dst: geos::noding::ValidatingNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ValidatingNoder.cpp:32,1
    - Dst: geos::noding::ValidatingNoder::validate
      Src: /src/geos/src/noding/ValidatingNoder.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: geos::noding::ValidatingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::ValidatingNoder::computeNodes
    - geos::noding::ValidatingNoder::getNodedSubstrings
    - geos::noding::ValidatingNoder::validate
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::computeNodes(std::vector<SegmentString*>* segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastNodingValidator::checkValid
      Src: /src/geos/src/noding/ValidatingNoder.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: geos::noding::ValidatingNoder::validate
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 1
    functionsReached:
    - FastNodingValidator::checkValid
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::noding::ValidatingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      ValidatingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ValidatingNoder::computeNodes
      Src: /src/geos/src/noding/ValidatingNoder.cpp:31,1
    - Dst: geos::noding::ValidatingNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ValidatingNoder.cpp:32,1
    - Dst: geos::noding::ValidatingNoder::validate
      Src: /src/geos/src/noding/ValidatingNoder.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: geos::noding::ValidatingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::ValidatingNoder::computeNodes
    - geos::noding::ValidatingNoder::getNodedSubstrings
    - geos::noding::ValidatingNoder::validate
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::computeNodes(std::vector<SegmentString*>* segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastNodingValidator::checkValid
      Src: /src/geos/src/noding/ValidatingNoder.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: geos::noding::ValidatingNoder::validate
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 2
    functionsReached:
    - FastNodingValidator::checkValid
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::noding::ValidatingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      ValidatingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ValidatingNoder::computeNodes
      Src: /src/geos/src/noding/ValidatingNoder.cpp:31,1
    - Dst: geos::noding::ValidatingNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ValidatingNoder.cpp:32,1
    - Dst: geos::noding::ValidatingNoder::validate
      Src: /src/geos/src/noding/ValidatingNoder.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: geos::noding::ValidatingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::ValidatingNoder::computeNodes
    - geos::noding::ValidatingNoder::getNodedSubstrings
    - geos::noding::ValidatingNoder::validate
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::computeNodes(std::vector<SegmentString*>* segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastNodingValidator::checkValid
      Src: /src/geos/src/noding/ValidatingNoder.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: geos::noding::ValidatingNoder::validate
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 3
    functionsReached:
    - FastNodingValidator::checkValid
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::noding::ValidatingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      ValidatingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::ValidatingNoder::computeNodes
      Src: /src/geos/src/noding/ValidatingNoder.cpp:31,1
    - Dst: geos::noding::ValidatingNoder::getNodedSubstrings
      Src: /src/geos/src/noding/ValidatingNoder.cpp:32,1
    - Dst: geos::noding::ValidatingNoder::validate
      Src: /src/geos/src/noding/ValidatingNoder.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: geos::noding::ValidatingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::ValidatingNoder::computeNodes
    - geos::noding::ValidatingNoder::getNodedSubstrings
    - geos::noding::ValidatingNoder::validate
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::computeNodes(std::vector<SegmentString*>* segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastNodingValidator::checkValid
      Src: /src/geos/src/noding/ValidatingNoder.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: geos::noding::ValidatingNoder::validate
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 4
    functionsReached:
    - FastNodingValidator::checkValid
    linkageType: ''
    returnType: void
    signature: void ValidatingNoder::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: geos::noding::ValidatingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/ValidatingNoder.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      ValidatingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: '&

      NodedSegmentString::getNodeList() const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: '&

      NodedSegmentString::getNodeList()'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:49,1
    - Dst: begin
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:54,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/NodedSegmentString.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - resultEdgeList
    argTypes:
    - SegmentString::NonConstVect
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (resultEdgeList)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    - condition: (ss)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - NodedSegmentString*::getNodeList
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodedSegmentString::getNodedSubstrings(\n    const SegmentString::NonConstVect&
      segStrings,\n    SegmentString::NonConstVect* resultEdgeList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSplitCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::noding::NodedSegmentString::getNodedCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getSplitCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> NodedSegmentString::getNodedCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString::NonConstVect::NonConstVect
      Src: /src/geos/src/noding/NodedSegmentString.cpp:72,1
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/NodedSegmentString.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 1
    functionsReached:
    - SegmentString::NonConstVect::NonConstVect
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: "SegmentString::NonConstVect *\nNodedSegmentString::getNodedSubstrings(\n
      \   const SegmentString::NonConstVect& segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: geos::noding::NodedSegmentString::releaseCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> NodedSegmentString::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:90,1
    - Dst: size
      Src: /src/geos/src/noding/NodedSegmentString.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: '&

      NodedSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      NodedSegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: '&

      NodedSegmentString::getNodeList() const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: '&

      NodedSegmentString::getNodeList()'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:49,1
    - Dst: begin
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:54,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/NodedSegmentString.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - resultEdgeList
    argTypes:
    - SegmentString::NonConstVect
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (resultEdgeList)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    - condition: (ss)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - NodedSegmentString*::getNodeList
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodedSegmentString::getNodedSubstrings(\n    const SegmentString::NonConstVect&
      segStrings,\n    SegmentString::NonConstVect* resultEdgeList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSplitCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::noding::NodedSegmentString::getNodedCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getSplitCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> NodedSegmentString::getNodedCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString::NonConstVect::NonConstVect
      Src: /src/geos/src/noding/NodedSegmentString.cpp:72,1
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/NodedSegmentString.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 2
    functionsReached:
    - SegmentString::NonConstVect::NonConstVect
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: "SegmentString::NonConstVect *\nNodedSegmentString::getNodedSubstrings(\n
      \   const SegmentString::NonConstVect& segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: geos::noding::NodedSegmentString::releaseCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> NodedSegmentString::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:90,1
    - Dst: size
      Src: /src/geos/src/noding/NodedSegmentString.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: '&

      NodedSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      NodedSegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: '&

      NodedSegmentString::getNodeList() const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: '&

      NodedSegmentString::getNodeList()'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:49,1
    - Dst: begin
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:54,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/NodedSegmentString.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - resultEdgeList
    argTypes:
    - SegmentString::NonConstVect
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (resultEdgeList)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    - condition: (ss)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - NodedSegmentString*::getNodeList
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodedSegmentString::getNodedSubstrings(\n    const SegmentString::NonConstVect&
      segStrings,\n    SegmentString::NonConstVect* resultEdgeList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSplitCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::noding::NodedSegmentString::getNodedCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getSplitCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> NodedSegmentString::getNodedCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString::NonConstVect::NonConstVect
      Src: /src/geos/src/noding/NodedSegmentString.cpp:72,1
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/NodedSegmentString.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 3
    functionsReached:
    - SegmentString::NonConstVect::NonConstVect
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: "SegmentString::NonConstVect *\nNodedSegmentString::getNodedSubstrings(\n
      \   const SegmentString::NonConstVect& segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: geos::noding::NodedSegmentString::releaseCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> NodedSegmentString::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:90,1
    - Dst: size
      Src: /src/geos/src/noding/NodedSegmentString.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: '&

      NodedSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      NodedSegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: '&

      NodedSegmentString::getNodeList() const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: '&

      NodedSegmentString::getNodeList()'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SegmentNodeList
    signature: 'SegmentNodeList &

      NodedSegmentString::getNodeList()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:49,1
    - Dst: begin
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodedSegmentString.cpp:51,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:53,1
    - Dst: assert
      Src: /src/geos/src/noding/NodedSegmentString.cpp:54,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/NodedSegmentString.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segStrings'
    - resultEdgeList
    argTypes:
    - SegmentString::NonConstVect
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (resultEdgeList)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    - condition: (ss)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/geos/src/noding/NodedSegmentString.cpp
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - NodedSegmentString*::getNodeList
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodedSegmentString::getNodedSubstrings(\n    const SegmentString::NonConstVect&
      segStrings,\n    SegmentString::NonConstVect* resultEdgeList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSplitCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: geos::noding::NodedSegmentString::getNodedCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - getSplitCoordinates
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> NodedSegmentString::getNodedCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString::NonConstVect::NonConstVect
      Src: /src/geos/src/noding/NodedSegmentString.cpp:72,1
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/NodedSegmentString.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: geos::noding::NodedSegmentString::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 4
    functionsReached:
    - SegmentString::NonConstVect::NonConstVect
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: SegmentString::NonConstVect
    signature: "SegmentString::NonConstVect *\nNodedSegmentString::getNodedSubstrings(\n
      \   const SegmentString::NonConstVect& segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CoordinateSequence>
      Src: /src/geos/src/noding/NodedSegmentString.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: geos::noding::NodedSegmentString::releaseCoordinates
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<CoordinateSequence>
    linkageType: ''
    returnType: std::unique_ptr<geom::CoordinateSequence>
    signature: std::unique_ptr<geom::CoordinateSequence> NodedSegmentString::releaseCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodedSegmentString.cpp:90,1
    - Dst: size
      Src: /src/geos/src/noding/NodedSegmentString.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: '&

      NodedSegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/NodedSegmentString.cpp
    functionUses: 0
    functionsReached:
    - size
    - getCoordinates
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      NodedSegmentString::print(std::ostream& os) const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:54,1
    - Dst: erase
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: std::unique
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:58,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: geos::noding::SegmentNodeList::prepare
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    - std::unique
    - end
    - begin
    - std::sort
    - erase
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::prepare() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:68,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:70,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:73,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:74,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:76,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentNodeList::addEndpoints
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - add
    - size
    - getCoordinates
    - auto*::getAt
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:86,1
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
      Src: /src/geos/src/noding/SegmentNodeList.cpp:87,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: geos::noding::SegmentNodeList::addCollapsedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    - geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addCollapsedNodes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:101,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:105,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:106,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:107,1
    - Dst: equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - size
    - push_back
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromExistingVertices(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:124,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:127,1
    - Dst: geos::noding::SegmentNodeList::findCollapseIndex
      Src: /src/geos/src/noding/SegmentNodeList.cpp:129,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - begin
    - push_back
    - geos::noding::SegmentNodeList::findCollapseIndex
    - end
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromInsertedNodes(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:144,1
    - Dst: coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:146,1
    - Dst: isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' ei0'
    - ' ei1'
    - ' collapsedVertexIndex'
    argTypes:
    - SegmentNode
    - SegmentNode
    - size_t
    assertStmts:
    - condition: (ei1.segmentIndex >= ei0.segmentIndex)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: geos::noding::SegmentNodeList::findCollapseIndex
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - assert
    - coord::equals2D
    - isInterior
    linkageType: ''
    returnType: bool
    signature: "bool SegmentNodeList::findCollapseIndex(const SegmentNode& ei0, const
      SegmentNode& ei1,\n                                   size_t& collapsedVertexIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:178,1
    - Dst: geos::noding::SegmentNodeList::addCollapsedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:179,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:185,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:187,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:189,1
    - Dst: SegmentNode*::compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:191,1
    - Dst: geos::noding::SegmentNodeList::createSplitEdge
      Src: /src/geos/src/noding/SegmentNodeList.cpp:195,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
      Src: /src/geos/src/noding/SegmentNodeList.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' edgeList'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (eiPrev)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (ei)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: geos::noding::SegmentNodeList::addSplitEdges
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - geos::noding::SegmentNodeList::addCollapsedNodes
    - SegmentNode*::compareTo
    - push_back
    - std::vector::push_back
    - geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    - geos::noding::SegmentNodeList::createSplitEdge
    - back
    - std::unique_ptr::release
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addSplitEdges(std::vector<SegmentString*>& edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/noding/SegmentNodeList.cpp:212,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:216,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:221,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:223,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:224,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:228,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:229,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:231,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' splitEdges'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (edgePts)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (split0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitn)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitnPts)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - SegmentString*::getCoordinate
    - CoordinateSequence*::getAt
    - size
    - getCoordinates
    - SegmentString*::getCoordinates
    - CoordinateSequence*::getSize
    - toString
    - geos::io::util::GEOSException
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::checkSplitEdgesCorrectness(const std::vector<SegmentString*>&
      splitEdges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:244,1
    - Dst: detail::make_unique<NodedSegmentString>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: getData
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: geos::noding::SegmentNodeList::createSplitEdge
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - auto::release
    - detail::make_unique<NodedSegmentString>
    - geos::noding::SegmentNodeList::createSplitEdgePts
    - getData
    linkageType: ''
    returnType: std::unique_ptr<SegmentString>
    signature: std::unique_ptr<SegmentString> SegmentNodeList::createSplitEdge(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:257,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:258,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:259,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:263,1
    - Dst: SegmentNode*::isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: SegmentNode*::coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:275,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentNodeList.cpp:276,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:278,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:279,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:280,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:282,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    - Dst: auto::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts:
    - condition: (pts->size() == npts)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: geos::noding::SegmentNodeList::createSplitEdgePts
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - SegmentNode*::isInterior
    - auto::add
    - auto::size
    - getCoordinates
    - getCoordinate
    - auto::reserve
    - SegmentNode*::coord::equals2D
    - detail::make_unique<CoordinateSequence>
    - assert
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::createSplitEdgePts(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:296,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:297,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:299,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:301,1
    - Dst: geos::noding::SegmentNodeList::addEdgeCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:303,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    - Dst: auto::hasRepeatedPoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->hasRepeatedPoints())
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: geos::noding::SegmentNodeList::getSplitCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - auto::hasRepeatedPoints
    - geos::noding::SegmentNodeList::addEdgeCoordinates
    - detail::make_unique<CoordinateSequence>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::getSplitCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:314,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ei0
    - ei1
    - ' coordList'
    argTypes:
    - SegmentNode*
    - SegmentNode*
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: geos::noding::SegmentNodeList::addEdgeCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::createSplitEdgePts
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEdgeCoordinates(const SegmentNode* ei0, const
      SegmentNode* ei1, CoordinateSequence& coordList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeMap::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' nlist'
    argTypes:
    - std::ostream
    - SegmentNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: '&

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - nodeMap::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:54,1
    - Dst: erase
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: std::unique
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:58,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: geos::noding::SegmentNodeList::prepare
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    - std::unique
    - end
    - begin
    - std::sort
    - erase
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::prepare() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:68,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:70,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:73,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:74,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:76,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentNodeList::addEndpoints
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - add
    - size
    - getCoordinates
    - auto*::getAt
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:86,1
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
      Src: /src/geos/src/noding/SegmentNodeList.cpp:87,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: geos::noding::SegmentNodeList::addCollapsedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 1
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    - geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addCollapsedNodes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:101,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:105,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:106,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:107,1
    - Dst: equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - size
    - push_back
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromExistingVertices(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:124,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:127,1
    - Dst: geos::noding::SegmentNodeList::findCollapseIndex
      Src: /src/geos/src/noding/SegmentNodeList.cpp:129,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - begin
    - push_back
    - geos::noding::SegmentNodeList::findCollapseIndex
    - end
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromInsertedNodes(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:144,1
    - Dst: coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:146,1
    - Dst: isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' ei0'
    - ' ei1'
    - ' collapsedVertexIndex'
    argTypes:
    - SegmentNode
    - SegmentNode
    - size_t
    assertStmts:
    - condition: (ei1.segmentIndex >= ei0.segmentIndex)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: geos::noding::SegmentNodeList::findCollapseIndex
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - assert
    - coord::equals2D
    - isInterior
    linkageType: ''
    returnType: bool
    signature: "bool SegmentNodeList::findCollapseIndex(const SegmentNode& ei0, const
      SegmentNode& ei1,\n                                   size_t& collapsedVertexIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:178,1
    - Dst: geos::noding::SegmentNodeList::addCollapsedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:179,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:185,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:187,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:189,1
    - Dst: SegmentNode*::compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:191,1
    - Dst: geos::noding::SegmentNodeList::createSplitEdge
      Src: /src/geos/src/noding/SegmentNodeList.cpp:195,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
      Src: /src/geos/src/noding/SegmentNodeList.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' edgeList'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (eiPrev)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (ei)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: geos::noding::SegmentNodeList::addSplitEdges
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - geos::noding::SegmentNodeList::addCollapsedNodes
    - SegmentNode*::compareTo
    - push_back
    - std::vector::push_back
    - geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    - geos::noding::SegmentNodeList::createSplitEdge
    - back
    - std::unique_ptr::release
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addSplitEdges(std::vector<SegmentString*>& edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/noding/SegmentNodeList.cpp:212,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:216,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:221,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:223,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:224,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:228,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:229,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:231,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' splitEdges'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (edgePts)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (split0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitn)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitnPts)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - SegmentString*::getCoordinate
    - CoordinateSequence*::getAt
    - size
    - getCoordinates
    - SegmentString*::getCoordinates
    - CoordinateSequence*::getSize
    - toString
    - geos::io::util::GEOSException
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::checkSplitEdgesCorrectness(const std::vector<SegmentString*>&
      splitEdges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:244,1
    - Dst: detail::make_unique<NodedSegmentString>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: getData
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: geos::noding::SegmentNodeList::createSplitEdge
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - auto::release
    - detail::make_unique<NodedSegmentString>
    - geos::noding::SegmentNodeList::createSplitEdgePts
    - getData
    linkageType: ''
    returnType: std::unique_ptr<SegmentString>
    signature: std::unique_ptr<SegmentString> SegmentNodeList::createSplitEdge(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:257,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:258,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:259,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:263,1
    - Dst: SegmentNode*::isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: SegmentNode*::coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:275,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentNodeList.cpp:276,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:278,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:279,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:280,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:282,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    - Dst: auto::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts:
    - condition: (pts->size() == npts)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: geos::noding::SegmentNodeList::createSplitEdgePts
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - SegmentNode*::isInterior
    - auto::add
    - auto::size
    - getCoordinates
    - getCoordinate
    - auto::reserve
    - SegmentNode*::coord::equals2D
    - detail::make_unique<CoordinateSequence>
    - assert
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::createSplitEdgePts(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:296,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:297,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:299,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:301,1
    - Dst: geos::noding::SegmentNodeList::addEdgeCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:303,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    - Dst: auto::hasRepeatedPoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->hasRepeatedPoints())
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: geos::noding::SegmentNodeList::getSplitCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - auto::hasRepeatedPoints
    - geos::noding::SegmentNodeList::addEdgeCoordinates
    - detail::make_unique<CoordinateSequence>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::getSplitCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:314,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ei0
    - ei1
    - ' coordList'
    argTypes:
    - SegmentNode*
    - SegmentNode*
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: geos::noding::SegmentNodeList::addEdgeCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::createSplitEdgePts
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEdgeCoordinates(const SegmentNode* ei0, const
      SegmentNode* ei1, CoordinateSequence& coordList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeMap::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' nlist'
    argTypes:
    - std::ostream
    - SegmentNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: '&

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - nodeMap::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:54,1
    - Dst: erase
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: std::unique
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:58,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: geos::noding::SegmentNodeList::prepare
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    - std::unique
    - end
    - begin
    - std::sort
    - erase
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::prepare() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:68,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:70,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:73,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:74,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:76,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentNodeList::addEndpoints
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 4
    functionsReached:
    - add
    - size
    - getCoordinates
    - auto*::getAt
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:86,1
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
      Src: /src/geos/src/noding/SegmentNodeList.cpp:87,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: geos::noding::SegmentNodeList::addCollapsedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 2
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    - geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addCollapsedNodes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:101,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:105,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:106,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:107,1
    - Dst: equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - size
    - push_back
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromExistingVertices(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:124,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:127,1
    - Dst: geos::noding::SegmentNodeList::findCollapseIndex
      Src: /src/geos/src/noding/SegmentNodeList.cpp:129,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - begin
    - push_back
    - geos::noding::SegmentNodeList::findCollapseIndex
    - end
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromInsertedNodes(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:144,1
    - Dst: coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:146,1
    - Dst: isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' ei0'
    - ' ei1'
    - ' collapsedVertexIndex'
    argTypes:
    - SegmentNode
    - SegmentNode
    - size_t
    assertStmts:
    - condition: (ei1.segmentIndex >= ei0.segmentIndex)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: geos::noding::SegmentNodeList::findCollapseIndex
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - assert
    - coord::equals2D
    - isInterior
    linkageType: ''
    returnType: bool
    signature: "bool SegmentNodeList::findCollapseIndex(const SegmentNode& ei0, const
      SegmentNode& ei1,\n                                   size_t& collapsedVertexIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:178,1
    - Dst: geos::noding::SegmentNodeList::addCollapsedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:179,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:185,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:187,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:189,1
    - Dst: SegmentNode*::compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:191,1
    - Dst: geos::noding::SegmentNodeList::createSplitEdge
      Src: /src/geos/src/noding/SegmentNodeList.cpp:195,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
      Src: /src/geos/src/noding/SegmentNodeList.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' edgeList'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (eiPrev)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (ei)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: geos::noding::SegmentNodeList::addSplitEdges
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - geos::noding::SegmentNodeList::addCollapsedNodes
    - SegmentNode*::compareTo
    - push_back
    - std::vector::push_back
    - geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    - geos::noding::SegmentNodeList::createSplitEdge
    - back
    - std::unique_ptr::release
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addSplitEdges(std::vector<SegmentString*>& edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/noding/SegmentNodeList.cpp:212,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:216,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:221,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:223,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:224,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:228,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:229,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:231,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' splitEdges'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (edgePts)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (split0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitn)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitnPts)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - SegmentString*::getCoordinate
    - CoordinateSequence*::getAt
    - size
    - getCoordinates
    - SegmentString*::getCoordinates
    - CoordinateSequence*::getSize
    - toString
    - geos::io::util::GEOSException
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::checkSplitEdgesCorrectness(const std::vector<SegmentString*>&
      splitEdges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:244,1
    - Dst: detail::make_unique<NodedSegmentString>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: getData
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: geos::noding::SegmentNodeList::createSplitEdge
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - auto::release
    - detail::make_unique<NodedSegmentString>
    - geos::noding::SegmentNodeList::createSplitEdgePts
    - getData
    linkageType: ''
    returnType: std::unique_ptr<SegmentString>
    signature: std::unique_ptr<SegmentString> SegmentNodeList::createSplitEdge(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:257,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:258,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:259,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:263,1
    - Dst: SegmentNode*::isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: SegmentNode*::coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:275,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentNodeList.cpp:276,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:278,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:279,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:280,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:282,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    - Dst: auto::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts:
    - condition: (pts->size() == npts)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: geos::noding::SegmentNodeList::createSplitEdgePts
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 5
    functionsReached:
    - SegmentNode*::isInterior
    - auto::add
    - auto::size
    - getCoordinates
    - getCoordinate
    - auto::reserve
    - SegmentNode*::coord::equals2D
    - detail::make_unique<CoordinateSequence>
    - assert
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::createSplitEdgePts(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:296,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:297,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:299,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:301,1
    - Dst: geos::noding::SegmentNodeList::addEdgeCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:303,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    - Dst: auto::hasRepeatedPoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->hasRepeatedPoints())
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: geos::noding::SegmentNodeList::getSplitCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - auto::hasRepeatedPoints
    - geos::noding::SegmentNodeList::addEdgeCoordinates
    - detail::make_unique<CoordinateSequence>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::getSplitCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:314,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ei0
    - ei1
    - ' coordList'
    argTypes:
    - SegmentNode*
    - SegmentNode*
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: geos::noding::SegmentNodeList::addEdgeCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::createSplitEdgePts
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEdgeCoordinates(const SegmentNode* ei0, const
      SegmentNode* ei1, CoordinateSequence& coordList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeMap::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' nlist'
    argTypes:
    - std::ostream
    - SegmentNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: '&

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - nodeMap::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:53,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:54,1
    - Dst: erase
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: std::unique
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:57,1
    - Dst: compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:58,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: geos::noding::SegmentNodeList::prepare
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    - std::unique
    - end
    - begin
    - std::sort
    - erase
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::prepare() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:68,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:70,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:73,1
    - Dst: auto*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:74,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:76,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: geos::noding::SegmentNodeList::addEndpoints
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 6
    functionsReached:
    - add
    - size
    - getCoordinates
    - auto*::getAt
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEndpoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:86,1
    - Dst: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
      Src: /src/geos/src/noding/SegmentNodeList.cpp:87,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: geos::noding::SegmentNodeList::addCollapsedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 3
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    - geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    - getCoordinate
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addCollapsedNodes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:101,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:105,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:106,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:107,1
    - Dst: equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:108,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: geos::noding::SegmentNodeList::findCollapsesFromExistingVertices
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 4
    functionsReached:
    - size
    - push_back
    - getCoordinate
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromExistingVertices(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:124,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:127,1
    - Dst: geos::noding::SegmentNodeList::findCollapseIndex
      Src: /src/geos/src/noding/SegmentNodeList.cpp:129,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' collapsedVertexIndexes'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: geos::noding::SegmentNodeList::findCollapsesFromInsertedNodes
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 4
    functionsReached:
    - begin
    - push_back
    - geos::noding::SegmentNodeList::findCollapseIndex
    - end
    linkageType: ''
    returnType: void
    signature: "void SegmentNodeList::findCollapsesFromInsertedNodes(\n    std::vector<size_t>&
      collapsedVertexIndexes) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:144,1
    - Dst: coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:146,1
    - Dst: isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' ei0'
    - ' ei1'
    - ' collapsedVertexIndex'
    argTypes:
    - SegmentNode
    - SegmentNode
    - size_t
    assertStmts:
    - condition: (ei1.segmentIndex >= ei0.segmentIndex)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: geos::noding::SegmentNodeList::findCollapseIndex
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 4
    functionsReached:
    - assert
    - coord::equals2D
    - isInterior
    linkageType: ''
    returnType: bool
    signature: "bool SegmentNodeList::findCollapseIndex(const SegmentNode& ei0, const
      SegmentNode& ei1,\n                                   size_t& collapsedVertexIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:178,1
    - Dst: geos::noding::SegmentNodeList::addCollapsedNodes
      Src: /src/geos/src/noding/SegmentNodeList.cpp:179,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:183,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:185,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:187,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:189,1
    - Dst: SegmentNode*::compareTo
      Src: /src/geos/src/noding/SegmentNodeList.cpp:191,1
    - Dst: geos::noding::SegmentNodeList::createSplitEdge
      Src: /src/geos/src/noding/SegmentNodeList.cpp:195,1
    - Dst: push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::unique_ptr::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:196,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: back
      Src: /src/geos/src/noding/SegmentNodeList.cpp:198,1
    - Dst: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
      Src: /src/geos/src/noding/SegmentNodeList.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' edgeList'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (eiPrev)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (ei)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: geos::noding::SegmentNodeList::addSplitEdges
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - geos::noding::SegmentNodeList::addCollapsedNodes
    - SegmentNode*::compareTo
    - push_back
    - std::vector::push_back
    - geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    - geos::noding::SegmentNodeList::createSplitEdge
    - back
    - std::unique_ptr::release
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addSplitEdges(std::vector<SegmentString*>& edgeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/noding/SegmentNodeList.cpp:212,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:216,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:221,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:223,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:224,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:225,1
    - Dst: size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:228,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:229,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:231,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:232,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:234,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/noding/SegmentNodeList.cpp:235,1
    - Dst: geos::io::util::GEOSException
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    - Dst: toString
      Src: /src/geos/src/noding/SegmentNodeList.cpp:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ' splitEdges'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts:
    - condition: (edgePts)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (split0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitn)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    - condition: (splitnPts)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: geos::noding::SegmentNodeList::checkSplitEdgesCorrectness
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 4
    functionsReached:
    - SegmentString*::getCoordinate
    - CoordinateSequence*::getAt
    - size
    - getCoordinates
    - SegmentString*::getCoordinates
    - CoordinateSequence*::getSize
    - toString
    - geos::io::util::GEOSException
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::checkSplitEdgesCorrectness(const std::vector<SegmentString*>&
      splitEdges) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:244,1
    - Dst: detail::make_unique<NodedSegmentString>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: auto::release
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    - Dst: getData
      Src: /src/geos/src/noding/SegmentNodeList.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: geos::noding::SegmentNodeList::createSplitEdge
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 4
    functionsReached:
    - auto::release
    - detail::make_unique<NodedSegmentString>
    - geos::noding::SegmentNodeList::createSplitEdgePts
    - getData
    linkageType: ''
    returnType: std::unique_ptr<SegmentString>
    signature: std::unique_ptr<SegmentString> SegmentNodeList::createSplitEdge(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:257,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:258,1
    - Dst: auto::setAt
      Src: /src/geos/src/noding/SegmentNodeList.cpp:259,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/SegmentNodeList.cpp:263,1
    - Dst: SegmentNode*::isInterior
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: SegmentNode*::coord::equals2D
      Src: /src/geos/src/noding/SegmentNodeList.cpp:271,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:275,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/SegmentNodeList.cpp:276,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:278,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:279,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:280,1
    - Dst: auto::add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:282,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    - Dst: auto::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ei0
    - ei1
    argTypes:
    - SegmentNode*
    - SegmentNode*
    assertStmts:
    - condition: (pts->size() == npts)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: geos::noding::SegmentNodeList::createSplitEdgePts
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 7
    functionsReached:
    - SegmentNode*::isInterior
    - auto::add
    - auto::size
    - getCoordinates
    - getCoordinate
    - auto::reserve
    - SegmentNode*::coord::equals2D
    - detail::make_unique<CoordinateSequence>
    - assert
    - auto::setAt
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::createSplitEdgePts(const
      SegmentNode* ei0, const SegmentNode* ei1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::addEndpoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:296,1
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/SegmentNodeList.cpp:297,1
    - Dst: begin
      Src: /src/geos/src/noding/SegmentNodeList.cpp:299,1
    - Dst: end
      Src: /src/geos/src/noding/SegmentNodeList.cpp:301,1
    - Dst: geos::noding::SegmentNodeList::addEdgeCoordinates
      Src: /src/geos/src/noding/SegmentNodeList.cpp:303,1
    - Dst: assert
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    - Dst: auto::hasRepeatedPoints
      Src: /src/geos/src/noding/SegmentNodeList.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!coordList->hasRepeatedPoints())
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/geos/src/noding/SegmentNodeList.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: geos::noding::SegmentNodeList::getSplitCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentNodeList::addEndpoints
    - auto::hasRepeatedPoints
    - geos::noding::SegmentNodeList::addEdgeCoordinates
    - detail::make_unique<CoordinateSequence>
    - assert
    - begin
    - end
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SegmentNodeList::getSplitCoordinates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::SegmentNodeList::createSplitEdgePts
      Src: /src/geos/src/noding/SegmentNodeList.cpp:314,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentNodeList.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ei0
    - ei1
    - ' coordList'
    argTypes:
    - SegmentNode*
    - SegmentNode*
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: geos::noding::SegmentNodeList::addEdgeCoordinates
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 4
    functionsReached:
    - add
    - geos::noding::SegmentNodeList::createSplitEdgePts
    linkageType: ''
    returnType: void
    signature: void SegmentNodeList::addEdgeCoordinates(const SegmentNode* ei0, const
      SegmentNode* ei1, CoordinateSequence& coordList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeMap::size
      Src: /src/geos/src/noding/SegmentNodeList.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' nlist'
    argTypes:
    - std::ostream
    - SegmentNodeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: '&

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
    functionSourceFile: /src/geos/src/noding/SegmentNodeList.cpp
    functionUses: 0
    functionsReached:
    - nodeMap::size
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentNodeList& nlist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/geos/src/noding/SegmentString.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' ss'
    argTypes:
    - std::ostream
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      operator<< (std::ostream& os, const SegmentString& ss)'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached:
    - print
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentString& ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: '&

      SegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      SegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/geos/src/noding/SegmentString.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' ss'
    argTypes:
    - std::ostream
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      operator<< (std::ostream& os, const SegmentString& ss)'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached:
    - print
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentString& ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: '&

      SegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      SegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/geos/src/noding/SegmentString.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' ss'
    argTypes:
    - std::ostream
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      operator<< (std::ostream& os, const SegmentString& ss)'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached:
    - print
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentString& ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: '&

      SegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      SegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/geos/src/noding/SegmentString.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' ss'
    argTypes:
    - std::ostream
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '&

      operator<< (std::ostream& os, const SegmentString& ss)'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached:
    - print
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      operator<< (std::ostream& os, const SegmentString& ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: '&

      SegmentString::print(std::ostream& os) const'
    functionSourceFile: /src/geos/src/noding/SegmentString.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      SegmentString::print(std::ostream& os) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:42,1
    - Dst: algorithm::LineIntersector::LineIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:43,1
    - Dst: setBaseSegments
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - baseSegStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - setBaseSegments
    - algorithm::LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: 'void FastSegmentSetIntersectionFinder::

      FastSegmentSetIntersectionFinder(noding::SegmentString::ConstVect* baseSegStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:52,1
    - Dst: geos::noding::FastSegmentSetIntersectionFinder::intersects
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 1
    functionsReached:
    - get
    - geos::noding::FastSegmentSetIntersectionFinder::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool FastSegmentSetIntersectionFinder::

      intersects(noding::SegmentString::ConstVect* segStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:62,1
    - Dst: process
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:63,1
    - Dst: SegmentIntersectionDetector*::hasIntersection
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - segStrings
    - intDetector
    argTypes:
    - noding::SegmentString::ConstVect*
    - SegmentIntersectionDetector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 1
    functionsReached:
    - process
    - SegmentIntersectionDetector*::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: "bool FastSegmentSetIntersectionFinder::\nintersects(noding::SegmentString::ConstVect*
      segStrings,\n           SegmentIntersectionDetector* intDetector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:42,1
    - Dst: algorithm::LineIntersector::LineIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:43,1
    - Dst: setBaseSegments
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - baseSegStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - setBaseSegments
    - algorithm::LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: 'void FastSegmentSetIntersectionFinder::

      FastSegmentSetIntersectionFinder(noding::SegmentString::ConstVect* baseSegStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:52,1
    - Dst: geos::noding::FastSegmentSetIntersectionFinder::intersects
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 2
    functionsReached:
    - get
    - geos::noding::FastSegmentSetIntersectionFinder::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool FastSegmentSetIntersectionFinder::

      intersects(noding::SegmentString::ConstVect* segStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:62,1
    - Dst: process
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:63,1
    - Dst: SegmentIntersectionDetector*::hasIntersection
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - segStrings
    - intDetector
    argTypes:
    - noding::SegmentString::ConstVect*
    - SegmentIntersectionDetector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 2
    functionsReached:
    - process
    - SegmentIntersectionDetector*::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: "bool FastSegmentSetIntersectionFinder::\nintersects(noding::SegmentString::ConstVect*
      segStrings,\n           SegmentIntersectionDetector* intDetector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:42,1
    - Dst: algorithm::LineIntersector::LineIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:43,1
    - Dst: setBaseSegments
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - baseSegStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - setBaseSegments
    - algorithm::LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: 'void FastSegmentSetIntersectionFinder::

      FastSegmentSetIntersectionFinder(noding::SegmentString::ConstVect* baseSegStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:52,1
    - Dst: geos::noding::FastSegmentSetIntersectionFinder::intersects
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 3
    functionsReached:
    - get
    - geos::noding::FastSegmentSetIntersectionFinder::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool FastSegmentSetIntersectionFinder::

      intersects(noding::SegmentString::ConstVect* segStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:62,1
    - Dst: process
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:63,1
    - Dst: SegmentIntersectionDetector*::hasIntersection
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - segStrings
    - intDetector
    argTypes:
    - noding::SegmentString::ConstVect*
    - SegmentIntersectionDetector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 3
    functionsReached:
    - process
    - SegmentIntersectionDetector*::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: "bool FastSegmentSetIntersectionFinder::\nintersects(noding::SegmentString::ConstVect*
      segStrings,\n           SegmentIntersectionDetector* intDetector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:42,1
    - Dst: algorithm::LineIntersector::LineIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:43,1
    - Dst: setBaseSegments
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - baseSegStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: geos::noding::FastSegmentSetIntersectionFinder::FastSegmentSetIntersectionFinder
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - MCIndexSegmentSetMutualIntersector::MCIndexSegmentSetMutualIntersector
    - setBaseSegments
    - algorithm::LineIntersector::LineIntersector
    linkageType: ''
    returnType: void
    signature: 'void FastSegmentSetIntersectionFinder::

      FastSegmentSetIntersectionFinder(noding::SegmentString::ConstVect* baseSegStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:52,1
    - Dst: geos::noding::FastSegmentSetIntersectionFinder::intersects
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - noding::SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 4
    functionsReached:
    - get
    - geos::noding::FastSegmentSetIntersectionFinder::intersects
    linkageType: ''
    returnType: bool
    signature: 'bool FastSegmentSetIntersectionFinder::

      intersects(noding::SegmentString::ConstVect* segStrings)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:62,1
    - Dst: process
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:63,1
    - Dst: SegmentIntersectionDetector*::hasIntersection
      Src: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - segStrings
    - intDetector
    argTypes:
    - noding::SegmentString::ConstVect*
    - SegmentIntersectionDetector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: geos::noding::FastSegmentSetIntersectionFinder::intersects
    functionSourceFile: /src/geos/src/noding/FastSegmentSetIntersectionFinder.cpp
    functionUses: 4
    functionsReached:
    - process
    - SegmentIntersectionDetector*::hasIntersection
    - setSegmentIntersector
    linkageType: ''
    returnType: bool
    signature: "bool FastSegmentSetIntersectionFinder::\nintersects(noding::SegmentString::ConstVect*
      segStrings,\n           SegmentIntersectionDetector* intDetector)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:43,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:44,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:45,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:46,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:48,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:51,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:52,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:57,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:58,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:59,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: geos::noding::IntersectionFinderAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionFinderAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: "void IntersectionFinderAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:43,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:44,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:45,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:46,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:48,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:51,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:52,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:57,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:58,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:59,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: geos::noding::IntersectionFinderAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionFinderAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: "void IntersectionFinderAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:43,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:44,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:45,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:46,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:48,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:51,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:52,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:57,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:58,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:59,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: geos::noding::IntersectionFinderAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionFinderAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: "void IntersectionFinderAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:43,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:44,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:45,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:46,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:48,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:51,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:52,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:53,1
    - Dst: push_back
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:54,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:57,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:58,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:59,1
    - Dst: NodedSegmentString*::addIntersections
      Src: /src/geos/src/noding/IntersectionFinderAdder.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: geos::noding::IntersectionFinderAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/IntersectionFinderAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - detail::down_cast<NodedSegmentString*>
    - NodedSegmentString*::addIntersections
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: "void IntersectionFinderAdder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: NodingIntersectionFinder::NodingIntersectionFinder
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: get
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/FastNodingValidator.cpp:40,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::noding::FastNodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - NodingIntersectionFinder::NodingIntersectionFinder
    - get
    - hasIntersection
    - reset
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkInteriorIntersections()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/src/noding/FastNodingValidator.cpp:55,1
    - Dst: getIntersectionSegments
      Src: /src/geos/src/noding/FastNodingValidator.cpp:60,1
    - Dst: assert
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:63,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (intSegs.size() == 4)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/geos/src/noding/FastNodingValidator.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: geos::noding::FastNodingValidator::getErrorMessage
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - size
    - getIntersectionSegments
    - string
    - assert
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::string
    signature: std::string FastNodingValidator::getErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::FastNodingValidator::execute
      Src: /src/geos/src/noding/FastNodingValidator.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: geos::noding::FastNodingValidator::getErrorMessage
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: getInteriorIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: geos::noding::FastNodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::FastNodingValidator::execute
    - geos::noding::FastNodingValidator::getErrorMessage
    - geos::util::TopologyException
    - getInteriorIntersection
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: NodingIntersectionFinder::NodingIntersectionFinder
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: get
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/FastNodingValidator.cpp:40,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::noding::FastNodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - NodingIntersectionFinder::NodingIntersectionFinder
    - get
    - hasIntersection
    - reset
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkInteriorIntersections()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/src/noding/FastNodingValidator.cpp:55,1
    - Dst: getIntersectionSegments
      Src: /src/geos/src/noding/FastNodingValidator.cpp:60,1
    - Dst: assert
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:63,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (intSegs.size() == 4)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/geos/src/noding/FastNodingValidator.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: geos::noding::FastNodingValidator::getErrorMessage
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 1
    functionsReached:
    - size
    - getIntersectionSegments
    - string
    - assert
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::string
    signature: std::string FastNodingValidator::getErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::FastNodingValidator::execute
      Src: /src/geos/src/noding/FastNodingValidator.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: geos::noding::FastNodingValidator::getErrorMessage
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: getInteriorIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: geos::noding::FastNodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::FastNodingValidator::execute
    - geos::noding::FastNodingValidator::getErrorMessage
    - geos::util::TopologyException
    - getInteriorIntersection
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: NodingIntersectionFinder::NodingIntersectionFinder
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: get
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/FastNodingValidator.cpp:40,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::noding::FastNodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - NodingIntersectionFinder::NodingIntersectionFinder
    - get
    - hasIntersection
    - reset
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkInteriorIntersections()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/src/noding/FastNodingValidator.cpp:55,1
    - Dst: getIntersectionSegments
      Src: /src/geos/src/noding/FastNodingValidator.cpp:60,1
    - Dst: assert
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:63,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (intSegs.size() == 4)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/geos/src/noding/FastNodingValidator.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: geos::noding::FastNodingValidator::getErrorMessage
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 2
    functionsReached:
    - size
    - getIntersectionSegments
    - string
    - assert
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::string
    signature: std::string FastNodingValidator::getErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::FastNodingValidator::execute
      Src: /src/geos/src/noding/FastNodingValidator.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: geos::noding::FastNodingValidator::getErrorMessage
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: getInteriorIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: geos::noding::FastNodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::FastNodingValidator::execute
    - geos::noding::FastNodingValidator::getErrorMessage
    - geos::util::TopologyException
    - getInteriorIntersection
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: NodingIntersectionFinder::NodingIntersectionFinder
      Src: /src/geos/src/noding/FastNodingValidator.cpp:37,1
    - Dst: MCIndexNoder::setSegmentIntersector
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: get
      Src: /src/geos/src/noding/FastNodingValidator.cpp:39,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/FastNodingValidator.cpp:40,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: geos::noding::FastNodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - MCIndexNoder::setSegmentIntersector
    - NodingIntersectionFinder::NodingIntersectionFinder
    - get
    - hasIntersection
    - reset
    - MCIndexNoder::computeNodes
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkInteriorIntersections()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/geos/src/noding/FastNodingValidator.cpp:55,1
    - Dst: getIntersectionSegments
      Src: /src/geos/src/noding/FastNodingValidator.cpp:60,1
    - Dst: assert
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/FastNodingValidator.cpp:61,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:63,1
    - Dst: geos::io::WKTWriter::toLineString
      Src: /src/geos/src/noding/FastNodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (intSegs.size() == 4)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/geos/src/noding/FastNodingValidator.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: geos::noding::FastNodingValidator::getErrorMessage
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 3
    functionsReached:
    - size
    - getIntersectionSegments
    - string
    - assert
    - geos::io::WKTWriter::toLineString
    linkageType: ''
    returnType: std::string
    signature: std::string FastNodingValidator::getErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::FastNodingValidator::execute
      Src: /src/geos/src/noding/FastNodingValidator.cpp:71,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: geos::noding::FastNodingValidator::getErrorMessage
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    - Dst: getInteriorIntersection
      Src: /src/geos/src/noding/FastNodingValidator.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: geos::noding::FastNodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/FastNodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::FastNodingValidator::execute
    - geos::noding::FastNodingValidator::getErrorMessage
    - geos::util::TopologyException
    - getInteriorIntersection
    linkageType: ''
    returnType: void
    signature: void FastNodingValidator::checkValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToIndex(SegmentString*
      segStr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:49,1
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: push_back
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - getEnvelope
    - SegmentString*::getCoordinates
    - geos::index::chain::MonotoneChainBuilder::getChains
    - push_back
    - SegmentString*::size
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToMonoChains(SegmentString*
      segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - isDone
    - computeOverlaps
    - query
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::intersectChains()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:86,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:88,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::setBaseSegments
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    - const_cast<SegmentString*>
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::setBaseSegments(SegmentString::ConstVect*
      segStrings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: clear
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:107,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:112,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:113,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::process
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - insert
    - getEnvelope
    - geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    - clear
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    - const_cast<SegmentString*>
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::process(SegmentString::ConstVect*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: "MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - processIntersections
    - static_cast<SegmentString*>
    - getContext
    linkageType: ''
    returnType: void
    signature: "void MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 1
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToIndex(SegmentString*
      segStr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:49,1
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: push_back
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 1
    functionsReached:
    - intersects
    - getEnvelope
    - SegmentString*::getCoordinates
    - geos::index::chain::MonotoneChainBuilder::getChains
    - push_back
    - SegmentString*::size
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToMonoChains(SegmentString*
      segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 1
    functionsReached:
    - isDone
    - computeOverlaps
    - query
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::intersectChains()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:86,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:88,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::setBaseSegments
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    - const_cast<SegmentString*>
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::setBaseSegments(SegmentString::ConstVect*
      segStrings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: clear
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:107,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:112,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:113,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::process
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - insert
    - getEnvelope
    - geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    - clear
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    - const_cast<SegmentString*>
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::process(SegmentString::ConstVect*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: "MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - processIntersections
    - static_cast<SegmentString*>
    - getContext
    linkageType: ''
    returnType: void
    signature: "void MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 2
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToIndex(SegmentString*
      segStr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:49,1
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: push_back
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 2
    functionsReached:
    - intersects
    - getEnvelope
    - SegmentString*::getCoordinates
    - geos::index::chain::MonotoneChainBuilder::getChains
    - push_back
    - SegmentString*::size
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToMonoChains(SegmentString*
      segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 2
    functionsReached:
    - isDone
    - computeOverlaps
    - query
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::intersectChains()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:86,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:88,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::setBaseSegments
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    - const_cast<SegmentString*>
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::setBaseSegments(SegmentString::ConstVect*
      segStrings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: clear
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:107,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:112,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:113,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::process
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - insert
    - getEnvelope
    - geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    - clear
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    - const_cast<SegmentString*>
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::process(SegmentString::ConstVect*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: "MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - processIntersections
    - static_cast<SegmentString*>
    - getContext
    linkageType: ''
    returnType: void
    signature: "void MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 3
    functionsReached:
    - geos::index::chain::MonotoneChainBuilder::getChains
    - SegmentString*::getCoordinates
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToIndex(SegmentString*
      segStr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:49,1
    - Dst: geos::index::chain::MonotoneChainBuilder::getChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:52,1
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:55,1
    - Dst: push_back
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - segStr
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 3
    functionsReached:
    - intersects
    - getEnvelope
    - SegmentString*::getCoordinates
    - geos::index::chain::MonotoneChainBuilder::getChains
    - push_back
    - SegmentString*::size
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::addToMonoChains(SegmentString*
      segStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:69,1
    - Dst: computeOverlaps
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:70,1
    - Dst: isDone
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 3
    functionsReached:
    - isDone
    - computeOverlaps
    - query
    - getEnvelope
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::intersectChains()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:86,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:88,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::setBaseSegments
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - size
    - const_cast<SegmentString*>
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToIndex
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::setBaseSegments(SegmentString::ConstVect*
      segStrings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intersects
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:99,1
    - Dst: insert
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: getEnvelope
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:100,1
    - Dst: clear
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:107,1
    - Dst: const_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:112,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:113,1
    - Dst: geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - SegmentString::ConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: geos::noding::MCIndexSegmentSetMutualIntersector::process
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - insert
    - getEnvelope
    - geos::noding::MCIndexSegmentSetMutualIntersector::intersectChains
    - clear
    - geos::noding::MCIndexSegmentSetMutualIntersector::addToMonoChains
    - const_cast<SegmentString*>
    linkageType: ''
    returnType: void
    signature: void MCIndexSegmentSetMutualIntersector::process(SegmentString::ConstVect*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:124,1
    - Dst: static_cast<SegmentString*>
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: getContext
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:125,1
    - Dst: processIntersections
      Src: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' mc1'
    - start1
    - ' mc2'
    - start2
    argTypes:
    - MonotoneChain
    - std::size_t
    - MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: "MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
    functionSourceFile: /src/geos/src/noding/MCIndexSegmentSetMutualIntersector.cpp
    functionUses: 0
    functionsReached:
    - processIntersections
    - static_cast<SegmentString*>
    - getContext
    linkageType: ''
    returnType: void
    signature: "void MCIndexSegmentSetMutualIntersector::SegmentOverlapAction::overlap(\n
      \   const MonotoneChain& mc1, std::size_t start1, const MonotoneChain& mc2,
      std::size_t start2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::increasingDirection
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::noding::OrientedCoordinateArray::orientation
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::increasingDirection
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::orientation(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::compareOriented
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oca'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::noding::OrientedCoordinateArray::compareTo
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::OrientedCoordinateArray::compareOriented
    linkageType: ''
    returnType: int
    signature: int OrientedCoordinateArray::compareTo(const OrientedCoordinateArray&
      oca) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: geos::noding::OrientedCoordinateArray::compareTo
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ' pts1'
    - orientation1
    - ' pts2'
    - orientation2
    argTypes:
    - geom::CoordinateSequence
    - bool
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: geos::noding::OrientedCoordinateArray::compareOriented
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - size
    - geos::noding::OrientedCoordinateArray::compareTo
    - static_cast<std::size_t>
    linkageType: ''
    returnType: int
    signature: "int OrientedCoordinateArray::compareOriented(const geom::CoordinateSequence&
      pts1,\n        bool orientation1,\n        const geom::CoordinateSequence& pts2,\n
      \       bool orientation2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:89,1
    - Dst: pts::size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:90,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - pts::size
    - pts::getAt
    - size
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::pts::getSize
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:117,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - oca
    argTypes:
    - geos::noding::OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::OrientedCoordinateArray::pts::getSize
    - coordHash
    - geos::noding::OrientedCoordinateArray::pts::getAt
    linkageType: ''
    returnType: size_t
    signature: size_t OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::increasingDirection
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::noding::OrientedCoordinateArray::orientation
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::increasingDirection
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::orientation(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::compareOriented
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oca'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::noding::OrientedCoordinateArray::compareTo
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::OrientedCoordinateArray::compareOriented
    linkageType: ''
    returnType: int
    signature: int OrientedCoordinateArray::compareTo(const OrientedCoordinateArray&
      oca) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: geos::noding::OrientedCoordinateArray::compareTo
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ' pts1'
    - orientation1
    - ' pts2'
    - orientation2
    argTypes:
    - geom::CoordinateSequence
    - bool
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: geos::noding::OrientedCoordinateArray::compareOriented
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - size
    - geos::noding::OrientedCoordinateArray::compareTo
    - static_cast<std::size_t>
    linkageType: ''
    returnType: int
    signature: "int OrientedCoordinateArray::compareOriented(const geom::CoordinateSequence&
      pts1,\n        bool orientation1,\n        const geom::CoordinateSequence& pts2,\n
      \       bool orientation2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:89,1
    - Dst: pts::size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:90,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - pts::size
    - pts::getAt
    - size
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::pts::getSize
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:117,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - oca
    argTypes:
    - geos::noding::OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::OrientedCoordinateArray::pts::getSize
    - coordHash
    - geos::noding::OrientedCoordinateArray::pts::getAt
    linkageType: ''
    returnType: size_t
    signature: size_t OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::increasingDirection
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::noding::OrientedCoordinateArray::orientation
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::increasingDirection
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::orientation(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::compareOriented
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oca'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::noding::OrientedCoordinateArray::compareTo
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::OrientedCoordinateArray::compareOriented
    linkageType: ''
    returnType: int
    signature: int OrientedCoordinateArray::compareTo(const OrientedCoordinateArray&
      oca) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: geos::noding::OrientedCoordinateArray::compareTo
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ' pts1'
    - orientation1
    - ' pts2'
    - orientation2
    argTypes:
    - geom::CoordinateSequence
    - bool
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: geos::noding::OrientedCoordinateArray::compareOriented
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - size
    - geos::noding::OrientedCoordinateArray::compareTo
    - static_cast<std::size_t>
    linkageType: ''
    returnType: int
    signature: "int OrientedCoordinateArray::compareOriented(const geom::CoordinateSequence&
      pts1,\n        bool orientation1,\n        const geom::CoordinateSequence& pts2,\n
      \       bool orientation2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:89,1
    - Dst: pts::size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:90,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - pts::size
    - pts::getAt
    - size
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::pts::getSize
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:117,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - oca
    argTypes:
    - geos::noding::OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::OrientedCoordinateArray::pts::getSize
    - coordHash
    - geos::noding::OrientedCoordinateArray::pts::getAt
    linkageType: ''
    returnType: size_t
    signature: size_t OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence::increasingDirection
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: geos::noding::OrientedCoordinateArray::orientation
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence::increasingDirection
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::orientation(const CoordinateSequence&
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::compareOriented
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' oca'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: geos::noding::OrientedCoordinateArray::compareTo
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::OrientedCoordinateArray::compareOriented
    linkageType: ''
    returnType: int
    signature: int OrientedCoordinateArray::compareTo(const OrientedCoordinateArray&
      oca) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:60,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:63,1
    - Dst: static_cast<int>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:64,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: geos::noding::OrientedCoordinateArray::compareTo
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    - Dst: static_cast<std::size_t>
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ' pts1'
    - orientation1
    - ' pts2'
    - orientation2
    argTypes:
    - geom::CoordinateSequence
    - bool
    - geom::CoordinateSequence
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: geos::noding::OrientedCoordinateArray::compareOriented
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - size
    - geos::noding::OrientedCoordinateArray::compareTo
    - static_cast<std::size_t>
    linkageType: ''
    returnType: int
    signature: "int OrientedCoordinateArray::compareOriented(const geom::CoordinateSequence&
      pts1,\n        bool orientation1,\n        const geom::CoordinateSequence& pts2,\n
      \       bool orientation2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:89,1
    - Dst: pts::size
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:90,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    - Dst: pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - pts::size
    - pts::getAt
    - size
    - getAt
    linkageType: ''
    returnType: bool
    signature: bool OrientedCoordinateArray::operator==(const OrientedCoordinateArray&
      other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::OrientedCoordinateArray::pts::getSize
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:117,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:123,1
    - Dst: coordHash
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    - Dst: geos::noding::OrientedCoordinateArray::pts::getAt
      Src: /src/geos/src/noding/OrientedCoordinateArray.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - oca
    argTypes:
    - geos::noding::OrientedCoordinateArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
    functionSourceFile: /src/geos/src/noding/OrientedCoordinateArray.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::OrientedCoordinateArray::pts::getSize
    - coordHash
    - geos::noding::OrientedCoordinateArray::pts::getAt
    linkageType: ''
    returnType: size_t
    signature: size_t OrientedCoordinateArray::HashCode::operator()(const geos::noding::OrientedCoordinateArray
      &oca) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:41,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:57,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:58,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:64,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:65,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:66,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:67,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:70,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:72,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:74,1
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: std::max
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: std::min
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:89,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:91,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:92,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: geos::noding::NodingIntersectionFinder::processIntersections
    functionSourceFile: /src/geos/src/noding/NodingIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - geos::noding::NodingIntersectionFinder::hasIntersection
    - geos::noding::NodingIntersectionFinder::isEndSegment
    - isInteriorIntersection
    - SegmentString*::size
    - std::max
    - std::min
    - geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
    linkageType: ''
    returnType: void
    signature: "void NodingIntersectionFinder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:41,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:57,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:58,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:64,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:65,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:66,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:67,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:70,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:72,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:74,1
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: std::max
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: std::min
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:89,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:91,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:92,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: geos::noding::NodingIntersectionFinder::processIntersections
    functionSourceFile: /src/geos/src/noding/NodingIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - geos::noding::NodingIntersectionFinder::hasIntersection
    - geos::noding::NodingIntersectionFinder::isEndSegment
    - isInteriorIntersection
    - SegmentString*::size
    - std::max
    - std::min
    - geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
    linkageType: ''
    returnType: void
    signature: "void NodingIntersectionFinder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:41,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:57,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:58,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:64,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:65,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:66,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:67,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:70,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:72,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:74,1
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: std::max
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: std::min
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:89,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:91,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:92,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: geos::noding::NodingIntersectionFinder::processIntersections
    functionSourceFile: /src/geos/src/noding/NodingIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - geos::noding::NodingIntersectionFinder::hasIntersection
    - geos::noding::NodingIntersectionFinder::isEndSegment
    - isInteriorIntersection
    - SegmentString*::size
    - std::max
    - std::min
    - geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
    linkageType: ''
    returnType: void
    signature: "void NodingIntersectionFinder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:41,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:57,1
    - Dst: geos::noding::NodingIntersectionFinder::isEndSegment
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:58,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:64,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:65,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:66,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:67,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:70,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:72,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:74,1
    - Dst: geos::noding::NodingIntersectionFinder::hasIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:78,1
    - Dst: std::max
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: std::min
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:82,1
    - Dst: geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:85,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:89,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:90,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:91,1
    - Dst: push_back
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:92,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingIntersectionFinder.cpp:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: geos::noding::NodingIntersectionFinder::processIntersections
    functionSourceFile: /src/geos/src/noding/NodingIntersectionFinder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - push_back
    - computeIntersection
    - geos::noding::NodingIntersectionFinder::hasIntersection
    - geos::noding::NodingIntersectionFinder::isEndSegment
    - isInteriorIntersection
    - SegmentString*::size
    - std::max
    - std::min
    - geos::noding::NodingIntersectionFinder::isInteriorVertexIntersection
    linkageType: ''
    returnType: void
    signature: "void NodingIntersectionFinder::processIntersections(\n    SegmentString*
      e0,  std::size_t segIndex0,\n    SegmentString* e1,  std::size_t segIndex1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: std::vector<SegmentString*>*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:37,1
    - Dst: geos::noding::BoundaryChainNoder::markBoundarySegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:38,1
    - Dst: geos::noding::BoundaryChainNoder::extractChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: geos::noding::BoundaryChainNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::BoundaryChainNoder::addSegments
    - std::vector::reserve
    - geos::noding::BoundaryChainNoder::extractChains
    - std::vector<SegmentString*>*::size
    - geos::noding::BoundaryChainNoder::markBoundarySegments
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::computeNodes(std::vector<SegmentString*>*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::noding::BoundaryChainNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:60,1
    - Dst: back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:61,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - segStrings
    - ' segSet'
    - ' includedSegs'
    argTypes:
    - std::vector<SegmentString*>*
    - SegmentSet
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 2
    functionsReached:
    - back
    - geos::noding::BoundaryChainNoder::addSegments
    - getCoordinates
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    std::vector<SegmentString*>*
      segStrings,\n    SegmentSet& segSet,\n    std::vector<BoundarySegmentMap>& includedSegs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:70,1
    - Dst: end
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segSet'
    - ' seg'
    argTypes:
    - SegmentSet
    - Segment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: geos::noding::BoundaryChainNoder::segSetContains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool BoundaryChainNoder::segSetContains(SegmentSet& segSet, Segment&
      seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:86,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:88,1
    - Dst: geos::noding::BoundaryChainNoder::segSetContains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:90,1
    - Dst: erase
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:91,1
    - Dst: insert
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - segString
    - ' segMap'
    - ' segSet'
    argTypes:
    - SegmentString*
    - BoundarySegmentMap
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 2
    functionsReached:
    - insert
    - SegmentString*::getCoordinates
    - geos::noding::BoundaryChainNoder::segSetContains
    - SegmentString*::size
    - erase
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    SegmentString* segString,\n
      \   BoundarySegmentMap& segMap,\n    SegmentSet& segSet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: markInBoundary
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segSet'
    argTypes:
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::noding::BoundaryChainNoder::markBoundarySegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 1
    functionsReached:
    - markInBoundary
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::markBoundarySegments(SegmentSet& segSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:113,1
    - Dst: createChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sections'
    argTypes:
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: geos::noding::BoundaryChainNoder::extractChains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 1
    functionsReached:
    - createChains
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::extractChains(std::vector<BoundarySegmentMap>& sections)
      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChainStart
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:140,1
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:141,1
    - Dst: findChainEnd
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:143,1
    - Dst: createChain
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:144,1
    - Dst: push_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' chains'
    - constructZ
    - constructM
    argTypes:
    - std::vector<SegmentString*>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: "BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    - createChain
    - findChainEnd
    - push_back
    - findChainStart
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:160,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:161,1
    - Dst: auto::add
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - segString
    - startIndex
    - endIndex
    - constructZ
    - constructM
    argTypes:
    - SegmentString*
    - std::size_t
    - std::size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: "*\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n    const
      SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t endIndex,\n
      \   bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - SegmentString*::getCoordinates
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: "SegmentString *\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n
      \   const SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t
      endIndex,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: std::vector<SegmentString*>*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:37,1
    - Dst: geos::noding::BoundaryChainNoder::markBoundarySegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:38,1
    - Dst: geos::noding::BoundaryChainNoder::extractChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: geos::noding::BoundaryChainNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::BoundaryChainNoder::addSegments
    - std::vector::reserve
    - geos::noding::BoundaryChainNoder::extractChains
    - std::vector<SegmentString*>*::size
    - geos::noding::BoundaryChainNoder::markBoundarySegments
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::computeNodes(std::vector<SegmentString*>*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::noding::BoundaryChainNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:60,1
    - Dst: back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:61,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - segStrings
    - ' segSet'
    - ' includedSegs'
    argTypes:
    - std::vector<SegmentString*>*
    - SegmentSet
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 4
    functionsReached:
    - back
    - geos::noding::BoundaryChainNoder::addSegments
    - getCoordinates
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    std::vector<SegmentString*>*
      segStrings,\n    SegmentSet& segSet,\n    std::vector<BoundarySegmentMap>& includedSegs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:70,1
    - Dst: end
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segSet'
    - ' seg'
    argTypes:
    - SegmentSet
    - Segment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: geos::noding::BoundaryChainNoder::segSetContains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 1
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool BoundaryChainNoder::segSetContains(SegmentSet& segSet, Segment&
      seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:86,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:88,1
    - Dst: geos::noding::BoundaryChainNoder::segSetContains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:90,1
    - Dst: erase
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:91,1
    - Dst: insert
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - segString
    - ' segMap'
    - ' segSet'
    argTypes:
    - SegmentString*
    - BoundarySegmentMap
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 4
    functionsReached:
    - insert
    - SegmentString*::getCoordinates
    - geos::noding::BoundaryChainNoder::segSetContains
    - SegmentString*::size
    - erase
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    SegmentString* segString,\n
      \   BoundarySegmentMap& segMap,\n    SegmentSet& segSet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: markInBoundary
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segSet'
    argTypes:
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::noding::BoundaryChainNoder::markBoundarySegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 2
    functionsReached:
    - markInBoundary
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::markBoundarySegments(SegmentSet& segSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:113,1
    - Dst: createChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sections'
    argTypes:
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: geos::noding::BoundaryChainNoder::extractChains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 2
    functionsReached:
    - createChains
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::extractChains(std::vector<BoundarySegmentMap>& sections)
      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChainStart
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:140,1
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:141,1
    - Dst: findChainEnd
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:143,1
    - Dst: createChain
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:144,1
    - Dst: push_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' chains'
    - constructZ
    - constructM
    argTypes:
    - std::vector<SegmentString*>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: "BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    - createChain
    - findChainEnd
    - push_back
    - findChainStart
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:160,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:161,1
    - Dst: auto::add
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - segString
    - startIndex
    - endIndex
    - constructZ
    - constructM
    argTypes:
    - SegmentString*
    - std::size_t
    - std::size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: "*\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n    const
      SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t endIndex,\n
      \   bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - SegmentString*::getCoordinates
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: "SegmentString *\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n
      \   const SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t
      endIndex,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: std::vector<SegmentString*>*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:37,1
    - Dst: geos::noding::BoundaryChainNoder::markBoundarySegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:38,1
    - Dst: geos::noding::BoundaryChainNoder::extractChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: geos::noding::BoundaryChainNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::BoundaryChainNoder::addSegments
    - std::vector::reserve
    - geos::noding::BoundaryChainNoder::extractChains
    - std::vector<SegmentString*>*::size
    - geos::noding::BoundaryChainNoder::markBoundarySegments
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::computeNodes(std::vector<SegmentString*>*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::noding::BoundaryChainNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:60,1
    - Dst: back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:61,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - segStrings
    - ' segSet'
    - ' includedSegs'
    argTypes:
    - std::vector<SegmentString*>*
    - SegmentSet
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 6
    functionsReached:
    - back
    - geos::noding::BoundaryChainNoder::addSegments
    - getCoordinates
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    std::vector<SegmentString*>*
      segStrings,\n    SegmentSet& segSet,\n    std::vector<BoundarySegmentMap>& includedSegs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:70,1
    - Dst: end
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segSet'
    - ' seg'
    argTypes:
    - SegmentSet
    - Segment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: geos::noding::BoundaryChainNoder::segSetContains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 2
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool BoundaryChainNoder::segSetContains(SegmentSet& segSet, Segment&
      seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:86,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:88,1
    - Dst: geos::noding::BoundaryChainNoder::segSetContains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:90,1
    - Dst: erase
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:91,1
    - Dst: insert
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - segString
    - ' segMap'
    - ' segSet'
    argTypes:
    - SegmentString*
    - BoundarySegmentMap
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 6
    functionsReached:
    - insert
    - SegmentString*::getCoordinates
    - geos::noding::BoundaryChainNoder::segSetContains
    - SegmentString*::size
    - erase
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    SegmentString* segString,\n
      \   BoundarySegmentMap& segMap,\n    SegmentSet& segSet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: markInBoundary
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segSet'
    argTypes:
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::noding::BoundaryChainNoder::markBoundarySegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 3
    functionsReached:
    - markInBoundary
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::markBoundarySegments(SegmentSet& segSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:113,1
    - Dst: createChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sections'
    argTypes:
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: geos::noding::BoundaryChainNoder::extractChains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 3
    functionsReached:
    - createChains
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::extractChains(std::vector<BoundarySegmentMap>& sections)
      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChainStart
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:140,1
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:141,1
    - Dst: findChainEnd
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:143,1
    - Dst: createChain
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:144,1
    - Dst: push_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' chains'
    - constructZ
    - constructM
    argTypes:
    - std::vector<SegmentString*>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: "BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    - createChain
    - findChainEnd
    - push_back
    - findChainStart
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:160,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:161,1
    - Dst: auto::add
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - segString
    - startIndex
    - endIndex
    - constructZ
    - constructM
    argTypes:
    - SegmentString*
    - std::size_t
    - std::size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: "*\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n    const
      SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t endIndex,\n
      \   bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - SegmentString*::getCoordinates
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: "SegmentString *\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n
      \   const SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t
      endIndex,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: std::vector<SegmentString*>*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:36,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:37,1
    - Dst: geos::noding::BoundaryChainNoder::markBoundarySegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:38,1
    - Dst: geos::noding::BoundaryChainNoder::extractChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - segStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: geos::noding::BoundaryChainNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::BoundaryChainNoder::addSegments
    - std::vector::reserve
    - geos::noding::BoundaryChainNoder::extractChains
    - std::vector<SegmentString*>*::size
    - geos::noding::BoundaryChainNoder::markBoundarySegments
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::computeNodes(std::vector<SegmentString*>*
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: geos::noding::BoundaryChainNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:57,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:58,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:60,1
    - Dst: back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:61,1
    - Dst: geos::noding::BoundaryChainNoder::addSegments
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - segStrings
    - ' segSet'
    - ' includedSegs'
    argTypes:
    - std::vector<SegmentString*>*
    - SegmentSet
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 8
    functionsReached:
    - back
    - geos::noding::BoundaryChainNoder::addSegments
    - getCoordinates
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    std::vector<SegmentString*>*
      segStrings,\n    SegmentSet& segSet,\n    std::vector<BoundarySegmentMap>& includedSegs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:70,1
    - Dst: end
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' segSet'
    - ' seg'
    argTypes:
    - SegmentSet
    - Segment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: geos::noding::BoundaryChainNoder::segSetContains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 3
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool BoundaryChainNoder::segSetContains(SegmentSet& segSet, Segment&
      seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:86,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:88,1
    - Dst: geos::noding::BoundaryChainNoder::segSetContains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:90,1
    - Dst: erase
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:91,1
    - Dst: insert
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - segString
    - ' segMap'
    - ' segSet'
    argTypes:
    - SegmentString*
    - BoundarySegmentMap
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: geos::noding::BoundaryChainNoder::addSegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 8
    functionsReached:
    - insert
    - SegmentString*::getCoordinates
    - geos::noding::BoundaryChainNoder::segSetContains
    - SegmentString*::size
    - erase
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::addSegments(\n    SegmentString* segString,\n
      \   BoundarySegmentMap& segMap,\n    SegmentSet& segSet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: markInBoundary
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segSet'
    argTypes:
    - SegmentSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: geos::noding::BoundaryChainNoder::markBoundarySegments
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 4
    functionsReached:
    - markInBoundary
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::markBoundarySegments(SegmentSet& segSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<SegmentString*>::vector<SegmentString*>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:113,1
    - Dst: createChains
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' sections'
    argTypes:
    - std::vector<BoundarySegmentMap>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: geos::noding::BoundaryChainNoder::extractChains
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 4
    functionsReached:
    - createChains
    - std::vector<SegmentString*>::vector<SegmentString*>
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      BoundaryChainNoder::extractChains(std::vector<BoundarySegmentMap>& sections)
      const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundaryChainNoder::BoundarySegmentMap::setBoundarySegment(std::size_t
      index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findChainStart
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:140,1
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:141,1
    - Dst: findChainEnd
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:143,1
    - Dst: createChain
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:144,1
    - Dst: push_back
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' chains'
    - constructZ
    - constructM
    argTypes:
    - std::vector<SegmentString*>
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: "BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    - createChain
    - findChainEnd
    - push_back
    - findChainStart
    linkageType: ''
    returnType: void
    signature: "void BoundaryChainNoder::BoundarySegmentMap::createChains(\n    std::vector<SegmentString*>&
      chains,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:160,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:161,1
    - Dst: auto::add
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:162,1
    - Dst: auto::release
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - segString
    - startIndex
    - endIndex
    - constructZ
    - constructM
    argTypes:
    - SegmentString*
    - std::size_t
    - std::size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: "*\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n    const
      SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t endIndex,\n
      \   bool constructZ,\n    bool constructM)"
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::add
    - auto::reserve
    - SegmentString*::getCoordinates
    - detail::make_unique<CoordinateSequence>
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: "SegmentString *\nBoundaryChainNoder::BoundarySegmentMap::createChain(\n
      \   const SegmentString* segString,\n    std::size_t startIndex,\n    std::size_t
      endIndex,\n    bool constructZ,\n    bool constructM)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainStart(std::size_t
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/BoundaryChainNoder.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
    functionSourceFile: /src/geos/src/noding/BoundaryChainNoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t BoundaryChainNoder::BoundarySegmentMap::findChainEnd(std::size_t
      index) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:41,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:42,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:43,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:44,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:46,1
    - Dst: geos::noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:48,1
    - Dst: isProper
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:52,1
    - Dst: geos::noding::SegmentIntersectionDetector::getIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:72,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:77,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:78,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:79,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:80,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - noding::SegmentString*
    - std::size_t
    - noding::SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: geos::noding::SegmentIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/noding/SegmentIntersectionDetector.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentIntersectionDetector::getIntersection
    - geom::CoordinateSequence::CoordinateSequence
    - isProper
    - add
    - computeIntersection
    - noding::SegmentString*::getCoordinate
    - geos::noding::SegmentIntersectionDetector::hasIntersection
    linkageType: ''
    returnType: void
    signature: "void SegmentIntersectionDetector::\nprocessIntersections(\n    noding::SegmentString*
      e0, std::size_t segIndex0,\n    noding::SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:41,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:42,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:43,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:44,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:46,1
    - Dst: geos::noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:48,1
    - Dst: isProper
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:52,1
    - Dst: geos::noding::SegmentIntersectionDetector::getIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:72,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:77,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:78,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:79,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:80,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - noding::SegmentString*
    - std::size_t
    - noding::SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: geos::noding::SegmentIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/noding/SegmentIntersectionDetector.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentIntersectionDetector::getIntersection
    - geom::CoordinateSequence::CoordinateSequence
    - isProper
    - add
    - computeIntersection
    - noding::SegmentString*::getCoordinate
    - geos::noding::SegmentIntersectionDetector::hasIntersection
    linkageType: ''
    returnType: void
    signature: "void SegmentIntersectionDetector::\nprocessIntersections(\n    noding::SegmentString*
      e0, std::size_t segIndex0,\n    noding::SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:41,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:42,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:43,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:44,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:46,1
    - Dst: geos::noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:48,1
    - Dst: isProper
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:52,1
    - Dst: geos::noding::SegmentIntersectionDetector::getIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:72,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:77,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:78,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:79,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:80,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - noding::SegmentString*
    - std::size_t
    - noding::SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: geos::noding::SegmentIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/noding/SegmentIntersectionDetector.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentIntersectionDetector::getIntersection
    - geom::CoordinateSequence::CoordinateSequence
    - isProper
    - add
    - computeIntersection
    - noding::SegmentString*::getCoordinate
    - geos::noding::SegmentIntersectionDetector::hasIntersection
    linkageType: ''
    returnType: void
    signature: "void SegmentIntersectionDetector::\nprocessIntersections(\n    noding::SegmentString*
      e0, std::size_t segIndex0,\n    noding::SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:41,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:42,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:43,1
    - Dst: noding::SegmentString*::getCoordinate
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:44,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:46,1
    - Dst: geos::noding::SegmentIntersectionDetector::hasIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:48,1
    - Dst: isProper
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:52,1
    - Dst: geos::noding::SegmentIntersectionDetector::getIntersection
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:72,1
    - Dst: geom::CoordinateSequence::CoordinateSequence
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:77,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:78,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:79,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:80,1
    - Dst: add
      Src: /src/geos/src/noding/SegmentIntersectionDetector.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - noding::SegmentString*
    - std::size_t
    - noding::SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 84
    functionName: geos::noding::SegmentIntersectionDetector::processIntersections
    functionSourceFile: /src/geos/src/noding/SegmentIntersectionDetector.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::SegmentIntersectionDetector::getIntersection
    - geom::CoordinateSequence::CoordinateSequence
    - isProper
    - add
    - computeIntersection
    - noding::SegmentString*::getCoordinate
    - geos::noding::SegmentIntersectionDetector::hasIntersection
    linkageType: ''
    returnType: void
    signature: "void SegmentIntersectionDetector::\nprocessIntersections(\n    noding::SegmentString*
      e0, std::size_t segIndex0,\n    noding::SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:41,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:42,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::noding::NodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - geos::noding::NodingValidator::checkInteriorIntersections
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:64,1
    - Dst: geos::noding::NodingValidator::checkCollapse
      Src: /src/geos/src/noding/NodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::NodingValidator::checkCollapse
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses(const SegmentString& ss) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/noding/NodingValidator.cpp:74,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:75,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:76,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:77,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: geos::noding::NodingValidator::checkCollapse
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 1
    functionsReached:
    - geos::util::TopologyException
    - toString
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkCollapse(const Coordinate& p0,\n                               const
      Coordinate& p1, const Coordinate& p2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkInteriorIntersections()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:105,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:106,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:107,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:108,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ss0'
    - ' ss1'
    argTypes:
    - SegmentString
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(const SegmentString&
      ss0,\n        const SegmentString& ss1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:124,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:125,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:126,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:127,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:129,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:130,1
    - Dst: isProper
      Src: /src/geos/src/noding/NodingValidator.cpp:131,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:132,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:133,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:134,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ' e0'
    - segIndex0
    - ' e1'
    - segIndex1
    argTypes:
    - SegmentString
    - std::size_t
    - SegmentString
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 3
    functionsReached:
    - getCoordinates
    - isProper
    - computeIntersection
    - toString
    - hasIntersection
    - geos::noding::NodingValidator::hasInteriorIntersection
    - geos::util::TopologyException
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(\n    const SegmentString&
      e0, std::size_t segIndex0,\n    const SegmentString& e1, std::size_t segIndex1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:152,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:153,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 2
    functionsReached:
    - size
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkEndPtVertexIntersections() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:168,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:169,1
    - Dst: equals
      Src: /src/geos/src/noding/NodingValidator.cpp:170,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' testPt'
    - ' p_segStrings'
    argTypes:
    - Coordinate
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - size
    - SegmentString*::getCoordinates
    - equals
    - geos::util::TopologyException
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkEndPtVertexIntersections(const Coordinate&
      testPt,\n        const SegmentString::NonConstVect& p_segStrings) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/NodingValidator.cpp:189,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' aLi'
    - ' p0'
    - ' p1'
    argTypes:
    - LineIntersector
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: geos::noding::NodingValidator::hasInteriorIntersection
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 1
    functionsReached:
    - getIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: bool
    signature: "bool NodingValidator::hasInteriorIntersection(const LineIntersector&
      aLi,\n        const Coordinate& p0, const Coordinate& p1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:41,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:42,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::noding::NodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - geos::noding::NodingValidator::checkInteriorIntersections
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:64,1
    - Dst: geos::noding::NodingValidator::checkCollapse
      Src: /src/geos/src/noding/NodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::NodingValidator::checkCollapse
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses(const SegmentString& ss) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/noding/NodingValidator.cpp:74,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:75,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:76,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:77,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: geos::noding::NodingValidator::checkCollapse
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 2
    functionsReached:
    - geos::util::TopologyException
    - toString
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkCollapse(const Coordinate& p0,\n                               const
      Coordinate& p1, const Coordinate& p2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 5
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkInteriorIntersections()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:105,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:106,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:107,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:108,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ss0'
    - ' ss1'
    argTypes:
    - SegmentString
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(const SegmentString&
      ss0,\n        const SegmentString& ss1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:124,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:125,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:126,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:127,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:129,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:130,1
    - Dst: isProper
      Src: /src/geos/src/noding/NodingValidator.cpp:131,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:132,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:133,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:134,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ' e0'
    - segIndex0
    - ' e1'
    - segIndex1
    argTypes:
    - SegmentString
    - std::size_t
    - SegmentString
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 6
    functionsReached:
    - getCoordinates
    - isProper
    - computeIntersection
    - toString
    - hasIntersection
    - geos::noding::NodingValidator::hasInteriorIntersection
    - geos::util::TopologyException
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(\n    const SegmentString&
      e0, std::size_t segIndex0,\n    const SegmentString& e1, std::size_t segIndex1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:152,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:153,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 4
    functionsReached:
    - size
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkEndPtVertexIntersections() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:168,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:169,1
    - Dst: equals
      Src: /src/geos/src/noding/NodingValidator.cpp:170,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' testPt'
    - ' p_segStrings'
    argTypes:
    - Coordinate
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    - size
    - SegmentString*::getCoordinates
    - equals
    - geos::util::TopologyException
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkEndPtVertexIntersections(const Coordinate&
      testPt,\n        const SegmentString::NonConstVect& p_segStrings) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/NodingValidator.cpp:189,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' aLi'
    - ' p0'
    - ' p1'
    argTypes:
    - LineIntersector
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: geos::noding::NodingValidator::hasInteriorIntersection
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 2
    functionsReached:
    - getIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: bool
    signature: "bool NodingValidator::hasInteriorIntersection(const LineIntersector&
      aLi,\n        const Coordinate& p0, const Coordinate& p1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:41,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:42,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::noding::NodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - geos::noding::NodingValidator::checkInteriorIntersections
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:64,1
    - Dst: geos::noding::NodingValidator::checkCollapse
      Src: /src/geos/src/noding/NodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::NodingValidator::checkCollapse
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses(const SegmentString& ss) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/noding/NodingValidator.cpp:74,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:75,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:76,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:77,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: geos::noding::NodingValidator::checkCollapse
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 3
    functionsReached:
    - geos::util::TopologyException
    - toString
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkCollapse(const Coordinate& p0,\n                               const
      Coordinate& p1, const Coordinate& p2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkInteriorIntersections()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:105,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:106,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:107,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:108,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ss0'
    - ' ss1'
    argTypes:
    - SegmentString
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 9
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(const SegmentString&
      ss0,\n        const SegmentString& ss1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:124,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:125,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:126,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:127,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:129,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:130,1
    - Dst: isProper
      Src: /src/geos/src/noding/NodingValidator.cpp:131,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:132,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:133,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:134,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ' e0'
    - segIndex0
    - ' e1'
    - segIndex1
    argTypes:
    - SegmentString
    - std::size_t
    - SegmentString
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 9
    functionsReached:
    - getCoordinates
    - isProper
    - computeIntersection
    - toString
    - hasIntersection
    - geos::noding::NodingValidator::hasInteriorIntersection
    - geos::util::TopologyException
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(\n    const SegmentString&
      e0, std::size_t segIndex0,\n    const SegmentString& e1, std::size_t segIndex1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:152,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:153,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 6
    functionsReached:
    - size
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkEndPtVertexIntersections() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:168,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:169,1
    - Dst: equals
      Src: /src/geos/src/noding/NodingValidator.cpp:170,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' testPt'
    - ' p_segStrings'
    argTypes:
    - Coordinate
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 6
    functionsReached:
    - std::stringstream::str
    - size
    - SegmentString*::getCoordinates
    - equals
    - geos::util::TopologyException
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkEndPtVertexIntersections(const Coordinate&
      testPt,\n        const SegmentString::NonConstVect& p_segStrings) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/NodingValidator.cpp:189,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' aLi'
    - ' p0'
    - ' p1'
    argTypes:
    - LineIntersector
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: geos::noding::NodingValidator::hasInteriorIntersection
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 3
    functionsReached:
    - getIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: bool
    signature: "bool NodingValidator::hasInteriorIntersection(const LineIntersector&
      aLi,\n        const Coordinate& p0, const Coordinate& p1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:41,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:42,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: geos::noding::NodingValidator::checkValid
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - geos::noding::NodingValidator::checkInteriorIntersections
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:51,1
    - Dst: geos::noding::NodingValidator::checkCollapses
      Src: /src/geos/src/noding/NodingValidator.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::NodingValidator::checkCollapses
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:64,1
    - Dst: geos::noding::NodingValidator::checkCollapse
      Src: /src/geos/src/noding/NodingValidator.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ss'
    argTypes:
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: geos::noding::NodingValidator::checkCollapses
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::NodingValidator::checkCollapse
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkCollapses(const SegmentString& ss) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equals2D
      Src: /src/geos/src/noding/NodingValidator.cpp:74,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:75,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:76,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:77,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' p2'
    argTypes:
    - Coordinate
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: geos::noding::NodingValidator::checkCollapse
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 4
    functionsReached:
    - geos::util::TopologyException
    - toString
    - equals2D
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkCollapse(const Coordinate& p0,\n                               const
      Coordinate& p1, const Coordinate& p2) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:86,1
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:91,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 11
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkInteriorIntersections()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:105,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:106,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:107,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:108,1
    - Dst: geos::noding::NodingValidator::checkInteriorIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ss0'
    - ' ss1'
    argTypes:
    - SegmentString
    - SegmentString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 12
    functionsReached:
    - geos::noding::NodingValidator::checkInteriorIntersections
    - size
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(const SegmentString&
      ss0,\n        const SegmentString& ss1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:124,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:125,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:126,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:127,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:129,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:130,1
    - Dst: isProper
      Src: /src/geos/src/noding/NodingValidator.cpp:131,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:132,1
    - Dst: geos::noding::NodingValidator::hasInteriorIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:133,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:134,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:136,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    - Dst: toString
      Src: /src/geos/src/noding/NodingValidator.cpp:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ' e0'
    - segIndex0
    - ' e1'
    - segIndex1
    argTypes:
    - SegmentString
    - std::size_t
    - SegmentString
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: geos::noding::NodingValidator::checkInteriorIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 12
    functionsReached:
    - getCoordinates
    - isProper
    - computeIntersection
    - toString
    - hasIntersection
    - geos::noding::NodingValidator::hasInteriorIntersection
    - geos::util::TopologyException
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkInteriorIntersections(\n    const SegmentString&
      e0, std::size_t segIndex0,\n    const SegmentString& e1, std::size_t segIndex1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:148,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:152,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:153,1
    - Dst: geos::noding::NodingValidator::checkEndPtVertexIntersections
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 8
    functionsReached:
    - size
    - geos::noding::NodingValidator::checkEndPtVertexIntersections
    - SegmentString*::getCoordinates
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void NodingValidator::checkEndPtVertexIntersections() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: end
      Src: /src/geos/src/noding/NodingValidator.cpp:164,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/NodingValidator.cpp:168,1
    - Dst: size
      Src: /src/geos/src/noding/NodingValidator.cpp:169,1
    - Dst: equals
      Src: /src/geos/src/noding/NodingValidator.cpp:170,1
    - Dst: geos::util::TopologyException
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    - Dst: std::stringstream::str
      Src: /src/geos/src/noding/NodingValidator.cpp:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' testPt'
    - ' p_segStrings'
    argTypes:
    - Coordinate
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: geos::noding::NodingValidator::checkEndPtVertexIntersections
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 8
    functionsReached:
    - std::stringstream::str
    - size
    - SegmentString*::getCoordinates
    - equals
    - geos::util::TopologyException
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void NodingValidator::checkEndPtVertexIntersections(const Coordinate&
      testPt,\n        const SegmentString::NonConstVect& p_segStrings) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/NodingValidator.cpp:189,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/NodingValidator.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ' aLi'
    - ' p0'
    - ' p1'
    argTypes:
    - LineIntersector
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: geos::noding::NodingValidator::hasInteriorIntersection
    functionSourceFile: /src/geos/src/noding/NodingValidator.cpp
    functionUses: 4
    functionsReached:
    - getIntersection
    - getIntersectionNum
    linkageType: ''
    returnType: bool
    signature: "bool NodingValidator::hasInteriorIntersection(const LineIntersector&
      aLi,\n        const Coordinate& p0, const Coordinate& p1) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index::kdtree::KdTree::KdTree
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_snapTolerance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: geos::noding::snap::SnappingPointIndex::SnappingPointIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void SnappingPointIndex::SnappingPointIndex(double p_snapTolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:35,1
    - Dst: index::kdtree::KdNode*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingPointIndex.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: '&

      SnappingPointIndex::snap(const Coordinate& p)'
    functionSourceFile: /src/geos/src/noding/snap/SnappingPointIndex.cpp
    functionUses: 0
    functionsReached:
    - index::kdtree::KdNode*::getCoordinate
    - insert
    linkageType: ''
    returnType: Coordinate
    signature: 'Coordinate &

      SnappingPointIndex::snap(const Coordinate& p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 1
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 1
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 2
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 2
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 3
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 3
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 4
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 4
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 5
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 5
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 6
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 6
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 7
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 7
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_snapTolerance
    - ' p_snapPointIndex'
    argTypes:
    - double
    - SnappingPointIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: geos::noding::snap::SnappingIntersectionAdder::SnappingIntersectionAdder
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::SnappingIntersectionAdder(double p_snapTolerance,
      SnappingPointIndex& p_snapPointIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:51,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:52,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:53,1
    - Dst: SegmentString*::getCoordinate
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:54,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:60,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:61,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:66,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:68,1
    - Dst: snap
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:69,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:71,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:72,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:79,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:80,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:81,1
    - Dst: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - seg0
    - segIndex0
    - seg1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: geos::noding::snap::SnappingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinate
    - getIntersection
    - computeIntersection
    - geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    - geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    - hasIntersection
    - snap
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    linkageType: ''
    returnType: void
    signature: void SnappingIntersectionAdder::processIntersections(SegmentString*
      seg0, std::size_t segIndex0, SegmentString* seg1, std::size_t segIndex1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:97,1
    - Dst: distance
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:98,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:100,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:103,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - srcSS
    - srcIndex
    - ' p'
    - ss
    - segIndex
    - ' p0'
    - ' p1'
    argTypes:
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - SegmentString*
    - std::size_t
    - geom::Coordinate
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: geos::noding::snap::SnappingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 8
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnappingIntersectionAdder::processNearVertex(SegmentString* srcSS,
      std::size_t srcIndex, const geom::Coordinate& p,\n        SegmentString* ss,
      std::size_t segIndex, const geom::Coordinate& p0, const geom::Coordinate& p1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:115,1
    - Dst: static_cast<long>
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:116,1
    - Dst: std::abs
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:118,1
    - Dst: SegmentString*::isClosed
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:122,1
    - Dst: SegmentString*::size
      Src: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - ss0
    - segIndex0
    - ss1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: geos::noding::snap::SnappingIntersectionAdder::isAdjacent
    functionSourceFile: /src/geos/src/noding/snap/SnappingIntersectionAdder.cpp
    functionUses: 8
    functionsReached:
    - SegmentString*::isClosed
    - std::abs
    - static_cast<long>
    - SegmentString*::size
    linkageType: ''
    returnType: bool
    signature: bool SnappingIntersectionAdder::isAdjacent(SegmentString* ss0, std::size_t
      segIndex0, SegmentString* ss1, std::size_t segIndex1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 2
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 1
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 4
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 4
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 6
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 2
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 6
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 6
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 9
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 3
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 8
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 8
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 12
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 4
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 10
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 10
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 15
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 5
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 12
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 12
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 18
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 6
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 14
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 14
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 21
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 7
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:46,1
    - Dst: geos::noding::snap::SnappingNoder::snapIntersections
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:47,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: geos::noding::snap::SnappingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - geos::noding::snap::SnappingNoder::snapIntersections
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::seedSnapIndex
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:63,1
    - Dst: push_back
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    - Dst: geos::noding::snap::SnappingNoder::snapVertices
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' segStrings'
    - ' nodedStrings'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 16
    functionsReached:
    - push_back
    - geos::noding::snap::SnappingNoder::seedSnapIndex
    - geos::noding::snap::SnappingNoder::snapVertices
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::snapVertices(std::vector<SegmentString*>& segStrings,
      std::vector<SegmentString*>& nodedStrings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:77,1
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:80,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:81,1
    - Dst: floor
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:88,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: geos::noding::snap::SnappingNoder::seedSnapIndex
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - floor
    - std::sqrt
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void SnappingNoder::seedSnapIndex(std::vector<SegmentString*>& segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:100,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: SegmentString*::getData
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: geos::noding::snap::SnappingNoder::snapVertices
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 16
    functionsReached:
    - SegmentString*::getCoordinates
    - geos::noding::snap::SnappingNoder::snap
    - auto::release
    - SegmentString*::getData
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: SegmentString
    signature: 'SegmentString *

      SnappingNoder::snapVertices(SegmentString* ss)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:110,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:111,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:113,1
    - Dst: geos::noding::snap::SnappingNoder::snap
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:114,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cs
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: geos::noding::snap::SnappingNoder::snap
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 24
    functionsReached:
    - auto::add
    - auto::reserve
    - geos::noding::snap::SnappingNoder::snap
    - CoordinateSequence*::forEach
    - detail::make_unique<CoordinateSequence>
    - CoordinateSequence*::size
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnappingNoder::snap(const CoordinateSequence*
      cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:132,1
    - Dst: MCIndexNoder::getNodedSubstrings
      Src: /src/geos/src/noding/snap/SnappingNoder.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' inputSS'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: geos::noding::snap::SnappingNoder::snapIntersections
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 8
    functionsReached:
    - MCIndexNoder::computeNodes
    - MCIndexNoder::getNodedSubstrings
    linkageType: ''
    returnType: std::unique_ptr<std::vector<SegmentString*>>
    signature: std::unique_ptr<std::vector<SegmentString*>> SnappingNoder::snapIntersections(std::vector<SegmentString*>&
      inputSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: geos::noding::snap::SnappingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snap/SnappingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnappingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 1
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 2
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 3
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 4
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 5
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 6
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::NodedSegmentString::getNodedSubstrings
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: geos::noding::snapround::SnapRoundingNoder::getNodedSubstrings
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::NodedSegmentString::getNodedSubstrings
    linkageType: ''
    returnType: std::vector<SegmentString*>
    signature: 'std::vector<SegmentString*> *

      SnapRoundingNoder::getNodedSubstrings() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapRound
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputSegStrings
    argTypes:
    - std::vector<SegmentString*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::SnapRoundingNoder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::snapRound
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeNodes(std::vector<SegmentString*>* inputSegStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:69,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:70,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' inputSegStrings'
    - ' resultNodedSegments'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: geos::noding::snapround::SnapRoundingNoder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    - geos::noding::snapround::SnapRoundingNoder::computeSnaps
    - geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapRound(std::vector<SegmentString*>& inputSegStrings,
      std::vector<SegmentString*>& resultNodedSegments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScale
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:80,1
    - Dst: MCIndexNoder::computeNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:83,1
    - Dst: SnapRoundingIntersectionAdder::getIntersections
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:84,1
    - Dst: addNodes
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: geos::noding::snapround::SnapRoundingNoder::addIntersectionPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - SnapRoundingIntersectionAdder::getIntersections
    - addNodes
    - MCIndexNoder::computeNodes
    - getScale
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addIntersectionPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:93,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' segStrings'
    argTypes:
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexPixels
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - add
    - getCoordinates
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexPixels(std::vector<SegmentString*>&
      segStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasZ
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: hasM
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:102,1
    - Dst: auto::reserve
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:103,1
    - Dst: forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:104,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:105,1
    - Dst: auto::add
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - CoordinateSequence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: geos::noding::snapround::SnapRoundingNoder::round
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 7
    functionsReached:
    - forEach
    - auto::add
    - size
    - makePrecise
    - auto::reserve
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - hasM
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> SnapRoundingNoder::round(const
      CoordinateSequence& pts) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:116,1
    - Dst: push_back
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:122,1
    - Dst: detail::down_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:126,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' segStrings'
    - ' snapped'
    argTypes:
    - std::vector<SegmentString*>
    - std::vector<SegmentString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    - push_back
    - detail::down_cast<NodedSegmentString*>
    - geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::computeSnaps(const std::vector<SegmentString*>&
      segStrings, std::vector<SegmentString*>& snapped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getNodedCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:149,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::round
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:150,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:153,1
    - Dst: auto::release
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getNodeList
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: NodedSegmentString::NodedSegmentString
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:157,1
    - Dst: auto::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:160,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:162,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:167,1
    - Dst: makePrecise
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:169,1
    - Dst: CoordinateXY::equals2D
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:170,1
    - Dst: auto::getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:173,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: geos::noding::snapround::SnapRoundingNoder::computeSegmentSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - auto::size
    - NodedSegmentString*::getNodedCoordinates
    - makePrecise
    - geos::noding::snapround::SnapRoundingNoder::round
    - NodedSegmentString*::getCoordinate
    - NodedSegmentString*::getNodeList
    - auto::getAt
    - auto::release
    - geos::noding::snapround::SnapRoundingNoder::snapSegment
    - NodedSegmentString*::getData
    - CoordinateXY::equals2D
    - NodedSegmentString::NodedSegmentString
    linkageType: ''
    returnType: NodedSegmentString
    signature: 'NodedSegmentString *

      SnapRoundingNoder::computeSegmentSnaps(NodedSegmentString* ss)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ' p0'
    - ' p1'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 237
    functionName: geos::noding::snapround::SnapRoundingNoder::snapSegment
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - HotPixel*::intersects
    - query
    - HotPixel*::setToNode
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapSegment(const CoordinateXY& p0, const CoordinateXY&
      p1, NodedSegmentString* ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' pp0'
    - ' pp1'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: geos::noding::snapround::SnapRoundingVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVisitor(const CoordinateXY& pp0, const CoordinateXY&
      pp1, NodedSegmentString* pss, std::size_t psegIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:209,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:217,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:218,1
    - Dst: HotPixel*::intersects
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:227,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:228,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - HotPixel*::intersects
    - KdNode*::getData
    - addIntersection
    - HotPixel*::setToNode
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:244,1
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:246,1
    - Dst: NodedSegmentString*::size
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:247,1
    - Dst: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: geos::noding::snapround::SnapRoundingNoder::addVertexNodeSnaps
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - NodedSegmentString*::getCoordinates
    - NodedSegmentString*::size
    - geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    - CoordinateSequence*::forEach
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::addVertexNodeSnaps(NodedSegmentString* ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' p0'
    - ss
    - segIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: geos::noding::snapround::SnapRoundingNoder::snapVertexNode
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 8
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - NodedSegmentString*::addIntersection
    - query
    - HotPixel*::isNode
    - getData
    linkageType: ''
    returnType: void
    signature: void SnapRoundingNoder::snapVertexNode(const CoordinateXY& p0, NodedSegmentString*
      ss, std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' pp0'
    - pss
    - psegIndex
    argTypes:
    - CoordinateXY
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: geos::noding::snapround::SnapRoundingVertexNodeVisitor
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnapRoundingVertexNodeVisitor(const CoordinateXY& pp0, NodedSegmentString*
      pss, std::size_t psegIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HotPixel*>
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: KdNode*::getData
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:269,1
    - Dst: HotPixel*::isNode
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:274,1
    - Dst: addIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - KdNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: geos::noding::snapround::visit
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingNoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HotPixel*>
    - HotPixel*::getCoordinate
    - KdNode*::getData
    - addIntersection
    - HotPixel*::isNode
    linkageType: ''
    returnType: void
    signature: void visit(KdNode* node) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 1
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 6
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 2
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 9
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 10
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 3
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 6
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 13
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 14
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 4
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 8
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 17
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 18
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 5
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 10
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 21
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 22
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 6
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 12
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 25
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 26
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 7
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 14
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrecisionModel*::getScale
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:38,1
    - Dst: KdTree::KdTree
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_pm
    argTypes:
    - PrecisionModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: geos::noding::snapround::HotPixelIndex::HotPixelIndex
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::getScale
    - KdTree::KdTree
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::HotPixelIndex(const PrecisionModel* p_pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::find
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:48,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:57,1
    - Dst: emplace_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:70,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:74,1
    - Dst: insert
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    - Dst: HotPixel*::getCoordinate
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pRound'
    argTypes:
    - CoordinateXYZM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: geos::noding::snapround::HotPixelIndex::addRounded
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - insert
    - HotPixel*::getCoordinate
    - geos::noding::snapround::HotPixelIndex::find
    - back
    - HotPixel*::setToNode
    - emplace_back
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::addRounded(const CoordinateXYZM& pRound)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:90,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:91,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:95,1
    - Dst: CoordinateSequence*::getCoordinateType
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:97,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:98,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:99,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateXYZM
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:100,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 29
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getCoordinateType
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateXYZM
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    - CoordinateSequence*::size
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const CoordinateSequence *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:111,1
    - Dst: std::shuffle
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::begin
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: std::vector::end
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:115,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: geos::noding::snapround::HotPixelIndex::add
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 30
    functionsReached:
    - size
    - std::vector::begin
    - geos::noding::snapround::HotPixelIndex::add
    - std::shuffle
    - std::vector::end
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::add(const std::vector<geom::Coordinate>& pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::forEach
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:126,1
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:127,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pts
    argTypes:
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::HotPixelIndex::add
    - CoordinateSequence*::forEach
    - HotPixel*::setToNode
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const CoordinateSequence* pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::add
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:137,1
    - Dst: HotPixel*::setToNode
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' pts'
    argTypes:
    - std::vector<geom::Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: geos::noding::snapround::HotPixelIndex::addNodes
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 0
    functionsReached:
    - HotPixel*::setToNode
    - geos::noding::snapround::HotPixelIndex::add
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::addNodes(const std::vector<geom::Coordinate>& pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:146,1
    - Dst: index::kdtree::KdNode*::getData
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pixelPt'
    argTypes:
    - geom::Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: geos::noding::snapround::HotPixelIndex::find
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 8
    functionsReached:
    - index::kdtree::KdNode*::getData
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: HotPixel
    signature: 'HotPixel *

      HotPixelIndex::find(const geom::Coordinate& pixelPt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:159,1
    - Dst: geos::noding::snapround::HotPixelIndex::query
      Src: /src/geos/src/noding/snapround/HotPixelIndex.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' p0'
    - ' p1'
    - ' visitor'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    - index::kdtree::KdNodeVisitor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: geos::noding::snapround::HotPixelIndex::query
    functionSourceFile: /src/geos/src/noding/snapround/HotPixelIndex.cpp
    functionUses: 16
    functionsReached:
    - Envelope::expandBy
    - geos::noding::snapround::HotPixelIndex::query
    linkageType: ''
    returnType: void
    signature: void HotPixelIndex::query(const CoordinateXY& p0, const CoordinateXY&
      p1, index::kdtree::KdNodeVisitor& visitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 1
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 2
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 3
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 4
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 5
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 5
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 6
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 7
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:50,1
    - Dst: SegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:51,1
    - Dst: computeIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:53,1
    - Dst: hasIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:55,1
    - Dst: isInteriorIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:56,1
    - Dst: getIntersectionNum
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:57,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: getIntersection
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:59,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:61,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:62,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:73,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:74,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:75,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - e0
    - segIndex0
    - e1
    - segIndex1
    argTypes:
    - SegmentString*
    - std::size_t
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processIntersections
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 0
    functionsReached:
    - SegmentString*::getCoordinates
    - getIntersection
    - add
    - computeIntersection
    - isInteriorIntersection
    - hasIntersection
    - static_cast<NodedSegmentString*>
    - getIntersectionNum
    - geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processIntersections(\n    SegmentString*
      e0, std::size_t segIndex0,\n    SegmentString* e1, std::size_t segIndex1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:83,1
    - Dst: distance
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:84,1
    - Dst: geos::algorithm::Distance::pointToSegment
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' p'
    - ' p0'
    - ' p1'
    argTypes:
    - geom::CoordinateXY
    - geom::CoordinateXY
    - geom::CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 7
    functionsReached:
    - distance
    - geos::algorithm::Distance::pointToSegment
    linkageType: ''
    returnType: bool
    signature: "bool SnapRoundingIntersectionAdder::isNearSegmentInterior(\n    const
      geom::CoordinateXY& p, const geom::CoordinateXY& p0, const geom::CoordinateXY&
      p1) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:97,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:98,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:99,1
    - Dst: geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:100,1
    - Dst: add
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:101,1
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    - Dst: back
      Src: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' ptSeq'
    - ptIndex
    - ' segSeq'
    - segIndex
    - edge
    argTypes:
    - CoordinateSequence
    - std::size_t
    - CoordinateSequence
    - std::size_t
    - SegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: geos::noding::snapround::SnapRoundingIntersectionAdder::processNearVertex
    functionSourceFile: /src/geos/src/noding/snapround/SnapRoundingIntersectionAdder.cpp
    functionUses: 8
    functionsReached:
    - geos::noding::snapround::SnapRoundingIntersectionAdder::isNearSegmentInterior
    - add
    - getAt
    - back
    - static_cast<NodedSegmentString*>
    linkageType: ''
    returnType: void
    signature: "void SnapRoundingIntersectionAdder::processNearVertex(\n        const
      CoordinateSequence& ptSeq, std::size_t ptIndex,\n        const CoordinateSequence&
      segSeq, std::size_t segIndex,\n        SegmentString* edge)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 1
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 1
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 2
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 2
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 3
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 3
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 4
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 4
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 5
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 5
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 6
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 6
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 7
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 7
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' nHotPixel'
    - nParentEdge
    - nHotPixelVertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HotPixelSnapAction(HotPixel& nHotPixel,\n                       SegmentString*
      nParentEdge,\n                       std::size_t nHotPixelVertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: geos::noding::snapround::HotPixelSnapAction::isNodeAdded
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNodeAdded() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: getContext
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:78,1
    - Dst: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' mc'
    - startIndex
    argTypes:
    - chain::MonotoneChain
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<NodedSegmentString*>
    - geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    - getContext
    linkageType: ''
    returnType: void
    signature: void select(const chain::MonotoneChain& mc, std::size_t startIndex)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:92,1
    - Dst: NodedSegmentString*::getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:93,1
    - Dst: intersects
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:94,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' p_hotPixel'
    - segStr
    - segIndex
    argTypes:
    - HotPixel
    - NodedSegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: geos::noding::snapround::HotPixelSnapAction::addSnappedNode
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 8
    functionsReached:
    - NodedSegmentString*::getCoordinate
    - intersects
    - getCoordinate
    - NodedSegmentString*::addIntersection
    linkageType: ''
    returnType: bool
    signature: bool addSnappedNode(HotPixel& p_hotPixel, NodedSegmentString* segStr,
      std::size_t segIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ls'
    argTypes:
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: geos::noding::snapround::HotPixelSnapAction::select
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - geos::ignore_unused_variable_warning
    linkageType: ''
    returnType: void
    signature: void select(const LineSegment& ls) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: geos::noding::snapround::HotPixelSnapAction::HotPixelSnapAction
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HotPixelSnapAction(const HotPixelSnapAction& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const HotPixelSnapAction& rhs)'
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HotPixelSnapAction
    signature: HotPixelSnapAction & operator=(const HotPixelSnapAction& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' nPixelEnv'
    - ' nAction'
    argTypes:
    - Envelope
    - HotPixelSnapAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::MCIndexPointSnapperVisitor
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MCIndexPointSnapperVisitor(const Envelope& nPixelEnv, HotPixelSnapAction&
      nAction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: ~MCIndexPointSnapperVisitor() override
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MCIndexPointSnapperVisitor() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<chain::MonotoneChain*>
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:133,1
    - Dst: select
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: geos::noding::snapround::MCIndexPointSnapperVisitor::visitItem
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - static_cast<chain::MonotoneChain*>
    - select
    linkageType: ''
    returnType: void
    signature: void visitItem(void* item) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:152,1
    - Dst: query
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:156,1
    - Dst: HotPixelSnapAction::isNodeAdded
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' hotPixel'
    - parentEdge
    - vertexIndex
    argTypes:
    - HotPixel
    - SegmentString*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: geos::noding::snapround::MCIndexPointSnapper::snap
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 0
    functionsReached:
    - query
    - geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    - HotPixelSnapAction::isNodeAdded
    linkageType: ''
    returnType: bool
    signature: "bool MCIndexPointSnapper::snap(HotPixel& hotPixel,\n                          SegmentString*
      parentEdge,\n                          std::size_t vertexIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getScaleFactor
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:165,1
    - Dst: getCoordinate
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:166,1
    - Dst: Envelope::expandBy
      Src: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hp'
    argTypes:
    - HotPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: geos::noding::snapround::MCIndexPointSnapper::getSafeEnvelope
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexPointSnapper.cpp
    functionUses: 8
    functionsReached:
    - Envelope::expandBy
    - getCoordinate
    - getScaleFactor
    linkageType: ''
    returnType: Envelope
    signature: Envelope MCIndexPointSnapper::getSafeEnvelope(const HotPixel& hp) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 1
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 2
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 3
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 4
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 5
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 6
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 7
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      HotPixel::getCoordinate() const'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: geom::CoordinateXYZM
    signature: 'geom::CoordinateXYZM &

      HotPixel::getCoordinate() const'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:48,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersects(const CoordinateXY& p) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:67,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:70,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:71,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:72,1
    - Dst: scale
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:73,1
    - Dst: geos::noding::snapround::HotPixel::intersectsScaled
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - CoordinateXY
    - CoordinateXY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: geos::noding::snapround::HotPixel::intersects
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - scale
    - geos::noding::snapround::HotPixel::intersectsScaled
    linkageType: ''
    returnType: bool
    signature: "bool HotPixel::intersects(const CoordinateXY& p0,\n                     const
      CoordinateXY& p1) const"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:100,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:104,1
    - Dst: std::min
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:108,1
    - Dst: std::max
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:112,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:140,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:148,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:160,1
    - Dst: geos::algorithm::CGAlgorithmsDD::orientationIndex
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 189
    functionName: geos::noding::snapround::HotPixel::intersectsScaled
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 8
    functionsReached:
    - geos::algorithm::CGAlgorithmsDD::orientationIndex
    - std::max
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsScaled(double p0x, double p0y, double p1x,
      double p1y) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:203,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:204,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:205,1
    - Dst: Coordinate
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:206,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:208,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:209,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:212,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:213,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:216,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:217,1
    - Dst: LineIntersector::computeIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:220,1
    - Dst: LineIntersector::hasIntersection
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ' p0'
    - ' p1'
    argTypes:
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: geos::noding::snapround::HotPixel::intersectsPixelClosure
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - Coordinate
    - LineIntersector::computeIntersection
    - LineIntersector::hasIntersection
    linkageType: ''
    returnType: bool
    signature: bool HotPixel::intersectsPixelClosure(const Coordinate& p0, const Coordinate&
      p1) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::toPoint
      Src: /src/geos/src/noding/snapround/HotPixel.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '&

      HotPixel::operator<< (std::ostream& os)'
    functionSourceFile: /src/geos/src/noding/snapround/HotPixel.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::toPoint
    linkageType: ''
    returnType: std::ostream
    signature: 'std::ostream &

      HotPixel::operator<< (std::ostream& os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 1
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 1
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 2
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 1
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 2
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 2
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 4
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 2
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 3
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 3
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 6
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 7
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 3
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 4
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 4
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 8
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 9
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 4
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 5
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 5
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 5
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 10
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 11
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 5
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 6
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 6
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 12
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 13
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 6
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 7
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSegmentIntersector
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:44,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeNodes
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' noder'
    - segStrings
    - ' intersections'
    argTypes:
    - MCIndexNoder
    - NodedSegmentString::NonConstVect*
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 7
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeNodes
    - setSegmentIntersector
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::findInteriorIntersections(MCIndexNoder& noder,\n
      \       NodedSegmentString::NonConstVect* segStrings,\n        std::vector<Coordinate>&
      intersections)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' snapPts'
    argTypes:
    - std::vector<Coordinate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 7
    functionsReached:
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeIntersectionSnaps(std::vector<Coordinate>&
      snapPts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NodedSegmentString*::getCoordinates
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:63,1
    - Dst: size
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:64,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:65,1
    - Dst: snap
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:66,1
    - Dst: NodedSegmentString*::addIntersection
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    - Dst: getAt
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - NodedSegmentString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 14
    functionsReached:
    - size
    - NodedSegmentString*::addIntersection
    - getAt
    - NodedSegmentString*::getCoordinates
    - snap
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(NodedSegmentString* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: end
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:78,1
    - Dst: dynamic_cast<NodedSegmentString*>
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:81,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:82,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts:
    - condition: (edge0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 15
    functionsReached:
    - dynamic_cast<NodedSegmentString*>
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    - assert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeVertexSnaps(SegmentString::NonConstVect&
      edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:93,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:94,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' noder'
    - segStrings
    argTypes:
    - MCIndexNoder
    - SegmentString::NonConstVect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::noding::snapround::MCIndexSnapRounder::snapRound
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 7
    functionsReached:
    - geos::noding::snapround::MCIndexSnapRounder::computeIntersectionSnaps
    - geos::noding::snapround::MCIndexSnapRounder::findInteriorIntersections
    - geos::noding::snapround::MCIndexSnapRounder::computeVertexSnaps
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::snapRound(MCIndexNoder& noder,\n                              SegmentString::NonConstVect*
      segStrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:105,1
    - Dst: reset
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexNoder::getIndex
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: MCIndexPointSnapper::MCIndexPointSnapper
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:106,1
    - Dst: geos::noding::snapround::MCIndexSnapRounder::snapRound
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:107,1
    - Dst: assert
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - inputSegmentStrings
    argTypes:
    - SegmentString::NonConstVect*
    assertStmts:
    - condition: (nodedSegStrings == inputSegmentStrings)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: geos::noding::snapround::MCIndexSnapRounder::computeNodes
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 8
    functionsReached:
    - release
    - MCIndexPointSnapper::MCIndexPointSnapper
    - MCIndexNoder::getIndex
    - geos::noding::snapround::MCIndexSnapRounder::snapRound
    - reset
    - assert
    linkageType: ''
    returnType: void
    signature: void MCIndexSnapRounder::computeNodes(SegmentString::NonConstVect*
      inputSegmentStrings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:123,1
    - Dst: NodingValidator::checkValid
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:125,1
    - Dst: what
      Src: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' inputSegmentStrings'
    argTypes:
    - SegmentString::NonConstVect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: geos::noding::snapround::MCIndexSnapRounder::checkCorrectness
    functionSourceFile: /src/geos/src/noding/snapround/MCIndexSnapRounder.cpp
    functionUses: 0
    functionsReached:
    - what
    - NodingValidator::checkValid
    - std::unique_ptr::get
    linkageType: ''
    returnType: void
    signature: "void MCIndexSnapRounder::checkCorrectness(\n    SegmentString::NonConstVect&
      inputSegmentStrings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:43,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:44,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:46,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:47,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:50,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:51,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:54,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:57,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:58,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:59,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts:
    - condition: (pm1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm0)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:69,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:70,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:73,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:76,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:77,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:80,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:83,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - g0
    - g1
    - ' boundaryNodeRule'
    argTypes:
    - Geometry*
    - Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm1)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1,\n        const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:92,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:94,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g0
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: size
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: getGeometry
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts:
    - condition: (i < arg.size())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::operation::GeometryGraphOperation::getArgGeometry
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getGeometry
    - size
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryGraphOperation::getArgGeometry(unsigned int i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:110,1
    - Dst: setPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts:
    - condition: (pm)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::operation::GeometryGraphOperation::setComputationPrecision
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 3
    functionsReached:
    - assert
    - setPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::setComputationPrecision(const PrecisionModel*
      pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: GeometryGraphOperation::~GeometryGraphOperation()
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::~GeometryGraphOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:43,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:44,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:46,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:47,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:50,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:51,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:54,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:57,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:58,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:59,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts:
    - condition: (pm1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm0)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:69,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:70,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:73,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:76,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:77,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:80,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:83,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - g0
    - g1
    - ' boundaryNodeRule'
    argTypes:
    - Geometry*
    - Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm1)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1,\n        const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:92,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:94,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g0
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: size
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: getGeometry
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts:
    - condition: (i < arg.size())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::operation::GeometryGraphOperation::getArgGeometry
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getGeometry
    - size
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryGraphOperation::getArgGeometry(unsigned int i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:110,1
    - Dst: setPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts:
    - condition: (pm)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::operation::GeometryGraphOperation::setComputationPrecision
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 6
    functionsReached:
    - assert
    - setPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::setComputationPrecision(const PrecisionModel*
      pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: GeometryGraphOperation::~GeometryGraphOperation()
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::~GeometryGraphOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:43,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:44,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:46,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:47,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:50,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:51,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:54,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:57,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:58,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:59,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts:
    - condition: (pm1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm0)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:69,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:70,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:73,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:76,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:77,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:80,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:83,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - g0
    - g1
    - ' boundaryNodeRule'
    argTypes:
    - Geometry*
    - Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm1)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1,\n        const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:92,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:94,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g0
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: size
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: getGeometry
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts:
    - condition: (i < arg.size())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::operation::GeometryGraphOperation::getArgGeometry
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getGeometry
    - size
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryGraphOperation::getArgGeometry(unsigned int i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:110,1
    - Dst: setPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts:
    - condition: (pm)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::operation::GeometryGraphOperation::setComputationPrecision
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 9
    functionsReached:
    - assert
    - setPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::setComputationPrecision(const PrecisionModel*
      pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: GeometryGraphOperation::~GeometryGraphOperation()
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::~GeometryGraphOperation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:43,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:44,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:46,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:47,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:50,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:51,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:54,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:57,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:58,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:59,1
    - Dst: algorithm::BoundaryNodeRule::getBoundaryOGCSFS
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g0
    - g1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts:
    - condition: (pm1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm0)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - algorithm::BoundaryNodeRule::getBoundaryOGCSFS
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:69,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:70,1
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:72,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:73,1
    - Dst: PrecisionModel*::compareTo
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:76,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:77,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:80,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:83,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - g0
    - g1
    - ' boundaryNodeRule'
    argTypes:
    - Geometry*
    - Geometry*
    - algorithm::BoundaryNodeRule
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    - condition: (pm1)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - PrecisionModel*::compareTo
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    linkageType: ''
    returnType: void
    signature: "void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0,\n        const Geometry* g1,\n        const algorithm::BoundaryNodeRule&
      boundaryNodeRule)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:91,1
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:92,1
    - Dst: geos::operation::GeometryGraphOperation::setComputationPrecision
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:94,1
    - Dst: std::make_unique<GeometryGraph>
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - g0
    argTypes:
    - Geometry*
    assertStmts:
    - condition: (pm0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: geos::operation::GeometryGraphOperation::GeometryGraphOperation
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GeometryGraph>
    - assert
    - Geometry*::getPrecisionModel
    - geos::operation::GeometryGraphOperation::setComputationPrecision
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::GeometryGraphOperation(const Geometry*
      g0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: size
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:102,1
    - Dst: getGeometry
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts:
    - condition: (i < arg.size())
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: geos::operation::GeometryGraphOperation::getArgGeometry
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getGeometry
    - size
    linkageType: ''
    returnType: Geometry
    signature: 'Geometry *

      GeometryGraphOperation::getArgGeometry(unsigned int i) const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:110,1
    - Dst: setPrecisionModel
      Src: /src/geos/src/operation/GeometryGraphOperation.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pm
    argTypes:
    - PrecisionModel*
    assertStmts:
    - condition: (pm)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/geos/src/operation/GeometryGraphOperation.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: geos::operation::GeometryGraphOperation::setComputationPrecision
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 12
    functionsReached:
    - assert
    - setPrecisionModel
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::setComputationPrecision(const PrecisionModel*
      pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: GeometryGraphOperation::~GeometryGraphOperation()
    functionSourceFile: /src/geos/src/operation/GeometryGraphOperation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeometryGraphOperation::~GeometryGraphOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:42,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/src/operation/BoundaryOp.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      bnRule)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/BoundaryOp.cpp:55,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:57,1
    - Dst: geos::operation::BoundaryOp::boundaryLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:58,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:61,1
    - Dst: geos::operation::BoundaryOp::boundaryMultiLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:62,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 1
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    - geos::operation::BoundaryOp::getBoundary
    - geos::operation::BoundaryOp::boundaryMultiLineString
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiLineString*>
    - geos::operation::BoundaryOp::boundaryLineString
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 1
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 1
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g, const algorithm::BoundaryNodeRule& bnRule)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:86,1
    - Dst: getDimension
      Src: /src/geos/src/operation/BoundaryOp.cpp:90,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:98,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' geom'
    - ' boundaryNodeRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: geos::operation::BoundaryOp::hasBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 2
    functionsReached:
    - auto::isEmpty
    - getDimension
    - geos::operation::BoundaryOp::getBoundary
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool BoundaryOp::hasBoundary(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      boundaryNodeRule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:109,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:110,1
    - Dst: isClosed
      Src: /src/geos/src/operation/BoundaryOp.cpp:113,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:115,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:117,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:120,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:125,1
    - Dst: getEndPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:126,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - geom::LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: geos::operation::BoundaryOp::boundaryLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 1
    functionsReached:
    - getEndPoint
    - getStartPoint
    - isClosed
    - createMultiPoint
    - isInBoundary
    - std::move
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryLineString(const geom::LineString&
      line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:134,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:135,1
    - Dst: geos::operation::BoundaryOp::computeBoundaryCoordinates
      Src: /src/geos/src/operation/BoundaryOp.cpp:138,1
    - Dst: auto::size
      Src: /src/geos/src/operation/BoundaryOp.cpp:141,1
    - Dst: auto::applyAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:142,1
    - Dst: createPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:143,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: geos::operation::BoundaryOp::boundaryMultiLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 1
    functionsReached:
    - auto::size
    - createPoint
    - std::unique_ptr<Geometry>
    - auto::applyAt
    - createMultiPoint
    - geos::operation::BoundaryOp::computeBoundaryCoordinates
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryMultiLineString(const
      geom::MultiLineString& mLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasZ
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasM
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/BoundaryOp.cpp:156,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/BoundaryOp.cpp:157,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/operation/BoundaryOp.cpp:159,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/BoundaryOp.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:167,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: size
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:175,1
    - Dst: auto::add
      Src: /src/geos/src/operation/BoundaryOp.cpp:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: geos::operation::BoundaryOp::computeBoundaryCoordinates
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 1
    functionsReached:
    - auto::add
    - size
    - getGeometryN
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - LineString*::getNumPoints
    - getAt
    - isInBoundary
    - getNumGeometries
    - hasM
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> BoundaryOp::computeBoundaryCoordinates(const
      geom::MultiLineString& mLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:42,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/src/operation/BoundaryOp.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      bnRule)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/BoundaryOp.cpp:55,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:57,1
    - Dst: geos::operation::BoundaryOp::boundaryLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:58,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:61,1
    - Dst: geos::operation::BoundaryOp::boundaryMultiLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:62,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 3
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    - geos::operation::BoundaryOp::getBoundary
    - geos::operation::BoundaryOp::boundaryMultiLineString
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiLineString*>
    - geos::operation::BoundaryOp::boundaryLineString
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 3
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 3
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g, const algorithm::BoundaryNodeRule& bnRule)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:86,1
    - Dst: getDimension
      Src: /src/geos/src/operation/BoundaryOp.cpp:90,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:98,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' geom'
    - ' boundaryNodeRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: geos::operation::BoundaryOp::hasBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 2
    functionsReached:
    - auto::isEmpty
    - getDimension
    - geos::operation::BoundaryOp::getBoundary
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool BoundaryOp::hasBoundary(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      boundaryNodeRule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:109,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:110,1
    - Dst: isClosed
      Src: /src/geos/src/operation/BoundaryOp.cpp:113,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:115,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:117,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:120,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:125,1
    - Dst: getEndPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:126,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - geom::LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: geos::operation::BoundaryOp::boundaryLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 2
    functionsReached:
    - getEndPoint
    - getStartPoint
    - isClosed
    - createMultiPoint
    - isInBoundary
    - std::move
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryLineString(const geom::LineString&
      line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:134,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:135,1
    - Dst: geos::operation::BoundaryOp::computeBoundaryCoordinates
      Src: /src/geos/src/operation/BoundaryOp.cpp:138,1
    - Dst: auto::size
      Src: /src/geos/src/operation/BoundaryOp.cpp:141,1
    - Dst: auto::applyAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:142,1
    - Dst: createPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:143,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: geos::operation::BoundaryOp::boundaryMultiLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - createPoint
    - std::unique_ptr<Geometry>
    - auto::applyAt
    - createMultiPoint
    - geos::operation::BoundaryOp::computeBoundaryCoordinates
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryMultiLineString(const
      geom::MultiLineString& mLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasZ
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasM
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/BoundaryOp.cpp:156,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/BoundaryOp.cpp:157,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/operation/BoundaryOp.cpp:159,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/BoundaryOp.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:167,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: size
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:175,1
    - Dst: auto::add
      Src: /src/geos/src/operation/BoundaryOp.cpp:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: geos::operation::BoundaryOp::computeBoundaryCoordinates
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 2
    functionsReached:
    - auto::add
    - size
    - getGeometryN
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - LineString*::getNumPoints
    - getAt
    - isInBoundary
    - getNumGeometries
    - hasM
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> BoundaryOp::computeBoundaryCoordinates(const
      geom::MultiLineString& mLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:42,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/src/operation/BoundaryOp.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      bnRule)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/BoundaryOp.cpp:55,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:57,1
    - Dst: geos::operation::BoundaryOp::boundaryLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:58,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:61,1
    - Dst: geos::operation::BoundaryOp::boundaryMultiLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:62,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 5
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    - geos::operation::BoundaryOp::getBoundary
    - geos::operation::BoundaryOp::boundaryMultiLineString
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiLineString*>
    - geos::operation::BoundaryOp::boundaryLineString
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 5
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 5
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g, const algorithm::BoundaryNodeRule& bnRule)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:86,1
    - Dst: getDimension
      Src: /src/geos/src/operation/BoundaryOp.cpp:90,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:98,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' geom'
    - ' boundaryNodeRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: geos::operation::BoundaryOp::hasBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 2
    functionsReached:
    - auto::isEmpty
    - getDimension
    - geos::operation::BoundaryOp::getBoundary
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool BoundaryOp::hasBoundary(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      boundaryNodeRule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:109,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:110,1
    - Dst: isClosed
      Src: /src/geos/src/operation/BoundaryOp.cpp:113,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:115,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:117,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:120,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:125,1
    - Dst: getEndPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:126,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - geom::LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: geos::operation::BoundaryOp::boundaryLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 3
    functionsReached:
    - getEndPoint
    - getStartPoint
    - isClosed
    - createMultiPoint
    - isInBoundary
    - std::move
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryLineString(const geom::LineString&
      line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:134,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:135,1
    - Dst: geos::operation::BoundaryOp::computeBoundaryCoordinates
      Src: /src/geos/src/operation/BoundaryOp.cpp:138,1
    - Dst: auto::size
      Src: /src/geos/src/operation/BoundaryOp.cpp:141,1
    - Dst: auto::applyAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:142,1
    - Dst: createPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:143,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: geos::operation::BoundaryOp::boundaryMultiLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 3
    functionsReached:
    - auto::size
    - createPoint
    - std::unique_ptr<Geometry>
    - auto::applyAt
    - createMultiPoint
    - geos::operation::BoundaryOp::computeBoundaryCoordinates
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryMultiLineString(const
      geom::MultiLineString& mLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasZ
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasM
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/BoundaryOp.cpp:156,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/BoundaryOp.cpp:157,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/operation/BoundaryOp.cpp:159,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/BoundaryOp.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:167,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: size
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:175,1
    - Dst: auto::add
      Src: /src/geos/src/operation/BoundaryOp.cpp:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: geos::operation::BoundaryOp::computeBoundaryCoordinates
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 3
    functionsReached:
    - auto::add
    - size
    - getGeometryN
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - LineString*::getNumPoints
    - getAt
    - isInBoundary
    - getNumGeometries
    - hasM
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> BoundaryOp::computeBoundaryCoordinates(const
      geom::MultiLineString& mLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:42,1
    - Dst: BoundaryNodeRule::getBoundaryRuleMod2
      Src: /src/geos/src/operation/BoundaryOp.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom'
    argTypes:
    - Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    - BoundaryNodeRule::getBoundaryRuleMod2
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const Geometry& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/BoundaryOp.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: geos::operation::BoundaryOp::BoundaryOp
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: void BoundaryOp::BoundaryOp(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      bnRule)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/BoundaryOp.cpp:55,1
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:57,1
    - Dst: geos::operation::BoundaryOp::boundaryLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:58,1
    - Dst: dynamic_cast<const MultiLineString*>
      Src: /src/geos/src/operation/BoundaryOp.cpp:61,1
    - Dst: geos::operation::BoundaryOp::boundaryMultiLineString
      Src: /src/geos/src/operation/BoundaryOp.cpp:62,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 7
    functionsReached:
    - geos::util::ensureNoCurvedComponents
    - geos::operation::BoundaryOp::getBoundary
    - geos::operation::BoundaryOp::boundaryMultiLineString
    - dynamic_cast<const LineString*>
    - dynamic_cast<const MultiLineString*>
    - geos::operation::BoundaryOp::boundaryLineString
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' g'
    argTypes:
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 7
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' g'
    - ' bnRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: geos::operation::BoundaryOp::getBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 7
    functionsReached:
    - BoundaryOp::getBoundary
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BoundaryOp::getBoundary(const geom::Geometry&
      g, const algorithm::BoundaryNodeRule& bnRule)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:86,1
    - Dst: getDimension
      Src: /src/geos/src/operation/BoundaryOp.cpp:90,1
    - Dst: geos::operation::BoundaryOp::getBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:98,1
    - Dst: auto::isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' geom'
    - ' boundaryNodeRule'
    argTypes:
    - geom::Geometry
    - algorithm::BoundaryNodeRule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: geos::operation::BoundaryOp::hasBoundary
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 2
    functionsReached:
    - auto::isEmpty
    - getDimension
    - geos::operation::BoundaryOp::getBoundary
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool BoundaryOp::hasBoundary(const geom::Geometry& geom, const algorithm::BoundaryNodeRule&
      boundaryNodeRule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:109,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:110,1
    - Dst: isClosed
      Src: /src/geos/src/operation/BoundaryOp.cpp:113,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:115,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:117,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:120,1
    - Dst: getStartPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:125,1
    - Dst: getEndPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:126,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    - Dst: std::move
      Src: /src/geos/src/operation/BoundaryOp.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' line'
    argTypes:
    - geom::LineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: geos::operation::BoundaryOp::boundaryLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 4
    functionsReached:
    - getEndPoint
    - getStartPoint
    - isClosed
    - createMultiPoint
    - isInBoundary
    - std::move
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryLineString(const geom::LineString&
      line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/geos/src/operation/BoundaryOp.cpp:134,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:135,1
    - Dst: geos::operation::BoundaryOp::computeBoundaryCoordinates
      Src: /src/geos/src/operation/BoundaryOp.cpp:138,1
    - Dst: auto::size
      Src: /src/geos/src/operation/BoundaryOp.cpp:141,1
    - Dst: auto::applyAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:142,1
    - Dst: createPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:143,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/BoundaryOp.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: geos::operation::BoundaryOp::boundaryMultiLineString
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 4
    functionsReached:
    - auto::size
    - createPoint
    - std::unique_ptr<Geometry>
    - auto::applyAt
    - createMultiPoint
    - geos::operation::BoundaryOp::computeBoundaryCoordinates
    - isEmpty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> BoundaryOp::boundaryMultiLineString(const
      geom::MultiLineString& mLine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasZ
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: hasM
      Src: /src/geos/src/operation/BoundaryOp.cpp:153,1
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/BoundaryOp.cpp:156,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/BoundaryOp.cpp:157,1
    - Dst: LineString*::getNumPoints
      Src: /src/geos/src/operation/BoundaryOp.cpp:159,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/BoundaryOp.cpp:163,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:167,1
    - Dst: getAt
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: size
      Src: /src/geos/src/operation/BoundaryOp.cpp:168,1
    - Dst: isInBoundary
      Src: /src/geos/src/operation/BoundaryOp.cpp:175,1
    - Dst: auto::add
      Src: /src/geos/src/operation/BoundaryOp.cpp:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' mLine'
    argTypes:
    - geom::MultiLineString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: geos::operation::BoundaryOp::computeBoundaryCoordinates
    functionSourceFile: /src/geos/src/operation/BoundaryOp.cpp
    functionUses: 4
    functionsReached:
    - auto::add
    - size
    - getGeometryN
    - hasZ
    - detail::make_unique<CoordinateSequence>
    - LineString*::getNumPoints
    - getAt
    - isInBoundary
    - getNumGeometries
    - hasM
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: std::unique_ptr<CoordinateSequence>
    signature: std::unique_ptr<CoordinateSequence> BoundaryOp::computeBoundaryCoordinates(const
      geom::MultiLineString& mLine)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 1
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 2
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 9
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 10
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 3
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 8
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 8
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 12
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 13
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 4
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 9
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 10
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 10
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 15
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 16
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 5
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 11
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 12
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 12
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 18
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 19
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 6
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 13
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 14
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 14
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 21
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:50,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - isMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegreeNonDeleted(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:63,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:66,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::PolygonizeGraph::getDegree
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - auto::getLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    linkageType: ''
    returnType: int
    signature: int PolygonizeGraph::getDegree(Node* node, long label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:80,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:82,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:83,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - setMarked
    - getSym
    - auto::setMarked
    - Node*::getOutEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteAllEdges(Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: geos::operation::polygonize::PolygonizeGraph::PolygonizeGraph
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::PolygonizeGraph(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:104,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:107,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:110,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:113,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: PolygonizeGraph::~PolygonizeGraph()
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::~PolygonizeGraph()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LineString*::isEmpty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:128,1
    - Dst: geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: LineString*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:132,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:138,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:142,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:143,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:144,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:145,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:146,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:147,1
    - Dst: auto::getAt
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: auto::getSize
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:149,1
    - Dst: PolygonizeDirectedEdge::PolygonizeDirectedEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:148,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:150,1
    - Dst: PolygonizeEdge::PolygonizeEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:151,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:152,1
    - Dst: Edge*::setDirectedEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:153,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:154,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: geos::operation::polygonize::PolygonizeGraph::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - PolygonizeDirectedEdge::PolygonizeDirectedEdge
    - Edge*::setDirectedEdges
    - add
    - push_back
    - auto::getAt
    - geos::operation::valid::RepeatedPointRemover::removeRepeatedPoints
    - geos::operation::polygonize::PolygonizeGraph::getNode
    - LineString*::isEmpty
    - auto::release
    - PolygonizeEdge::PolygonizeEdge
    - auto::getSize
    - LineString*::getCoordinatesRO
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::addEdge(const LineString* line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:162,1
    - Dst: Node::Node
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:164,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:165,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: geos::operation::polygonize::PolygonizeGraph::getNode
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 8
    functionsReached:
    - Node::Node
    - add
    - findNode
    - push_back
    linkageType: ''
    returnType: Node
    signature: 'Node *

      PolygonizeGraph::getNode(const Coordinate& pt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:177,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 22
    functionsReached:
    - getNodes
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:191,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:192,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:196,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ringEdges'
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 7
    functionsReached:
    - getLabel
    - geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    - std::vector::clear
    - geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::convertMaximalToMinimalEdgeRings(\n    std::vector<PolygonizeDirectedEdge*>&
      ringEdges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PolygonizeDirectedEdge*::getFromNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:210,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:211,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:212,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:214,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:215,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - startDE
    - label
    - ' intNodes'
    argTypes:
    - PolygonizeDirectedEdge*
    - long
    - std::vector<Node*>
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || !de->isInRing())
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: geos::operation::polygonize::PolygonizeGraph::findIntersectionNodes
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 8
    functionsReached:
    - PolygonizeDirectedEdge*::getFromNode
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - geos::operation::polygonize::PolygonizeGraph::getDegree
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findIntersectionNodes(PolygonizeDirectedEdge*
      startDE,\n                                       long label, std::vector<Node*>&
      intNodes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:228,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:231,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:233,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:234,1
    - Dst: std::vector::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:235,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:239,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:240,1
    - Dst: auto::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:243,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:246,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: geos::operation::polygonize::PolygonizeGraph::getEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - push_back
    - auto::isInRing
    - geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    - auto::isMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::PolygonizeGraph::convertMaximalToMinimalEdgeRings
    - geos::operation::polygonize::PolygonizeGraph::label
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::getEdgeRings(std::vector<EdgeRing*>& edgeRingList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:259,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:261,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:264,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:267,1
    - Dst: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:269,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::label
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:270,1
    - Dst: auto::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' dirEdges'
    - ' edgeRingStarts'
    argTypes:
    - std::vector<DirectedEdge*>
    - std::vector<PolygonizeDirectedEdge*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 15
    functionsReached:
    - auto::clear
    - auto::getLabel
    - push_back
    - auto::isMarked
    - detail::down_cast<PolygonizeDirectedEdge*>
    - geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    - geos::operation::polygonize::PolygonizeGraph::label
    linkageType: ''
    returnType: void
    signature: "void PolygonizeGraph::findLabeledEdgeRings(std::vector<DirectedEdge*>&
      dirEdges,\n                                      std::vector<PolygonizeDirectedEdge*>&
      edgeRingStarts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:281,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:287,1
    - Dst: DirEdges::clear
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:288,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:295,1
    - Dst: isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:297,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:301,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: auto::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:303,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:304,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:305,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:308,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' cutLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - auto::getLabel
    - auto::setMarked
    - DirEdges::clear
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - isMarked
    - setMarked
    - geos::operation::polygonize::PolygonizeGraph::findLabeledEdgeRings
    - getSym
    - detail::down_cast<PolygonizeDirectedEdge*>
    - auto::getLine
    - getEdge
    - geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteCutEdges(std::vector<const LineString*>&
      cutLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<PolygonizeDirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 16
    functionsReached:
    - setLabel
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<PolygonizeDirectedEdge*>& dirEdges,
      long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:327,1
    - Dst: auto::setLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' dirEdges'
    - label
    argTypes:
    - std::vector<DirectedEdge*>
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: geos::operation::polygonize::PolygonizeGraph::label
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 16
    functionsReached:
    - auto::setLabel
    - detail::down_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::label(std::vector<DirectedEdge*>& dirEdges, long
      label)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:335,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:340,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:342,1
    - Dst: auto::isMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:343,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:350,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:351,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:356,1
    - Dst: auto::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 24
    functionsReached:
    - DirectedEdgeStar*::getEdges
    - auto::isMarked
    - auto::setNext
    - detail::down_cast<PolygonizeDirectedEdge*>
    - Node*::getOutEdges
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCWEdges(Node* node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:370,1
    - Dst: DirectedEdgeStar*::getEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:375,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:377,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:378,1
    - Dst: detail::down_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:379,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:381,1
    - Dst: PolygonizeDirectedEdge*::getLabel
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:385,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:396,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:405,1
    - Dst: PolygonizeDirectedEdge*::setNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - node
    - label
    argTypes:
    - Node*
    - long
    assertStmts:
    - condition: (firstOutDE != nullptr)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: geos::operation::polygonize::PolygonizeGraph::computeNextCCWEdges
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 8
    functionsReached:
    - PolygonizeDirectedEdge*::getLabel
    - size
    - DirectedEdgeStar*::getEdges
    - detail::down_cast<PolygonizeDirectedEdge*>
    - PolygonizeDirectedEdge*::setNext
    - Node*::getOutEdges
    - assert
    - PolygonizeDirectedEdge*::getSym
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::computeNextCCWEdges(Node* node, long label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing::EdgeRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:414,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:416,1
    - Dst: EdgeRing*::add
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:418,1
    - Dst: PolygonizeDirectedEdge*::setRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:419,1
    - Dst: PolygonizeDirectedEdge*::getNext
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:420,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:421,1
    - Dst: assert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    - Dst: PolygonizeDirectedEdge*::isInRing
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts:
    - condition: (de != nullptr)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    - condition: (de == startDE || ! de->isInRing())
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: geos::operation::polygonize::PolygonizeGraph::findEdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 8
    functionsReached:
    - EdgeRing*::add
    - push_back
    - PolygonizeDirectedEdge*::isInRing
    - EdgeRing::EdgeRing
    - PolygonizeDirectedEdge*::setRing
    - assert
    - PolygonizeDirectedEdge*::getNext
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      PolygonizeGraph::findEdgeRing(PolygonizeDirectedEdge* startDE)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findNodesOfDegree
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:433,1
    - Dst: std::vector::empty
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:437,1
    - Dst: std::vector::back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:438,1
    - Dst: std::vector::pop_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:439,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:440,1
    - Dst: Node*::getOutEdges
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:441,1
    - Dst: setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:444,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:445,1
    - Dst: auto::setMarked
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:447,1
    - Dst: detail::down_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:450,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:451,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:452,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:453,1
    - Dst: getToNode
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:455,1
    - Dst: geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' dangleLines'
    argTypes:
    - std::vector<const LineString*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: geos::operation::polygonize::PolygonizeGraph::deleteDangles
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeGraph.cpp
    functionUses: 0
    functionsReached:
    - getEdge
    - std::vector::empty
    - findNodesOfDegree
    - auto::setMarked
    - std::vector::back
    - geos::operation::polygonize::PolygonizeGraph::getDegreeNonDeleted
    - push_back
    - detail::down_cast<PolygonizeEdge*>
    - setMarked
    - std::vector::pop_back
    - getSym
    - std::set::insert
    - auto::getLine
    - Node*::getOutEdges
    - std::vector::push_back
    - dynamic_cast<PolygonizeDirectedEdge*>
    - getToNode
    - geos::operation::polygonize::PolygonizeGraph::deleteAllEdges
    linkageType: ''
    returnType: void
    signature: void PolygonizeGraph::deleteDangles(std::vector<const LineString*>&
      dangleLines)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 1
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 7
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 2
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 7
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 11
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 3
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 10
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 15
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 5
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 4
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 5
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 13
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 19
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 6
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 5
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 6
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 16
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 23
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 7
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 6
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 7
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 19
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 27
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:54,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:58,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:63,1
    - Dst: auto::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:64,1
    - Dst: auto::equals
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:67,1
    - Dst: auto::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:71,1
    - Dst: auto::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:75,1
    - Dst: ptNotInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:76,1
    - Dst: isInRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:79,1
    - Dst: Envelope*::contains
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:80,1
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ' erList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 87
    functionName: geos::operation::polygonize::EdgeRing::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::equals
    - auto::contains
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - Envelope*::contains
    - EdgeRing*::getRingInternal
    - ptNotInList
    - auto::getCoordinatesRO
    - auto::getEnvelopeInternal
    - isInRing
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::findEdgeRingContaining(const std::vector<EdgeRing*> & erList)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:95,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::EdgeRing::findDirEdgesInRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - std::vector::push_back
    - auto::getNext
    linkageType: ''
    returnType: std::vector<PolygonizeDirectedEdge*>
    signature: std::vector<PolygonizeDirectedEdge*> EdgeRing::findDirEdgesInRing(PolygonizeDirectedEdge*
      startDE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:109,1
    - Dst: isInList
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:110,1
    - Dst: geos::io::GeoJSONValue::getNull
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - testPts
    - pts
    argTypes:
    - CoordinateSequence*
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: "&\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n                      const
      CoordinateSequence* pts)"
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::io::GeoJSONValue::getNull
    - CoordinateSequence*::getAt
    - isInList
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: Coordinate
    signature: "Coordinate &\nEdgeRing::ptNotInList(const CoordinateSequence* testPts,\n
      \                     const CoordinateSequence* pts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:122,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' pt'
    - pts
    argTypes:
    - Coordinate
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: geos::operation::polygonize::EdgeRing::isInList
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: bool
    signature: "bool EdgeRing::isInList(const Coordinate& pt,\n                   const
      CoordinateSequence* pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newFactory
    argTypes:
    - GeometryFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::EdgeRing::EdgeRing
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EdgeRing::EdgeRing(const GeometryFactory* newFactory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:149,1
    - Dst: auto::setRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:150,1
    - Dst: auto::getNext
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - startDE
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: geos::operation::polygonize::EdgeRing::build
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::add
    - auto::setRing
    - auto::getNext
    linkageType: ''
    returnType: void
    signature: void EdgeRing::build(PolygonizeDirectedEdge* startDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - de
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: geos::operation::polygonize::EdgeRing::add
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void EdgeRing::add(const PolygonizeDirectedEdge* de)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:166,1
    - Dst: geos::algorithm::Orientation::isCCW
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    - Dst: getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: geos::operation::polygonize::EdgeRing::computeHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - getCoordinatesRO
    - geos::algorithm::Orientation::isCCW
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeHole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:175,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hole
    argTypes:
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 7
    functionsReached:
    - reset
    - emplace_back
    - std::vector<std::unique_ptr<LinearRing>>::unique_ptr<LinearRing>>
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(LinearRing* hole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::setShell
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:182,1
    - Dst: EdgeRing*::getRingOwnership
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:183,1
    - Dst: geos::operation::polygonize::EdgeRing::addHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    - Dst: auto::release
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: geos::operation::polygonize::EdgeRing::addHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - auto::release
    - geos::operation::polygonize::EdgeRing::addHole
    - EdgeRing*::getRingOwnership
    - EdgeRing*::setShell
    linkageType: ''
    returnType: void
    signature: void EdgeRing::addHole(EdgeRing* holeER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:192,1
    - Dst: createPolygon
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::EdgeRing::getPolygon
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - createPolygon
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Polygon>
    signature: std::unique_ptr<Polygon> EdgeRing::getPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: geos::operation::polygonize::EdgeRing::isValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EdgeRing::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:208,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:209,1
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:213,1
    - Dst: geos::operation::polygonize::EdgeRing::isValid
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: geos::operation::polygonize::EdgeRing::computeValid
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - size
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - geos::operation::polygonize::EdgeRing::isValid
    linkageType: ''
    returnType: void
    signature: void EdgeRing::computeValid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detail::make_unique<CoordinateSequence>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:222,1
    - Dst: dynamic_cast<PolygonizeEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: getEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:224,1
    - Dst: geos::operation::polygonize::EdgeRing::addEdge
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: auto::getLine
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:225,1
    - Dst: getEdgeDirection
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:226,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: geos::operation::polygonize::EdgeRing::getCoordinates
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 22
    functionsReached:
    - getEdgeDirection
    - dynamic_cast<PolygonizeEdge*>
    - detail::make_unique<CoordinateSequence>
    - get
    - auto::getLine
    - geos::operation::polygonize::EdgeRing::addEdge
    - getEdge
    linkageType: ''
    returnType: CoordinateSequence
    signature: 'CoordinateSequence *

      EdgeRing::getCoordinates()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:236,1
    - Dst: std::unique_ptr<LineString>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    - Dst: createLineString
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: geos::operation::polygonize::EdgeRing::getLineString
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<LineString>
    - geos::operation::polygonize::EdgeRing::getCoordinates
    - createLineString
    linkageType: ''
    returnType: std::unique_ptr<LineString>
    signature: std::unique_ptr<LineString> EdgeRing::getLineString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:245,1
    - Dst: geos::operation::polygonize::EdgeRing::getCoordinates
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:248,1
    - Dst: createLinearRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:250,1
    - Dst: what
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:256,1
    - Dst: geos::ignore_unused_variable_warning
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:259,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: geos::operation::polygonize::EdgeRing::getRingInternal
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 31
    functionsReached:
    - what
    - get
    - createLinearRing
    - geos::ignore_unused_variable_warning
    - geos::operation::polygonize::EdgeRing::getCoordinates
    linkageType: ''
    returnType: LinearRing
    signature: 'LinearRing *

      EdgeRing::getRingInternal()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::EdgeRing::getRingInternal
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:268,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: geos::operation::polygonize::EdgeRing::getRingOwnership
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::EdgeRing::getRingInternal
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<LinearRing>
    signature: std::unique_ptr<LinearRing> EdgeRing::getRingOwnership()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoordinateSequence*::getSize
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:277,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:280,1
    - Dst: CoordinateSequence*::add
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - coords
    - isForward
    - coordList
    argTypes:
    - CoordinateSequence*
    - bool
    - CoordinateSequence*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: geos::operation::polygonize::EdgeRing::addEdge
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 8
    functionsReached:
    - CoordinateSequence*::getAt
    - CoordinateSequence*::add
    - CoordinateSequence*::getSize
    linkageType: ''
    returnType: void
    signature: "void EdgeRing::addEdge(const CoordinateSequence* coords, bool isForward,\n
      \                 CoordinateSequence* coordList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:293,1
    - Dst: dynamic_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:300,1
    - Dst: auto::isOuterHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: geos::operation::polygonize::EdgeRing::getOuterHole
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - auto::isOuterHole
    - isHole
    - getRing
    - getSym
    - dynamic_cast<PolygonizeDirectedEdge*>
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      EdgeRing::getOuterHole() const'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:313,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:318,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:321,1
    - Dst: auto::updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:322,1
    - Dst: dynamic_cast<const PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: getRing
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:328,1
    - Dst: auto::isIncludedSet
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:331,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    - Dst: auto::isIncluded
      Src: /src/geos/src/operation/polygonize/EdgeRing.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: geos::operation::polygonize::EdgeRing::updateIncludedRecursive
    functionSourceFile: /src/geos/src/operation/polygonize/EdgeRing.cpp
    functionUses: 0
    functionsReached:
    - isHole
    - auto::isIncluded
    - auto::isIncludedSet
    - getRing
    - setIncluded
    - getSym
    - dynamic_cast<const PolygonizeDirectedEdge*>
    - auto::updateIncludedRecursive
    linkageType: ''
    returnType: void
    signature: void EdgeRing::updateIncludedRecursive()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 10
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 15
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 20
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 9
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 10
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 10
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 10
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 25
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 11
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 12
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 12
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 12
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 30
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 13
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 14
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 14
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 14
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 35
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - Polygonizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::LineStringAdder(Polygonizer* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LineString*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:55,1
    - Dst: add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LineString*>
    - add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::LineStringAdder::filter_ro(const Geometry* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - onlyPolygonal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: geos::operation::polygonize::Polygonizer::Polygonizer
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Polygonizer::Polygonizer(bool onlyPolygonal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 15
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::add
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - geomList
    argTypes:
    - std::vector<const Geometry*>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 16
    functionsReached:
    - geos::operation::polygonize::Polygonizer::add
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(std::vector<const Geometry*>* geomList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::util::ensureNoCurvedComponents
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:117,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 16
    functionsReached:
    - Geometry*::apply_ro
    - geos::util::ensureNoCurvedComponents
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const Geometry* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: LineString*::getFactory
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: PolygonizeGraph::PolygonizeGraph
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:131,1
    - Dst: addEdge
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: geos::operation::polygonize::Polygonizer::add
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 16
    functionsReached:
    - reset
    - LineString*::getFactory
    - PolygonizeGraph::PolygonizeGraph
    - addEdge
    linkageType: ''
    returnType: void
    signature: void Polygonizer::add(const LineString* line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:143,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: geos::operation::polygonize::Polygonizer::getPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - std::move
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::getPolygons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '&

      Polygonizer::getDangles()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getDangles()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:157,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: geos::operation::polygonize::Polygonizer::hasDangles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasDangles()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '&

      Polygonizer::getCutEdges()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<const LineString*>
    signature: 'std::vector<const LineString*> &

      Polygonizer::getCutEdges()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:172,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: geos::operation::polygonize::Polygonizer::hasCutEdges
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasCutEdges()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '&

      Polygonizer::getInvalidRingLines()'
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - polygonize
    linkageType: ''
    returnType: std::vector<std::unique_ptr<LineString>>
    signature: 'std::vector<std::unique_ptr<LineString>> &

      Polygonizer::getInvalidRingLines()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:187,1
    - Dst: empty
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - empty
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::hasInvalidRingLines()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::polygonize
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:194,1
    - Dst: geos::operation::polygonize::Polygonizer::hasCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    - Dst: geos::operation::polygonize::Polygonizer::hasInvalidRingLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: geos::operation::polygonize::Polygonizer::allInputsFormPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 0
    functionsReached:
    - geos::operation::polygonize::Polygonizer::polygonize
    - geos::operation::polygonize::Polygonizer::hasInvalidRingLines
    - geos::operation::polygonize::Polygonizer::hasCutEdges
    - geos::operation::polygonize::Polygonizer::hasDangles
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::allInputsFormPolygons()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:209,1
    - Dst: deleteDangles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:213,1
    - Dst: deleteCutEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:215,1
    - Dst: getEdgeRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:218,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:220,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:224,1
    - Dst: geos::operation::polygonize::Polygonizer::findValidRings
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:225,1
    - Dst: geos::operation::polygonize::Polygonizer::extractInvalidLines
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:226,1
    - Dst: std::vector::size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:228,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:229,1
    - Dst: geos::operation::polygonize::Polygonizer::findShellsAndHoles
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:232,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:234,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:235,1
    - Dst: geos::operation::polygonize::HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:238,1
    - Dst: geos::operation::polygonize::Polygonizer::findDisjointShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:242,1
    - Dst: geos::operation::polygonize::Polygonizer::extractPolygons
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: geos::operation::polygonize::Polygonizer::polygonize
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 40
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::assignHolesToShells
    - deleteDangles
    - size
    - geos::operation::polygonize::Polygonizer::findShellsAndHoles
    - geos::operation::polygonize::Polygonizer::findValidRings
    - deleteCutEdges
    - clear
    - geos::operation::polygonize::Polygonizer::findDisjointShells
    - getEdgeRings
    - geos::operation::polygonize::Polygonizer::extractPolygons
    - std::vector::size
    - geos::operation::polygonize::Polygonizer::extractInvalidLines
    linkageType: ''
    returnType: void
    signature: void Polygonizer::polygonize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:257,1
    - Dst: isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:258,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:259,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:262,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' edgeRingList'
    - ' validEdgeRingList'
    - ' invalidRingList'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: geos::operation::polygonize::Polygonizer::findValidRings
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - isValid
    - push_back
    - computeValid
    linkageType: ''
    returnType: void
    signature: "void Polygonizer::findValidRings(const std::vector<EdgeRing*>& edgeRingList,\n
      \                           std::vector<EdgeRing*>& validEdgeRingList,\n                            std::vector<EdgeRing*>&
      invalidRingList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:277,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:278,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:280,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:281,1
    - Dst: geos::operation::polygonize::Polygonizer::isIncludedInvalid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:291,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: getLineString
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:292,1
    - Dst: setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' invalidRings'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 298
    functionName: geos::operation::polygonize::Polygonizer::extractInvalidLines
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - getLineString
    - setProcessed
    - geos::operation::polygonize::Polygonizer::isIncludedInvalid
    - getRingInternal
    - std::vector::push_back
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: std::vector<std::unique_ptr<geom::LineString>>
    signature: std::vector<std::unique_ptr<geom::LineString>> Polygonizer::extractInvalidLines(std::vector<EdgeRing*>&
      invalidRings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getEdges
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:303,1
    - Dst: static_cast<PolygonizeDirectedEdge*>
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: getSym
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:304,1
    - Dst: PolygonizeDirectedEdge*::getRing
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:305,1
    - Dst: EdgeRing*::isValid
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    - Dst: EdgeRing*::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - invalidRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: geos::operation::polygonize::Polygonizer::isIncludedInvalid
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - static_cast<PolygonizeDirectedEdge*>
    - EdgeRing*::isValid
    - PolygonizeDirectedEdge*::getRing
    - getSym
    - EdgeRing*::isProcessed
    - EdgeRing*::getEdges
    linkageType: ''
    returnType: bool
    signature: bool Polygonizer::isIncludedInvalid(EdgeRing* invalidRing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:320,1
    - Dst: clear
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:321,1
    - Dst: computeHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:323,1
    - Dst: isHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:324,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:325,1
    - Dst: push_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:328,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' edgeRingList'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: geos::operation::polygonize::Polygonizer::findShellsAndHoles
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - isHole
    - push_back
    - clear
    - GEOS_CHECK_FOR_INTERRUPTS
    - computeHole
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findShellsAndHoles(const std::vector<EdgeRing*>&
      edgeRingList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::Polygonizer::findOuterShells
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:338,1
    - Dst: isIncludedSet
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:341,1
    - Dst: updateIncludedRecursive
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: geos::operation::polygonize::Polygonizer::findDisjointShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - isIncludedSet
    - updateIncludedRecursive
    - geos::operation::polygonize::Polygonizer::findOuterShells
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findDisjointShells()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOuterHole
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:353,1
    - Dst: auto::isProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:354,1
    - Dst: setIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:355,1
    - Dst: auto::setProcessed
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: geos::operation::polygonize::Polygonizer::findOuterShells
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - auto::isProcessed
    - getOuterHole
    - auto::setProcessed
    - setIncluded
    linkageType: ''
    returnType: void
    signature: void Polygonizer::findOuterShells(std::vector<EdgeRing*> & shells)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIncluded
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:366,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    - Dst: getPolygon
      Src: /src/geos/src/operation/polygonize/Polygonizer.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' shells'
    - includeAll
    argTypes:
    - std::vector<EdgeRing*>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: geos::operation::polygonize::Polygonizer::extractPolygons
    functionSourceFile: /src/geos/src/operation/polygonize/Polygonizer.cpp
    functionUses: 8
    functionsReached:
    - getPolygon
    - isIncluded
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Polygon>>
    signature: std::vector<std::unique_ptr<Polygon>> Polygonizer::extractPolygons(std::vector<EdgeRing*>
      & shells, bool includeAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLine
    argTypes:
    - LineString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: geos::operation::polygonize::PolygonizeEdge::PolygonizeEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeEdge::PolygonizeEdge(const LineString* newLine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geos::operation::polygonize::PolygonizeEdge::getLine
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LineString
    signature: 'LineString *

      PolygonizeEdge::getLine()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 1
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 2
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 3
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 4
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 5
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 5
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 6
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 7
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    - Dst: getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: geos::operation::polygonize::HoleAssigner::buildIndex
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 0
    functionsReached:
    - insert
    - getRingInternal
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::buildIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HoleAssigner::assignHolesToShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' holes'
    - ' shells'
    argTypes:
    - std::vector<EdgeRing*>
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - HoleAssigner::assignHolesToShells
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes,
      std::vector<EdgeRing*> & shells)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::assignHoleToShell
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:43,1
    - Dst: GEOS_CHECK_FOR_INTERRUPTS
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' holes'
    argTypes:
    - std::vector<EdgeRing*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: geos::operation::polygonize::HoleAssigner::assignHolesToShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - GEOS_CHECK_FOR_INTERRUPTS
    - geos::operation::polygonize::HoleAssigner::assignHoleToShell
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHolesToShells(std::vector<EdgeRing*> & holes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:51,1
    - Dst: EdgeRing*::addHole
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - holeER
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: geos::operation::polygonize::HoleAssigner::assignHoleToShell
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    - EdgeRing*::addHole
    linkageType: ''
    returnType: void
    signature: void HoleAssigner::assignHoleToShell(EdgeRing* holeER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - geom::Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: geos::operation::polygonize::HoleAssigner::findShells
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 7
    functionsReached:
    - query
    linkageType: ''
    returnType: std::vector<EdgeRing*>
    signature: std::vector<EdgeRing*> HoleAssigner::findShells(const geom::Envelope&
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EdgeRing*::getRingInternal
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:68,1
    - Dst: geos::operation::polygonize::HoleAssigner::findShells
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:70,1
    - Dst: EdgeRing*::findEdgeRingContaining
      Src: /src/geos/src/operation/polygonize/HoleAssigner.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testEr
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: geos::operation::polygonize::HoleAssigner::findEdgeRingContaining
    functionSourceFile: /src/geos/src/operation/polygonize/HoleAssigner.cpp
    functionUses: 8
    functionsReached:
    - geos::operation::polygonize::HoleAssigner::findShells
    - EdgeRing*::findEdgeRingContaining
    - EdgeRing*::getRingInternal
    linkageType: ''
    returnType: EdgeRing
    signature: 'EdgeRing *

      HoleAssigner::findEdgeRingContaining(EdgeRing* testEr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 1
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 2
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 3
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 4
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 5
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 6
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: geos::operation::polygonize::countParents
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t countParents() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:72,1
    - Dst: LinearRing*::getCoordinatesRO
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:73,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:76,1
    - Dst: CoordinateSequence*::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:77,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: LinearRing*::getEnvelopeInternal
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:86,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:95,1
    - Dst: CoordinateSequence::indexOf
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:96,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:105,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:106,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:107,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:126,1
    - Dst: CoordinateSequence*::getAt
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:127,1
    - Dst: equals
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - LinearRing*
    - LinearRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 135
    functionName: geos::operation::polygonize::ringsEqualAnyDirection
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 7
    functionsReached:
    - CoordinateSequence*::getAt
    - LinearRing*::getCoordinatesRO
    - LinearRing*::getEnvelopeInternal
    - CoordinateSequence::indexOf
    - equals
    - CoordinateSequence*::size
    linkageType: ''
    returnType: bool
    signature: bool ringsEqualAnyDirection(const LinearRing* r1, const LinearRing*
      r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<Face>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: Face::Face
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:138,1
    - Dst: geom::Polygon*::getEnvelope
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:140,1
    - Dst: auto::env::getArea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - geom::Polygon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: geos::operation::polygonize::newFace
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geom::Polygon*::getEnvelope
    - std::unique_ptr<Face>
    - auto::env::getArea
    - Face::Face
    linkageType: ''
    returnType: std::unique_ptr<Face>
    signature: std::unique_ptr<Face> newFace(const geom::Polygon* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - std::unique_ptr<Face>
    - std::unique_ptr<Face>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: "operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::unique_ptr<Face> &a,\n                    const
      std::unique_ptr<Face> &b) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: begin
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: end
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: CompareByEnvarea
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:158,1
    - Dst: size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:160,1
    - Dst: poly::getNumInteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:163,1
    - Dst: poly::getInteriorRingN
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:165,1
    - Dst: poly::getExteriorRing
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:171,1
    - Dst: geos::operation::polygonize::ringsEqualAnyDirection
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:172,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 179
    functionName: geos::operation::polygonize::findFaceHoles
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - poly::getExteriorRing
    - geos::operation::polygonize::ringsEqualAnyDirection
    - size
    - begin
    - poly::getNumInteriorRing
    - poly::getInteriorRingN
    - get
    - CompareByEnvarea
    - std::sort
    - end
    linkageType: ''
    returnType: void
    signature: void findFaceHoles(std::vector<std::unique_ptr<Face>>& faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::polygonize::countParents
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:185,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: poly::clone
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:188,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' faces'
    argTypes:
    - std::vector<std::unique_ptr<Face>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: geos::operation::polygonize::collectFacesWithEvenAncestors
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - geos::geom::GeometryFactory::create
    - std::vector::push_back
    - geos::operation::polygonize::countParents
    - poly::clone
    linkageType: ''
    returnType: std::unique_ptr<geom::MultiPolygon>
    signature: "std::unique_ptr<geom::MultiPolygon> collectFacesWithEvenAncestors(\n
      \   const std::vector<std::unique_ptr<Face>>& faces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::io::WKTWriter::WKTWriter
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:198,1
    - Dst: geos::io::WKTWriter::write
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: geos::operation::polygonize::dumpGeometry
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - geos::io::WKTWriter::WKTWriter
    - geos::io::WKTWriter::write
    linkageType: ''
    returnType: void
    signature: void dumpGeometry(const geom::Geometry* geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Polygonizer::add
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:206,1
    - Dst: Polygonizer::getPolygons
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:207,1
    - Dst: auto::empty
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:210,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:212,1
    - Dst: geos::geom::GeometryFactory::create
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:213,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:214,1
    - Dst: auto::size
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:219,1
    - Dst: std::move
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:220,1
    - Dst: std::unique_ptr::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:221,1
    - Dst: std::vector::emplace_back
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: newFace
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:256,1
    - Dst: findFaceHoles
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:260,1
    - Dst: collectFacesWithEvenAncestors
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:264,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:268,1
    - Dst: std::unique_ptr<geom::Geometry>
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:272,1
    - Dst: geos::operation::geounion::CascadedPolygonUnion::Union
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:273,1
    - Dst: auto::setSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: geom::Geometry*::getSRID
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:275,1
    - Dst: dumpGeometry
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    - Dst: auto::get
      Src: /src/geos/src/operation/polygonize/BuildArea.cpp:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - geom
    argTypes:
    - geom::Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 284
    functionName: geos::operation::polygonize::BuildArea::build
    functionSourceFile: /src/geos/src/operation/polygonize/BuildArea.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - newFace
    - dumpGeometry
    - geos::operation::geounion::CascadedPolygonUnion::Union
    - std::unique_ptr<geom::Geometry>
    - Polygonizer::add
    - geos::geom::GeometryFactory::create
    - auto::empty
    - auto::setSRID
    - std::unique_ptr::setSRID
    - findFaceHoles
    - collectFacesWithEvenAncestors
    - Polygonizer::getPolygons
    - get
    - auto::get
    - std::move
    - geom::Geometry*::getSRID
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> BuildArea::build(const geom::Geometry*
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - newFrom
    - newTo
    - ' newDirectionPt'
    - nEdgeDirection
    argTypes:
    - Node*
    - Node*
    - Coordinate
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::PolygonizeDirectedEdge
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PolygonizeDirectedEdge::PolygonizeDirectedEdge(Node* newFrom,\n
      \       Node* newTo, const Coordinate& newDirectionPt,\n        bool nEdgeDirection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long PolygonizeDirectedEdge::getLabel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLabel
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setLabel
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setLabel(long newLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::getNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PolygonizeDirectedEdge
    signature: 'PolygonizeDirectedEdge *

      PolygonizeDirectedEdge::getNext() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newNext
    argTypes:
    - PolygonizeDirectedEdge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setNext
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setNext(PolygonizeDirectedEdge* newNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::isInRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PolygonizeDirectedEdge::isInRing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newEdgeRing
    argTypes:
    - EdgeRing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: geos::operation::polygonize::PolygonizeDirectedEdge::setRing
    functionSourceFile: /src/geos/src/operation/polygonize/PolygonizeDirectedEdge.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PolygonizeDirectedEdge::setRing(EdgeRing* newEdgeRing)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumGeometries
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:48,1
    - Dst: dynamic_cast<const Point*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: getGeometryN
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:49,1
    - Dst: assert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:50,1
    - Dst: Point*::isEmpty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:52,1
    - Dst: static_cast<const Coordinate*>
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: Point*::getCoordinate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:56,1
    - Dst: PointLocator::locate
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:57,1
    - Dst: std::set::insert
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:59,1
    - Dst: std::set::empty
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:64,1
    - Dst: clone
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:65,1
    - Dst: std::set::size
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:71,1
    - Dst: createPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: std::set::begin
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:72,1
    - Dst: createMultiPoint
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:75,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (point)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/geos/src/operation/union/PointGeometryUnion.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Point*>
    - std::unique_ptr::get
    - PointLocator::locate
    - static_cast<const Coordinate*>
    - getGeometryN
    - std::set::size
    - createPoint
    - Point*::isEmpty
    - std::set::begin
    - geos::geom::util::GeometryCombiner::combine
    - std::set::insert
    - Point*::getCoordinate
    - createMultiPoint
    - std::set::empty
    - getNumGeometries
    - assert
    - clone
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: std::unique_ptr<geom::Geometry> PointGeometryUnion::Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointGeometryUnion::Union
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom'
    - ' otherGeom'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: geos::operation::geounion::PointGeometryUnion::Union
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - PointGeometryUnion::Union
    linkageType: ''
    returnType: std::unique_ptr<geom::Geometry>
    signature: "std::unique_ptr<geom::Geometry> PointGeometryUnion::Union(const geom::Geometry&
      pointGeom,\n                          const geom::Geometry& otherGeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFactory
      Src: /src/geos/src/operation/union/PointGeometryUnion.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pointGeom_'
    - ' otherGeom_'
    argTypes:
    - geom::Geometry
    - geom::Geometry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: geos::operation::geounion::PointGeometryUnion::PointGeometryUnion
    functionSourceFile: /src/geos/src/operation/union/PointGeometryUnion.cpp
    functionUses: 0
    functionsReached:
    - getFactory
    linkageType: ''
    returnType: void
    signature: "void PointGeometryUnion::PointGeometryUnion(const geom::Geometry&
      pointGeom_,\n                                       const geom::Geometry& otherGeom_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::overlapEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:39,1
    - Dst: Envelope::isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:43,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:46,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:51,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:52,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:60,1
    - Dst: geos::operation::geounion::OverlapUnion::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: geos::operation::geounion::OverlapUnion::doUnion
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::geounion::OverlapUnion::unionFull
    - geos::operation::geounion::OverlapUnion::combine
    - geos::geom::util::GeometryCombiner::combine
    - Envelope::isNull
    - geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    - geos::operation::geounion::OverlapUnion::overlapEnvelope
    - geos::operation::geounion::OverlapUnion::extractByEnvelope
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::doUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:72,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:73,1
    - Dst: Envelope*::intersection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: geos::operation::geounion::OverlapUnion::overlapEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - Envelope*::intersection
    linkageType: ''
    returnType: Envelope
    signature: Envelope OverlapUnion::overlapEnvelope(const Geometry* geom0, const
      Geometry* geom1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:84,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' unionGeom'
    - ' disjointPolys'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::operation::geounion::OverlapUnion::combine
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - geos::geom::util::GeometryCombiner::combine
    - push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::combine(std::unique_ptr<Geometry>&
      unionGeom, std::vector<std::unique_ptr<Geometry>>& disjointPolys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:95,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:96,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:98,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    - Dst: buildGeometry
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' env'
    - geom
    - ' disjointGeoms'
    argTypes:
    - Envelope
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: geos::operation::geounion::OverlapUnion::extractByEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<Geometry>
    - std::vector::push_back
    - push_back
    - buildGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::clone
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::extractByEnvelope(const Envelope&
      env, const Geometry* geom, std::vector<std::unique_ptr<Geometry>>& disjointGeoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:120,1
    - Dst: Union
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: geos::operation::geounion::OverlapUnion::unionFull
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - Union
    - Geometry*::clone
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionFull(const Geometry* geom0,
      const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:130,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:131,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:132,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: geos::operation::geounion::OverlapUnion::unionBuffer
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - std::move
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::buffer
    - std::vector::push_back
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionBuffer(const Geometry*
      geom0, const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:144,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:146,1
    - Dst: geos::operation::geounion::OverlapUnion::isEqual
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - ' env'
    argTypes:
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::geounion::OverlapUnion::isEqual
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isBorderSegmentsSame(const Geometry* result, const
      Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: geos::operation::geounion::lineSegmentPtrCmp
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool lineSegmentPtrCmp(const LineSegment& a, const LineSegment& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' segs0'
    - ' segs1'
    argTypes:
    - std::vector<LineSegment>
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: geos::operation::geounion::OverlapUnion::isEqual
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isEqual(std::vector<LineSegment>& segs0, std::vector<LineSegment>&
      segs1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:186,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geom0
    - geom1
    - ' env'
    argTypes:
    - Geometry*
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: std::vector<LineSegment>
    signature: std::vector<LineSegment> OverlapUnion::extractBorderSegments(const
      Geometry* geom0, const Geometry* geom1, const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: geos::operation::geounion::intersects
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::geounion::intersects
    linkageType: ''
    returnType: bool
    signature: bool intersects(const Envelope& env, const Coordinate& p0, const Coordinate&
      p1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:203,1
    - Dst: getMinX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:204,1
    - Dst: getMaxX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:205,1
    - Dst: getMinY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:206,1
    - Dst: getMaxY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - ' p'
    argTypes:
    - Envelope
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - geos::operation::geounion::containsProperly
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - geom
    - ' penv'
    - ' psegs'
    argTypes:
    - Geometry*
    - Envelope
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - intersects
    - getAt
    - Geometry*::apply_ro
    - containsProperly
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void OverlapUnion::extractBorderSegments(const Geometry* geom, const
      Envelope& penv, std::vector<LineSegment>& psegs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' env'
    - segs
    argTypes:
    - Envelope
    - std::vector<LineSegment>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: geos::operation::geounion::BorderSegmentFilter::BorderSegmentFilter
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BorderSegmentFilter(const Envelope& env, std::vector<LineSegment>*
      segs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: geos::operation::geounion::BorderSegmentFilter::isDone
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: geos::operation::geounion::BorderSegmentFilter::isGeometryChanged
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: geos::operation::geounion::BorderSegmentFilter::filter_ro
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - containsProperly
    - emplace_back
    - getAt
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::overlapEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:39,1
    - Dst: Envelope::isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:43,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:46,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:51,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:52,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:60,1
    - Dst: geos::operation::geounion::OverlapUnion::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: geos::operation::geounion::OverlapUnion::doUnion
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::geounion::OverlapUnion::unionFull
    - geos::operation::geounion::OverlapUnion::combine
    - geos::geom::util::GeometryCombiner::combine
    - Envelope::isNull
    - geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    - geos::operation::geounion::OverlapUnion::overlapEnvelope
    - geos::operation::geounion::OverlapUnion::extractByEnvelope
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::doUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:72,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:73,1
    - Dst: Envelope*::intersection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: geos::operation::geounion::OverlapUnion::overlapEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - Envelope*::intersection
    linkageType: ''
    returnType: Envelope
    signature: Envelope OverlapUnion::overlapEnvelope(const Geometry* geom0, const
      Geometry* geom1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:84,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' unionGeom'
    - ' disjointPolys'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::operation::geounion::OverlapUnion::combine
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - geos::geom::util::GeometryCombiner::combine
    - push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::combine(std::unique_ptr<Geometry>&
      unionGeom, std::vector<std::unique_ptr<Geometry>>& disjointPolys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:95,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:96,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:98,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    - Dst: buildGeometry
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' env'
    - geom
    - ' disjointGeoms'
    argTypes:
    - Envelope
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: geos::operation::geounion::OverlapUnion::extractByEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<Geometry>
    - std::vector::push_back
    - push_back
    - buildGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::clone
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::extractByEnvelope(const Envelope&
      env, const Geometry* geom, std::vector<std::unique_ptr<Geometry>>& disjointGeoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:120,1
    - Dst: Union
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: geos::operation::geounion::OverlapUnion::unionFull
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - Union
    - Geometry*::clone
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionFull(const Geometry* geom0,
      const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:130,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:131,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:132,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: geos::operation::geounion::OverlapUnion::unionBuffer
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - std::move
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::buffer
    - std::vector::push_back
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionBuffer(const Geometry*
      geom0, const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:144,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:146,1
    - Dst: geos::operation::geounion::OverlapUnion::isEqual
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - ' env'
    argTypes:
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::geounion::OverlapUnion::isEqual
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isBorderSegmentsSame(const Geometry* result, const
      Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: geos::operation::geounion::lineSegmentPtrCmp
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool lineSegmentPtrCmp(const LineSegment& a, const LineSegment& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' segs0'
    - ' segs1'
    argTypes:
    - std::vector<LineSegment>
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: geos::operation::geounion::OverlapUnion::isEqual
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isEqual(std::vector<LineSegment>& segs0, std::vector<LineSegment>&
      segs1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:186,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geom0
    - geom1
    - ' env'
    argTypes:
    - Geometry*
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: std::vector<LineSegment>
    signature: std::vector<LineSegment> OverlapUnion::extractBorderSegments(const
      Geometry* geom0, const Geometry* geom1, const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: geos::operation::geounion::intersects
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::geounion::intersects
    linkageType: ''
    returnType: bool
    signature: bool intersects(const Envelope& env, const Coordinate& p0, const Coordinate&
      p1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:203,1
    - Dst: getMinX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:204,1
    - Dst: getMaxX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:205,1
    - Dst: getMinY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:206,1
    - Dst: getMaxY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - ' p'
    argTypes:
    - Envelope
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 1
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - geos::operation::geounion::containsProperly
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - geom
    - ' penv'
    - ' psegs'
    argTypes:
    - Geometry*
    - Envelope
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - intersects
    - getAt
    - Geometry*::apply_ro
    - containsProperly
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void OverlapUnion::extractBorderSegments(const Geometry* geom, const
      Envelope& penv, std::vector<LineSegment>& psegs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' env'
    - segs
    argTypes:
    - Envelope
    - std::vector<LineSegment>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: geos::operation::geounion::BorderSegmentFilter::BorderSegmentFilter
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BorderSegmentFilter(const Envelope& env, std::vector<LineSegment>*
      segs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: geos::operation::geounion::BorderSegmentFilter::isDone
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: geos::operation::geounion::BorderSegmentFilter::isGeometryChanged
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: geos::operation::geounion::BorderSegmentFilter::filter_ro
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - containsProperly
    - emplace_back
    - getAt
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::overlapEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:39,1
    - Dst: Envelope::isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:43,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:46,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:51,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:52,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:60,1
    - Dst: geos::operation::geounion::OverlapUnion::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: geos::operation::geounion::OverlapUnion::doUnion
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::geounion::OverlapUnion::unionFull
    - geos::operation::geounion::OverlapUnion::combine
    - geos::geom::util::GeometryCombiner::combine
    - Envelope::isNull
    - geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    - geos::operation::geounion::OverlapUnion::overlapEnvelope
    - geos::operation::geounion::OverlapUnion::extractByEnvelope
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::doUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:72,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:73,1
    - Dst: Envelope*::intersection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: geos::operation::geounion::OverlapUnion::overlapEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - Envelope*::intersection
    linkageType: ''
    returnType: Envelope
    signature: Envelope OverlapUnion::overlapEnvelope(const Geometry* geom0, const
      Geometry* geom1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:84,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' unionGeom'
    - ' disjointPolys'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::operation::geounion::OverlapUnion::combine
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - geos::geom::util::GeometryCombiner::combine
    - push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::combine(std::unique_ptr<Geometry>&
      unionGeom, std::vector<std::unique_ptr<Geometry>>& disjointPolys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:95,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:96,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:98,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    - Dst: buildGeometry
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' env'
    - geom
    - ' disjointGeoms'
    argTypes:
    - Envelope
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: geos::operation::geounion::OverlapUnion::extractByEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - std::unique_ptr<Geometry>
    - std::vector::push_back
    - push_back
    - buildGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::clone
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::extractByEnvelope(const Envelope&
      env, const Geometry* geom, std::vector<std::unique_ptr<Geometry>>& disjointGeoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:120,1
    - Dst: Union
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: geos::operation::geounion::OverlapUnion::unionFull
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - Union
    - Geometry*::clone
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionFull(const Geometry* geom0,
      const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:130,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:131,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:132,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: geos::operation::geounion::OverlapUnion::unionBuffer
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - std::move
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::buffer
    - std::vector::push_back
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionBuffer(const Geometry*
      geom0, const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:144,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:146,1
    - Dst: geos::operation::geounion::OverlapUnion::isEqual
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - ' env'
    argTypes:
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::geounion::OverlapUnion::isEqual
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isBorderSegmentsSame(const Geometry* result, const
      Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: geos::operation::geounion::lineSegmentPtrCmp
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool lineSegmentPtrCmp(const LineSegment& a, const LineSegment& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' segs0'
    - ' segs1'
    argTypes:
    - std::vector<LineSegment>
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: geos::operation::geounion::OverlapUnion::isEqual
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isEqual(std::vector<LineSegment>& segs0, std::vector<LineSegment>&
      segs1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:186,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geom0
    - geom1
    - ' env'
    argTypes:
    - Geometry*
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 6
    functionsReached:
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: std::vector<LineSegment>
    signature: std::vector<LineSegment> OverlapUnion::extractBorderSegments(const
      Geometry* geom0, const Geometry* geom1, const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: geos::operation::geounion::intersects
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::geounion::intersects
    linkageType: ''
    returnType: bool
    signature: bool intersects(const Envelope& env, const Coordinate& p0, const Coordinate&
      p1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:203,1
    - Dst: getMinX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:204,1
    - Dst: getMaxX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:205,1
    - Dst: getMinY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:206,1
    - Dst: getMaxY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - ' p'
    argTypes:
    - Envelope
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 2
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - geos::operation::geounion::containsProperly
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - geom
    - ' penv'
    - ' psegs'
    argTypes:
    - Geometry*
    - Envelope
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 6
    functionsReached:
    - intersects
    - getAt
    - Geometry*::apply_ro
    - containsProperly
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void OverlapUnion::extractBorderSegments(const Geometry* geom, const
      Envelope& penv, std::vector<LineSegment>& psegs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' env'
    - segs
    argTypes:
    - Envelope
    - std::vector<LineSegment>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: geos::operation::geounion::BorderSegmentFilter::BorderSegmentFilter
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BorderSegmentFilter(const Envelope& env, std::vector<LineSegment>*
      segs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: geos::operation::geounion::BorderSegmentFilter::isDone
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: geos::operation::geounion::BorderSegmentFilter::isGeometryChanged
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: geos::operation::geounion::BorderSegmentFilter::filter_ro
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - containsProperly
    - emplace_back
    - getAt
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::overlapEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:39,1
    - Dst: Envelope::isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:43,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:46,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:51,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:52,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:60,1
    - Dst: geos::operation::geounion::OverlapUnion::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: geos::operation::geounion::OverlapUnion::doUnion
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::geounion::OverlapUnion::unionFull
    - geos::operation::geounion::OverlapUnion::combine
    - geos::geom::util::GeometryCombiner::combine
    - Envelope::isNull
    - geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    - geos::operation::geounion::OverlapUnion::overlapEnvelope
    - geos::operation::geounion::OverlapUnion::extractByEnvelope
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::doUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:72,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:73,1
    - Dst: Envelope*::intersection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: geos::operation::geounion::OverlapUnion::overlapEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - Envelope*::intersection
    linkageType: ''
    returnType: Envelope
    signature: Envelope OverlapUnion::overlapEnvelope(const Geometry* geom0, const
      Geometry* geom1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:84,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' unionGeom'
    - ' disjointPolys'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::operation::geounion::OverlapUnion::combine
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - geos::geom::util::GeometryCombiner::combine
    - push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::combine(std::unique_ptr<Geometry>&
      unionGeom, std::vector<std::unique_ptr<Geometry>>& disjointPolys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:95,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:96,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:98,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    - Dst: buildGeometry
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' env'
    - geom
    - ' disjointGeoms'
    argTypes:
    - Envelope
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: geos::operation::geounion::OverlapUnion::extractByEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<Geometry>
    - std::vector::push_back
    - push_back
    - buildGeometry
    - Geometry*::getNumGeometries
    - Geometry*::getEnvelopeInternal
    - Geometry*::clone
    - Geometry*::getGeometryN
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::extractByEnvelope(const Envelope&
      env, const Geometry* geom, std::vector<std::unique_ptr<Geometry>>& disjointGeoms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:119,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:120,1
    - Dst: Union
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: geos::operation::geounion::OverlapUnion::unionFull
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - Union
    - Geometry*::clone
    - Geometry*::getNumGeometries
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionFull(const Geometry* geom0,
      const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getFactory
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:130,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:131,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:132,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:134,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:135,1
    - Dst: GeometryFactory*::createGeometryCollection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:136,1
    - Dst: std::unique_ptr::buffer
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: geos::operation::geounion::OverlapUnion::unionBuffer
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - Geometry*::getFactory
    - std::move
    - GeometryFactory*::createGeometryCollection
    - std::unique_ptr::buffer
    - std::vector::push_back
    - Geometry*::clone
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::unionBuffer(const Geometry*
      geom0, const Geometry* geom1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:144,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:146,1
    - Dst: geos::operation::geounion::OverlapUnion::isEqual
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - ' env'
    argTypes:
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::geounion::OverlapUnion::isEqual
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isBorderSegmentsSame(const Geometry* result, const
      Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTo
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - LineSegment
    - LineSegment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: geos::operation::geounion::lineSegmentPtrCmp
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - compareTo
    linkageType: ''
    returnType: bool
    signature: bool lineSegmentPtrCmp(const LineSegment& a, const LineSegment& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:161,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:164,1
    - Dst: std::sort
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: begin
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: end
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:165,1
    - Dst: size
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ' segs0'
    - ' segs1'
    argTypes:
    - std::vector<LineSegment>
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: geos::operation::geounion::OverlapUnion::isEqual
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - size
    - begin
    - std::sort
    - end
    linkageType: ''
    returnType: bool
    signature: bool OverlapUnion::isEqual(std::vector<LineSegment>& segs0, std::vector<LineSegment>&
      segs1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:186,1
    - Dst: geos::operation::geounion::OverlapUnion::extractBorderSegments
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geom0
    - geom1
    - ' env'
    argTypes:
    - Geometry*
    - Geometry*
    - Envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 8
    functionsReached:
    - geos::operation::geounion::OverlapUnion::extractBorderSegments
    linkageType: ''
    returnType: std::vector<LineSegment>
    signature: std::vector<LineSegment> OverlapUnion::extractBorderSegments(const
      Geometry* geom0, const Geometry* geom1, const Envelope& env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    - Dst: geos::operation::geounion::intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: geos::operation::geounion::intersects
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::geounion::intersects
    linkageType: ''
    returnType: bool
    signature: bool intersects(const Envelope& env, const Coordinate& p0, const Coordinate&
      p1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:203,1
    - Dst: getMinX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:204,1
    - Dst: getMaxX
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:205,1
    - Dst: getMinY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:206,1
    - Dst: getMaxY
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - ' env'
    - ' p'
    argTypes:
    - Envelope
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 3
    functionsReached:
    - isNull
    - getMinX
    - getMaxX
    - getMinY
    - getMaxY
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    - Dst: geos::operation::geounion::containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' env'
    - ' p0'
    - ' p1'
    argTypes:
    - Envelope
    - Coordinate
    - Coordinate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: geos::operation::geounion::containsProperly
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 4
    functionsReached:
    - geos::operation::geounion::containsProperly
    linkageType: ''
    returnType: bool
    signature: bool containsProperly(const Envelope& env, const Coordinate& p0, const
      Coordinate& p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    - Dst: Geometry*::apply_ro
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - geom
    - ' penv'
    - ' psegs'
    argTypes:
    - Geometry*
    - Envelope
    - std::vector<LineSegment>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 258
    functionName: geos::operation::geounion::OverlapUnion::extractBorderSegments
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 8
    functionsReached:
    - intersects
    - getAt
    - Geometry*::apply_ro
    - containsProperly
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void OverlapUnion::extractBorderSegments(const Geometry* geom, const
      Envelope& penv, std::vector<LineSegment>& psegs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' env'
    - segs
    argTypes:
    - Envelope
    - std::vector<LineSegment>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: geos::operation::geounion::BorderSegmentFilter::BorderSegmentFilter
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BorderSegmentFilter(const Envelope& env, std::vector<LineSegment>*
      segs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: geos::operation::geounion::BorderSegmentFilter::isDone
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: geos::operation::geounion::BorderSegmentFilter::isGeometryChanged
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGeometryChanged() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:245,1
    - Dst: getAt
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:246,1
    - Dst: intersects
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: containsProperly
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:247,1
    - Dst: emplace_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' seq'
    - i
    argTypes:
    - CoordinateSequence
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: geos::operation::geounion::BorderSegmentFilter::filter_ro
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - intersects
    - containsProperly
    - emplace_back
    - getAt
    linkageType: ''
    returnType: void
    signature: void filter_ro(const CoordinateSequence& seq, std::size_t i) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geos::operation::geounion::OverlapUnion::overlapEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:39,1
    - Dst: Envelope::isNull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:43,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:46,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:51,1
    - Dst: geos::operation::geounion::OverlapUnion::extractByEnvelope
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:52,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:55,1
    - Dst: geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: std::unique_ptr::get
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:56,1
    - Dst: geos::operation::geounion::OverlapUnion::unionFull
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:60,1
    - Dst: geos::operation::geounion::OverlapUnion::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: geos::operation::geounion::OverlapUnion::doUnion
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - geos::operation::geounion::OverlapUnion::unionFull
    - geos::operation::geounion::OverlapUnion::combine
    - geos::geom::util::GeometryCombiner::combine
    - Envelope::isNull
    - geos::operation::geounion::OverlapUnion::isBorderSegmentsSame
    - geos::operation::geounion::OverlapUnion::overlapEnvelope
    - geos::operation::geounion::OverlapUnion::extractByEnvelope
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::doUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:72,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:73,1
    - Dst: Envelope*::intersection
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - geom0
    - geom1
    argTypes:
    - Geometry*
    - Geometry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: geos::operation::geounion::OverlapUnion::overlapEnvelope
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 5
    functionsReached:
    - Geometry*::getEnvelopeInternal
    - Envelope*::intersection
    linkageType: ''
    returnType: Envelope
    signature: Envelope OverlapUnion::overlapEnvelope(const Geometry* geom0, const
      Geometry* geom1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:83,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:84,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:86,1
    - Dst: geos::geom::util::GeometryCombiner::combine
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    - Dst: std::move
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' unionGeom'
    - ' disjointPolys'
    argTypes:
    - std::unique_ptr<Geometry>
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: geos::operation::geounion::OverlapUnion::combine
    functionSourceFile: /src/geos/src/operation/union/OverlapUnion.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - geos::geom::util::GeometryCombiner::combine
    - push_back
    - empty
    linkageType: ''
    returnType: std::unique_ptr<Geometry>
    signature: std::unique_ptr<Geometry> OverlapUnion::combine(std::unique_ptr<Geometry>&
      unionGeom, std::vector<std::unique_ptr<Geometry>>& disjointPolys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Geometry*::getNumGeometries
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:95,1
    - Dst: Geometry*::getGeometryN
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:96,1
    - Dst: Geometry*::getEnvelopeInternal
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:98,1
    - Dst: push_back
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: Geometry*::clone
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:101,1
    - Dst: std::unique_ptr<Geometry>
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    - Dst: buildGeometry
      Src: /src/geos/src/operation/union/OverlapUnion.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' env'
    - geom
    - ' disjointGeoms'
    argTypes:
    - Envelope
    - Geometry*
    - std::vector<std::unique_ptr<Geometry>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: geos::operation::geounion::OverlapUnion::extractByEnvelope
    functionSour